diff --git a/docs/chuffed_rs/all.html b/docs/chuffed_rs/all.html index fbfbbe08a1..736b6f274f 100644 --- a/docs/chuffed_rs/all.html +++ b/docs/chuffed_rs/all.html @@ -1 +1 @@ -List of all items in this crate

List of all items

Structs

Unions

Functions

Type Aliases

Constants

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

List of all items

Structs

Unions

Functions

Type Aliases

Constants

\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.ConLevel_CL_BND.html b/docs/chuffed_rs/bindings/constant.ConLevel_CL_BND.html index c9548e6c47..e11a19654e 100644 --- a/docs/chuffed_rs/bindings/constant.ConLevel_CL_BND.html +++ b/docs/chuffed_rs/bindings/constant.ConLevel_CL_BND.html @@ -1 +1 @@ -ConLevel_CL_BND in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::ConLevel_CL_BND

source ·
pub const ConLevel_CL_BND: ConLevel = 2;
\ No newline at end of file +ConLevel_CL_BND in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::ConLevel_CL_BND

source ·
pub const ConLevel_CL_BND: ConLevel = 2;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.ConLevel_CL_DEF.html b/docs/chuffed_rs/bindings/constant.ConLevel_CL_DEF.html index 96506307d8..c0e34877d1 100644 --- a/docs/chuffed_rs/bindings/constant.ConLevel_CL_DEF.html +++ b/docs/chuffed_rs/bindings/constant.ConLevel_CL_DEF.html @@ -1 +1 @@ -ConLevel_CL_DEF in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::ConLevel_CL_DEF

source ·
pub const ConLevel_CL_DEF: ConLevel = 0;
\ No newline at end of file +ConLevel_CL_DEF in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::ConLevel_CL_DEF

source ·
pub const ConLevel_CL_DEF: ConLevel = 0;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.ConLevel_CL_DOM.html b/docs/chuffed_rs/bindings/constant.ConLevel_CL_DOM.html index 3ca7d6eedf..67b1bd01f9 100644 --- a/docs/chuffed_rs/bindings/constant.ConLevel_CL_DOM.html +++ b/docs/chuffed_rs/bindings/constant.ConLevel_CL_DOM.html @@ -1 +1 @@ -ConLevel_CL_DOM in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::ConLevel_CL_DOM

source ·
pub const ConLevel_CL_DOM: ConLevel = 3;
\ No newline at end of file +ConLevel_CL_DOM in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::ConLevel_CL_DOM

source ·
pub const ConLevel_CL_DOM: ConLevel = 3;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.ConLevel_CL_VAL.html b/docs/chuffed_rs/bindings/constant.ConLevel_CL_VAL.html index b0893b5c89..6826829ee5 100644 --- a/docs/chuffed_rs/bindings/constant.ConLevel_CL_VAL.html +++ b/docs/chuffed_rs/bindings/constant.ConLevel_CL_VAL.html @@ -1 +1 @@ -ConLevel_CL_VAL in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::ConLevel_CL_VAL

source ·
pub const ConLevel_CL_VAL: ConLevel = 1;
\ No newline at end of file +ConLevel_CL_VAL in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::ConLevel_CL_VAL

source ·
pub const ConLevel_CL_VAL: ConLevel = 1;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.IntVar_max_limit.html b/docs/chuffed_rs/bindings/constant.IntVar_max_limit.html index 9b8ebb9ba2..f3d2f6c8e9 100644 --- a/docs/chuffed_rs/bindings/constant.IntVar_max_limit.html +++ b/docs/chuffed_rs/bindings/constant.IntVar_max_limit.html @@ -1 +1 @@ -IntVar_max_limit in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::IntVar_max_limit

source ·
pub const IntVar_max_limit: c_int = 500000000;
\ No newline at end of file +IntVar_max_limit in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::IntVar_max_limit

source ·
pub const IntVar_max_limit: c_int = 500000000;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.IntVar_min_limit.html b/docs/chuffed_rs/bindings/constant.IntVar_min_limit.html index 34841822b8..d751db2325 100644 --- a/docs/chuffed_rs/bindings/constant.IntVar_min_limit.html +++ b/docs/chuffed_rs/bindings/constant.IntVar_min_limit.html @@ -1 +1 @@ -IntVar_min_limit in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::IntVar_min_limit

source ·
pub const IntVar_min_limit: c_int = - 500000000;
\ No newline at end of file +IntVar_min_limit in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::IntVar_min_limit

source ·
pub const IntVar_min_limit: c_int = - 500000000;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.PreferredVal_PV_MAX.html b/docs/chuffed_rs/bindings/constant.PreferredVal_PV_MAX.html index 6b107c5e91..d125ad64a2 100644 --- a/docs/chuffed_rs/bindings/constant.PreferredVal_PV_MAX.html +++ b/docs/chuffed_rs/bindings/constant.PreferredVal_PV_MAX.html @@ -1 +1 @@ -PreferredVal_PV_MAX in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::PreferredVal_PV_MAX

source ·
pub const PreferredVal_PV_MAX: PreferredVal = 1;
\ No newline at end of file +PreferredVal_PV_MAX in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::PreferredVal_PV_MAX

source ·
pub const PreferredVal_PV_MAX: PreferredVal = 1;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.PreferredVal_PV_MEDIAN.html b/docs/chuffed_rs/bindings/constant.PreferredVal_PV_MEDIAN.html index 03810af020..b149ad0efb 100644 --- a/docs/chuffed_rs/bindings/constant.PreferredVal_PV_MEDIAN.html +++ b/docs/chuffed_rs/bindings/constant.PreferredVal_PV_MEDIAN.html @@ -1 +1 @@ -PreferredVal_PV_MEDIAN in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::PreferredVal_PV_MEDIAN

source ·
pub const PreferredVal_PV_MEDIAN: PreferredVal = 4;
\ No newline at end of file +PreferredVal_PV_MEDIAN in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::PreferredVal_PV_MEDIAN

source ·
pub const PreferredVal_PV_MEDIAN: PreferredVal = 4;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.PreferredVal_PV_MIN.html b/docs/chuffed_rs/bindings/constant.PreferredVal_PV_MIN.html index b5a4321bb1..6fad59542f 100644 --- a/docs/chuffed_rs/bindings/constant.PreferredVal_PV_MIN.html +++ b/docs/chuffed_rs/bindings/constant.PreferredVal_PV_MIN.html @@ -1 +1 @@ -PreferredVal_PV_MIN in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::PreferredVal_PV_MIN

source ·
pub const PreferredVal_PV_MIN: PreferredVal = 0;
\ No newline at end of file +PreferredVal_PV_MIN in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::PreferredVal_PV_MIN

source ·
pub const PreferredVal_PV_MIN: PreferredVal = 0;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.PreferredVal_PV_SPLIT_MAX.html b/docs/chuffed_rs/bindings/constant.PreferredVal_PV_SPLIT_MAX.html index 91f7e4baf0..b76a0f40ba 100644 --- a/docs/chuffed_rs/bindings/constant.PreferredVal_PV_SPLIT_MAX.html +++ b/docs/chuffed_rs/bindings/constant.PreferredVal_PV_SPLIT_MAX.html @@ -1 +1 @@ -PreferredVal_PV_SPLIT_MAX in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::PreferredVal_PV_SPLIT_MAX

source ·
pub const PreferredVal_PV_SPLIT_MAX: PreferredVal = 3;
\ No newline at end of file +PreferredVal_PV_SPLIT_MAX in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::PreferredVal_PV_SPLIT_MAX

source ·
pub const PreferredVal_PV_SPLIT_MAX: PreferredVal = 3;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.PreferredVal_PV_SPLIT_MIN.html b/docs/chuffed_rs/bindings/constant.PreferredVal_PV_SPLIT_MIN.html index def2019e38..2fa3492e34 100644 --- a/docs/chuffed_rs/bindings/constant.PreferredVal_PV_SPLIT_MIN.html +++ b/docs/chuffed_rs/bindings/constant.PreferredVal_PV_SPLIT_MIN.html @@ -1 +1 @@ -PreferredVal_PV_SPLIT_MIN in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::PreferredVal_PV_SPLIT_MIN

source ·
pub const PreferredVal_PV_SPLIT_MIN: PreferredVal = 2;
\ No newline at end of file +PreferredVal_PV_SPLIT_MIN in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::PreferredVal_PV_SPLIT_MIN

source ·
pub const PreferredVal_PV_SPLIT_MIN: PreferredVal = 2;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.ValBranch_VAL_DEFAULT.html b/docs/chuffed_rs/bindings/constant.ValBranch_VAL_DEFAULT.html index 74a9cc9252..ec00c3a090 100644 --- a/docs/chuffed_rs/bindings/constant.ValBranch_VAL_DEFAULT.html +++ b/docs/chuffed_rs/bindings/constant.ValBranch_VAL_DEFAULT.html @@ -1 +1 @@ -ValBranch_VAL_DEFAULT in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::ValBranch_VAL_DEFAULT

source ·
pub const ValBranch_VAL_DEFAULT: ValBranch = 0;
\ No newline at end of file +ValBranch_VAL_DEFAULT in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::ValBranch_VAL_DEFAULT

source ·
pub const ValBranch_VAL_DEFAULT: ValBranch = 0;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.ValBranch_VAL_MAX.html b/docs/chuffed_rs/bindings/constant.ValBranch_VAL_MAX.html index 7ef0876769..9819241ae6 100644 --- a/docs/chuffed_rs/bindings/constant.ValBranch_VAL_MAX.html +++ b/docs/chuffed_rs/bindings/constant.ValBranch_VAL_MAX.html @@ -1 +1 @@ -ValBranch_VAL_MAX in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::ValBranch_VAL_MAX

source ·
pub const ValBranch_VAL_MAX: ValBranch = 2;
\ No newline at end of file +ValBranch_VAL_MAX in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::ValBranch_VAL_MAX

source ·
pub const ValBranch_VAL_MAX: ValBranch = 2;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.ValBranch_VAL_MEDIAN.html b/docs/chuffed_rs/bindings/constant.ValBranch_VAL_MEDIAN.html index 848c05b959..8876e36702 100644 --- a/docs/chuffed_rs/bindings/constant.ValBranch_VAL_MEDIAN.html +++ b/docs/chuffed_rs/bindings/constant.ValBranch_VAL_MEDIAN.html @@ -1 +1 @@ -ValBranch_VAL_MEDIAN in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::ValBranch_VAL_MEDIAN

source ·
pub const ValBranch_VAL_MEDIAN: ValBranch = 4;
\ No newline at end of file +ValBranch_VAL_MEDIAN in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::ValBranch_VAL_MEDIAN

source ·
pub const ValBranch_VAL_MEDIAN: ValBranch = 4;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.ValBranch_VAL_MIDDLE.html b/docs/chuffed_rs/bindings/constant.ValBranch_VAL_MIDDLE.html index 7b7066a877..fa2c6ee4db 100644 --- a/docs/chuffed_rs/bindings/constant.ValBranch_VAL_MIDDLE.html +++ b/docs/chuffed_rs/bindings/constant.ValBranch_VAL_MIDDLE.html @@ -1 +1 @@ -ValBranch_VAL_MIDDLE in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::ValBranch_VAL_MIDDLE

source ·
pub const ValBranch_VAL_MIDDLE: ValBranch = 3;
\ No newline at end of file +ValBranch_VAL_MIDDLE in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::ValBranch_VAL_MIDDLE

source ·
pub const ValBranch_VAL_MIDDLE: ValBranch = 3;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.ValBranch_VAL_MIN.html b/docs/chuffed_rs/bindings/constant.ValBranch_VAL_MIN.html index 0c33308937..94eba7adf9 100644 --- a/docs/chuffed_rs/bindings/constant.ValBranch_VAL_MIN.html +++ b/docs/chuffed_rs/bindings/constant.ValBranch_VAL_MIN.html @@ -1 +1 @@ -ValBranch_VAL_MIN in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::ValBranch_VAL_MIN

source ·
pub const ValBranch_VAL_MIN: ValBranch = 1;
\ No newline at end of file +ValBranch_VAL_MIN in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::ValBranch_VAL_MIN

source ·
pub const ValBranch_VAL_MIN: ValBranch = 1;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.ValBranch_VAL_RANDOM.html b/docs/chuffed_rs/bindings/constant.ValBranch_VAL_RANDOM.html index 49a2697006..6995c795e6 100644 --- a/docs/chuffed_rs/bindings/constant.ValBranch_VAL_RANDOM.html +++ b/docs/chuffed_rs/bindings/constant.ValBranch_VAL_RANDOM.html @@ -1 +1 @@ -ValBranch_VAL_RANDOM in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::ValBranch_VAL_RANDOM

source ·
pub const ValBranch_VAL_RANDOM: ValBranch = 7;
\ No newline at end of file +ValBranch_VAL_RANDOM in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::ValBranch_VAL_RANDOM

source ·
pub const ValBranch_VAL_RANDOM: ValBranch = 7;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.ValBranch_VAL_SPLIT_MAX.html b/docs/chuffed_rs/bindings/constant.ValBranch_VAL_SPLIT_MAX.html index 85b048d1be..c297303b4d 100644 --- a/docs/chuffed_rs/bindings/constant.ValBranch_VAL_SPLIT_MAX.html +++ b/docs/chuffed_rs/bindings/constant.ValBranch_VAL_SPLIT_MAX.html @@ -1 +1 @@ -ValBranch_VAL_SPLIT_MAX in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::ValBranch_VAL_SPLIT_MAX

source ·
pub const ValBranch_VAL_SPLIT_MAX: ValBranch = 6;
\ No newline at end of file +ValBranch_VAL_SPLIT_MAX in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::ValBranch_VAL_SPLIT_MAX

source ·
pub const ValBranch_VAL_SPLIT_MAX: ValBranch = 6;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.ValBranch_VAL_SPLIT_MIN.html b/docs/chuffed_rs/bindings/constant.ValBranch_VAL_SPLIT_MIN.html index 8ce98289aa..66dcb7be00 100644 --- a/docs/chuffed_rs/bindings/constant.ValBranch_VAL_SPLIT_MIN.html +++ b/docs/chuffed_rs/bindings/constant.ValBranch_VAL_SPLIT_MIN.html @@ -1 +1 @@ -ValBranch_VAL_SPLIT_MIN in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::ValBranch_VAL_SPLIT_MIN

source ·
pub const ValBranch_VAL_SPLIT_MIN: ValBranch = 5;
\ No newline at end of file +ValBranch_VAL_SPLIT_MIN in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::ValBranch_VAL_SPLIT_MIN

source ·
pub const ValBranch_VAL_SPLIT_MIN: ValBranch = 5;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.VarBranch_VAR_ACTIVITY.html b/docs/chuffed_rs/bindings/constant.VarBranch_VAR_ACTIVITY.html index 0f6fb98519..d36ba53b53 100644 --- a/docs/chuffed_rs/bindings/constant.VarBranch_VAR_ACTIVITY.html +++ b/docs/chuffed_rs/bindings/constant.VarBranch_VAR_ACTIVITY.html @@ -1 +1 @@ -VarBranch_VAR_ACTIVITY in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarBranch_VAR_ACTIVITY

source ·
pub const VarBranch_VAR_ACTIVITY: VarBranch = 14;
\ No newline at end of file +VarBranch_VAR_ACTIVITY in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarBranch_VAR_ACTIVITY

source ·
pub const VarBranch_VAR_ACTIVITY: VarBranch = 14;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.VarBranch_VAR_DEFAULT.html b/docs/chuffed_rs/bindings/constant.VarBranch_VAR_DEFAULT.html index 668ae387ad..e9ed1af314 100644 --- a/docs/chuffed_rs/bindings/constant.VarBranch_VAR_DEFAULT.html +++ b/docs/chuffed_rs/bindings/constant.VarBranch_VAR_DEFAULT.html @@ -1 +1 @@ -VarBranch_VAR_DEFAULT in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarBranch_VAR_DEFAULT

source ·
pub const VarBranch_VAR_DEFAULT: VarBranch = 0;
\ No newline at end of file +VarBranch_VAR_DEFAULT in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarBranch_VAR_DEFAULT

source ·
pub const VarBranch_VAR_DEFAULT: VarBranch = 0;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.VarBranch_VAR_DEGREE_MAX.html b/docs/chuffed_rs/bindings/constant.VarBranch_VAR_DEGREE_MAX.html index db02b32253..95aac4a11f 100644 --- a/docs/chuffed_rs/bindings/constant.VarBranch_VAR_DEGREE_MAX.html +++ b/docs/chuffed_rs/bindings/constant.VarBranch_VAR_DEGREE_MAX.html @@ -1 +1 @@ -VarBranch_VAR_DEGREE_MAX in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarBranch_VAR_DEGREE_MAX

source ·
pub const VarBranch_VAR_DEGREE_MAX: VarBranch = 9;
\ No newline at end of file +VarBranch_VAR_DEGREE_MAX in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarBranch_VAR_DEGREE_MAX

source ·
pub const VarBranch_VAR_DEGREE_MAX: VarBranch = 9;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.VarBranch_VAR_DEGREE_MIN.html b/docs/chuffed_rs/bindings/constant.VarBranch_VAR_DEGREE_MIN.html index d68b99b2af..447cdafc81 100644 --- a/docs/chuffed_rs/bindings/constant.VarBranch_VAR_DEGREE_MIN.html +++ b/docs/chuffed_rs/bindings/constant.VarBranch_VAR_DEGREE_MIN.html @@ -1 +1 @@ -VarBranch_VAR_DEGREE_MIN in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarBranch_VAR_DEGREE_MIN

source ·
pub const VarBranch_VAR_DEGREE_MIN: VarBranch = 8;
\ No newline at end of file +VarBranch_VAR_DEGREE_MIN in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarBranch_VAR_DEGREE_MIN

source ·
pub const VarBranch_VAR_DEGREE_MIN: VarBranch = 8;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.VarBranch_VAR_INORDER.html b/docs/chuffed_rs/bindings/constant.VarBranch_VAR_INORDER.html index 6f31fd8b0a..7a4a093948 100644 --- a/docs/chuffed_rs/bindings/constant.VarBranch_VAR_INORDER.html +++ b/docs/chuffed_rs/bindings/constant.VarBranch_VAR_INORDER.html @@ -1 +1 @@ -VarBranch_VAR_INORDER in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarBranch_VAR_INORDER

source ·
pub const VarBranch_VAR_INORDER: VarBranch = 1;
\ No newline at end of file +VarBranch_VAR_INORDER in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarBranch_VAR_INORDER

source ·
pub const VarBranch_VAR_INORDER: VarBranch = 1;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.VarBranch_VAR_MAX_MAX.html b/docs/chuffed_rs/bindings/constant.VarBranch_VAR_MAX_MAX.html index fd7dfa6ccb..94416ed370 100644 --- a/docs/chuffed_rs/bindings/constant.VarBranch_VAR_MAX_MAX.html +++ b/docs/chuffed_rs/bindings/constant.VarBranch_VAR_MAX_MAX.html @@ -1 +1 @@ -VarBranch_VAR_MAX_MAX in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarBranch_VAR_MAX_MAX

source ·
pub const VarBranch_VAR_MAX_MAX: VarBranch = 7;
\ No newline at end of file +VarBranch_VAR_MAX_MAX in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarBranch_VAR_MAX_MAX

source ·
pub const VarBranch_VAR_MAX_MAX: VarBranch = 7;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.VarBranch_VAR_MAX_MIN.html b/docs/chuffed_rs/bindings/constant.VarBranch_VAR_MAX_MIN.html index bf9390bc02..c7af3d9090 100644 --- a/docs/chuffed_rs/bindings/constant.VarBranch_VAR_MAX_MIN.html +++ b/docs/chuffed_rs/bindings/constant.VarBranch_VAR_MAX_MIN.html @@ -1 +1 @@ -VarBranch_VAR_MAX_MIN in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarBranch_VAR_MAX_MIN

source ·
pub const VarBranch_VAR_MAX_MIN: VarBranch = 6;
\ No newline at end of file +VarBranch_VAR_MAX_MIN in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarBranch_VAR_MAX_MIN

source ·
pub const VarBranch_VAR_MAX_MIN: VarBranch = 6;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.VarBranch_VAR_MIN_MAX.html b/docs/chuffed_rs/bindings/constant.VarBranch_VAR_MIN_MAX.html index 91fbcc7581..6134f8887f 100644 --- a/docs/chuffed_rs/bindings/constant.VarBranch_VAR_MIN_MAX.html +++ b/docs/chuffed_rs/bindings/constant.VarBranch_VAR_MIN_MAX.html @@ -1 +1 @@ -VarBranch_VAR_MIN_MAX in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarBranch_VAR_MIN_MAX

source ·
pub const VarBranch_VAR_MIN_MAX: VarBranch = 5;
\ No newline at end of file +VarBranch_VAR_MIN_MAX in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarBranch_VAR_MIN_MAX

source ·
pub const VarBranch_VAR_MIN_MAX: VarBranch = 5;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.VarBranch_VAR_MIN_MIN.html b/docs/chuffed_rs/bindings/constant.VarBranch_VAR_MIN_MIN.html index 7e51d3c14a..3153da36b4 100644 --- a/docs/chuffed_rs/bindings/constant.VarBranch_VAR_MIN_MIN.html +++ b/docs/chuffed_rs/bindings/constant.VarBranch_VAR_MIN_MIN.html @@ -1 +1 @@ -VarBranch_VAR_MIN_MIN in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarBranch_VAR_MIN_MIN

source ·
pub const VarBranch_VAR_MIN_MIN: VarBranch = 4;
\ No newline at end of file +VarBranch_VAR_MIN_MIN in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarBranch_VAR_MIN_MIN

source ·
pub const VarBranch_VAR_MIN_MIN: VarBranch = 4;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.VarBranch_VAR_PSEUDO_COST.html b/docs/chuffed_rs/bindings/constant.VarBranch_VAR_PSEUDO_COST.html index 4813d8ec32..27988dbcd6 100644 --- a/docs/chuffed_rs/bindings/constant.VarBranch_VAR_PSEUDO_COST.html +++ b/docs/chuffed_rs/bindings/constant.VarBranch_VAR_PSEUDO_COST.html @@ -1 +1 @@ -VarBranch_VAR_PSEUDO_COST in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarBranch_VAR_PSEUDO_COST

source ·
pub const VarBranch_VAR_PSEUDO_COST: VarBranch = 13;
\ No newline at end of file +VarBranch_VAR_PSEUDO_COST in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarBranch_VAR_PSEUDO_COST

source ·
pub const VarBranch_VAR_PSEUDO_COST: VarBranch = 13;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.VarBranch_VAR_RANDOM.html b/docs/chuffed_rs/bindings/constant.VarBranch_VAR_RANDOM.html index c1f2910b83..b3a17e58dc 100644 --- a/docs/chuffed_rs/bindings/constant.VarBranch_VAR_RANDOM.html +++ b/docs/chuffed_rs/bindings/constant.VarBranch_VAR_RANDOM.html @@ -1 +1 @@ -VarBranch_VAR_RANDOM in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarBranch_VAR_RANDOM

source ·
pub const VarBranch_VAR_RANDOM: VarBranch = 15;
\ No newline at end of file +VarBranch_VAR_RANDOM in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarBranch_VAR_RANDOM

source ·
pub const VarBranch_VAR_RANDOM: VarBranch = 15;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.VarBranch_VAR_REDUCED_COST.html b/docs/chuffed_rs/bindings/constant.VarBranch_VAR_REDUCED_COST.html index 4b57c0f609..1b5b28f960 100644 --- a/docs/chuffed_rs/bindings/constant.VarBranch_VAR_REDUCED_COST.html +++ b/docs/chuffed_rs/bindings/constant.VarBranch_VAR_REDUCED_COST.html @@ -1 +1 @@ -VarBranch_VAR_REDUCED_COST in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarBranch_VAR_REDUCED_COST

source ·
pub const VarBranch_VAR_REDUCED_COST: VarBranch = 12;
\ No newline at end of file +VarBranch_VAR_REDUCED_COST in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarBranch_VAR_REDUCED_COST

source ·
pub const VarBranch_VAR_REDUCED_COST: VarBranch = 12;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.VarBranch_VAR_REGRET_MAX_MAX.html b/docs/chuffed_rs/bindings/constant.VarBranch_VAR_REGRET_MAX_MAX.html index 0518d40e68..5ebabf366f 100644 --- a/docs/chuffed_rs/bindings/constant.VarBranch_VAR_REGRET_MAX_MAX.html +++ b/docs/chuffed_rs/bindings/constant.VarBranch_VAR_REGRET_MAX_MAX.html @@ -1 +1 @@ -VarBranch_VAR_REGRET_MAX_MAX in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarBranch_VAR_REGRET_MAX_MAX

source ·
pub const VarBranch_VAR_REGRET_MAX_MAX: VarBranch = 11;
\ No newline at end of file +VarBranch_VAR_REGRET_MAX_MAX in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarBranch_VAR_REGRET_MAX_MAX

source ·
pub const VarBranch_VAR_REGRET_MAX_MAX: VarBranch = 11;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.VarBranch_VAR_REGRET_MIN_MAX.html b/docs/chuffed_rs/bindings/constant.VarBranch_VAR_REGRET_MIN_MAX.html index 0c5e78a93a..12ec3aa931 100644 --- a/docs/chuffed_rs/bindings/constant.VarBranch_VAR_REGRET_MIN_MAX.html +++ b/docs/chuffed_rs/bindings/constant.VarBranch_VAR_REGRET_MIN_MAX.html @@ -1 +1 @@ -VarBranch_VAR_REGRET_MIN_MAX in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarBranch_VAR_REGRET_MIN_MAX

source ·
pub const VarBranch_VAR_REGRET_MIN_MAX: VarBranch = 10;
\ No newline at end of file +VarBranch_VAR_REGRET_MIN_MAX in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarBranch_VAR_REGRET_MIN_MAX

source ·
pub const VarBranch_VAR_REGRET_MIN_MAX: VarBranch = 10;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.VarBranch_VAR_SIZE_MAX.html b/docs/chuffed_rs/bindings/constant.VarBranch_VAR_SIZE_MAX.html index 314dcc6fe0..2891a01e04 100644 --- a/docs/chuffed_rs/bindings/constant.VarBranch_VAR_SIZE_MAX.html +++ b/docs/chuffed_rs/bindings/constant.VarBranch_VAR_SIZE_MAX.html @@ -1 +1 @@ -VarBranch_VAR_SIZE_MAX in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarBranch_VAR_SIZE_MAX

source ·
pub const VarBranch_VAR_SIZE_MAX: VarBranch = 3;
\ No newline at end of file +VarBranch_VAR_SIZE_MAX in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarBranch_VAR_SIZE_MAX

source ·
pub const VarBranch_VAR_SIZE_MAX: VarBranch = 3;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.VarBranch_VAR_SIZE_MIN.html b/docs/chuffed_rs/bindings/constant.VarBranch_VAR_SIZE_MIN.html index 67eba822f5..4b1620dc67 100644 --- a/docs/chuffed_rs/bindings/constant.VarBranch_VAR_SIZE_MIN.html +++ b/docs/chuffed_rs/bindings/constant.VarBranch_VAR_SIZE_MIN.html @@ -1 +1 @@ -VarBranch_VAR_SIZE_MIN in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarBranch_VAR_SIZE_MIN

source ·
pub const VarBranch_VAR_SIZE_MIN: VarBranch = 2;
\ No newline at end of file +VarBranch_VAR_SIZE_MIN in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarBranch_VAR_SIZE_MIN

source ·
pub const VarBranch_VAR_SIZE_MIN: VarBranch = 2;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.VarType_BOOL_VAR.html b/docs/chuffed_rs/bindings/constant.VarType_BOOL_VAR.html index 5379261026..fe996175ca 100644 --- a/docs/chuffed_rs/bindings/constant.VarType_BOOL_VAR.html +++ b/docs/chuffed_rs/bindings/constant.VarType_BOOL_VAR.html @@ -1 +1 @@ -VarType_BOOL_VAR in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarType_BOOL_VAR

source ·
pub const VarType_BOOL_VAR: VarType = 0;
\ No newline at end of file +VarType_BOOL_VAR in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarType_BOOL_VAR

source ·
pub const VarType_BOOL_VAR: VarType = 0;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.VarType_INT_VAR.html b/docs/chuffed_rs/bindings/constant.VarType_INT_VAR.html index edf9f0f0a5..651203ca8c 100644 --- a/docs/chuffed_rs/bindings/constant.VarType_INT_VAR.html +++ b/docs/chuffed_rs/bindings/constant.VarType_INT_VAR.html @@ -1 +1 @@ -VarType_INT_VAR in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarType_INT_VAR

source ·
pub const VarType_INT_VAR: VarType = 1;
\ No newline at end of file +VarType_INT_VAR in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarType_INT_VAR

source ·
pub const VarType_INT_VAR: VarType = 1;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.VarType_INT_VAR_EL.html b/docs/chuffed_rs/bindings/constant.VarType_INT_VAR_EL.html index ba0c21fd94..96ffafcdd7 100644 --- a/docs/chuffed_rs/bindings/constant.VarType_INT_VAR_EL.html +++ b/docs/chuffed_rs/bindings/constant.VarType_INT_VAR_EL.html @@ -1 +1 @@ -VarType_INT_VAR_EL in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarType_INT_VAR_EL

source ·
pub const VarType_INT_VAR_EL: VarType = 2;
\ No newline at end of file +VarType_INT_VAR_EL in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarType_INT_VAR_EL

source ·
pub const VarType_INT_VAR_EL: VarType = 2;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.VarType_INT_VAR_LL.html b/docs/chuffed_rs/bindings/constant.VarType_INT_VAR_LL.html index 79a7defb61..571b66bfc7 100644 --- a/docs/chuffed_rs/bindings/constant.VarType_INT_VAR_LL.html +++ b/docs/chuffed_rs/bindings/constant.VarType_INT_VAR_LL.html @@ -1 +1 @@ -VarType_INT_VAR_LL in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarType_INT_VAR_LL

source ·
pub const VarType_INT_VAR_LL: VarType = 3;
\ No newline at end of file +VarType_INT_VAR_LL in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarType_INT_VAR_LL

source ·
pub const VarType_INT_VAR_LL: VarType = 3;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/constant.VarType_INT_VAR_SL.html b/docs/chuffed_rs/bindings/constant.VarType_INT_VAR_SL.html index 5901b2066b..4a23539b49 100644 --- a/docs/chuffed_rs/bindings/constant.VarType_INT_VAR_SL.html +++ b/docs/chuffed_rs/bindings/constant.VarType_INT_VAR_SL.html @@ -1 +1 @@ -VarType_INT_VAR_SL in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarType_INT_VAR_SL

source ·
pub const VarType_INT_VAR_SL: VarType = 4;
\ No newline at end of file +VarType_INT_VAR_SL in chuffed_rs::bindings - Rust

Constant chuffed_rs::bindings::VarType_INT_VAR_SL

source ·
pub const VarType_INT_VAR_SL: VarType = 4;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/fn.BoolView_attach.html b/docs/chuffed_rs/bindings/fn.BoolView_attach.html index 72be48322e..e5db823786 100644 --- a/docs/chuffed_rs/bindings/fn.BoolView_attach.html +++ b/docs/chuffed_rs/bindings/fn.BoolView_attach.html @@ -1,4 +1,4 @@ -BoolView_attach in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::BoolView_attach

source ·
pub unsafe extern "C" fn BoolView_attach(
+BoolView_attach in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::BoolView_attach

source ·
pub unsafe extern "C" fn BoolView_attach(
     this: *const BoolView,
     p: *mut Propagator,
     pos: c_int,
diff --git a/docs/chuffed_rs/bindings/fn.BoolView_detach.html b/docs/chuffed_rs/bindings/fn.BoolView_detach.html
index 584e61b26a..dfa04af24b 100644
--- a/docs/chuffed_rs/bindings/fn.BoolView_detach.html
+++ b/docs/chuffed_rs/bindings/fn.BoolView_detach.html
@@ -1,4 +1,4 @@
-BoolView_detach in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::BoolView_detach

source ·
pub unsafe extern "C" fn BoolView_detach(
+BoolView_detach in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::BoolView_detach

source ·
pub unsafe extern "C" fn BoolView_detach(
     this: *mut BoolView,
     p: *mut Propagator,
     pos: c_int,
diff --git a/docs/chuffed_rs/bindings/fn.BoolView_getScore.html b/docs/chuffed_rs/bindings/fn.BoolView_getScore.html
index d5bbd063c0..6b8051de7d 100644
--- a/docs/chuffed_rs/bindings/fn.BoolView_getScore.html
+++ b/docs/chuffed_rs/bindings/fn.BoolView_getScore.html
@@ -1,4 +1,4 @@
-BoolView_getScore in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::BoolView_getScore

source ·
pub unsafe extern "C" fn BoolView_getScore(
+BoolView_getScore in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::BoolView_getScore

source ·
pub unsafe extern "C" fn BoolView_getScore(
     this: *mut c_void,
     vb: VarBranch
 ) -> f64
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/fn.Clause_debug.html b/docs/chuffed_rs/bindings/fn.Clause_debug.html index 02170420a0..6d3ab3c64c 100644 --- a/docs/chuffed_rs/bindings/fn.Clause_debug.html +++ b/docs/chuffed_rs/bindings/fn.Clause_debug.html @@ -1 +1 @@ -Clause_debug in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::Clause_debug

source ·
pub unsafe extern "C" fn Clause_debug(this: *const Clause)
\ No newline at end of file +Clause_debug in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::Clause_debug

source ·
pub unsafe extern "C" fn Clause_debug(this: *const Clause)
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/fn.IntVar_IntVar.html b/docs/chuffed_rs/bindings/fn.IntVar_IntVar.html index a89610e137..f9ededed2a 100644 --- a/docs/chuffed_rs/bindings/fn.IntVar_IntVar.html +++ b/docs/chuffed_rs/bindings/fn.IntVar_IntVar.html @@ -1,4 +1,4 @@ -IntVar_IntVar in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::IntVar_IntVar

source ·
pub unsafe extern "C" fn IntVar_IntVar(
+IntVar_IntVar in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::IntVar_IntVar

source ·
pub unsafe extern "C" fn IntVar_IntVar(
     this: *mut IntVar,
     min: c_int,
     max: c_int
diff --git a/docs/chuffed_rs/bindings/fn.IntVar_allowSet.html b/docs/chuffed_rs/bindings/fn.IntVar_allowSet.html
index ab206b6a1f..d8ce9b6025 100644
--- a/docs/chuffed_rs/bindings/fn.IntVar_allowSet.html
+++ b/docs/chuffed_rs/bindings/fn.IntVar_allowSet.html
@@ -1,4 +1,4 @@
-IntVar_allowSet in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::IntVar_allowSet

source ·
pub unsafe extern "C" fn IntVar_allowSet(
+IntVar_allowSet in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::IntVar_allowSet

source ·
pub unsafe extern "C" fn IntVar_allowSet(
     this: *mut c_void,
     v: *mut vec<c_int>,
     r: Reason,
diff --git a/docs/chuffed_rs/bindings/fn.IntVar_attach.html b/docs/chuffed_rs/bindings/fn.IntVar_attach.html
index 99b43c7d05..0efd20e611 100644
--- a/docs/chuffed_rs/bindings/fn.IntVar_attach.html
+++ b/docs/chuffed_rs/bindings/fn.IntVar_attach.html
@@ -1,4 +1,4 @@
-IntVar_attach in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::IntVar_attach

source ·
pub unsafe extern "C" fn IntVar_attach(
+IntVar_attach in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::IntVar_attach

source ·
pub unsafe extern "C" fn IntVar_attach(
     this: *mut c_void,
     p: *mut Propagator,
     pos: c_int,
diff --git a/docs/chuffed_rs/bindings/fn.IntVar_branch.html b/docs/chuffed_rs/bindings/fn.IntVar_branch.html
index 0d26c465c1..030134f77d 100644
--- a/docs/chuffed_rs/bindings/fn.IntVar_branch.html
+++ b/docs/chuffed_rs/bindings/fn.IntVar_branch.html
@@ -1,3 +1,3 @@
-IntVar_branch in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::IntVar_branch

source ·
pub unsafe extern "C" fn IntVar_branch(
+IntVar_branch in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::IntVar_branch

source ·
pub unsafe extern "C" fn IntVar_branch(
     this: *mut c_void
 ) -> *mut DecInfo
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/fn.IntVar_getScore.html b/docs/chuffed_rs/bindings/fn.IntVar_getScore.html index e7fb32f20f..441069764d 100644 --- a/docs/chuffed_rs/bindings/fn.IntVar_getScore.html +++ b/docs/chuffed_rs/bindings/fn.IntVar_getScore.html @@ -1,4 +1,4 @@ -IntVar_getScore in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::IntVar_getScore

source ·
pub unsafe extern "C" fn IntVar_getScore(
+IntVar_getScore in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::IntVar_getScore

source ·
pub unsafe extern "C" fn IntVar_getScore(
     this: *mut c_void,
     vb: VarBranch
 ) -> f64
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/fn.IntVar_initVals.html b/docs/chuffed_rs/bindings/fn.IntVar_initVals.html index 2ce14f4385..97e41f6787 100644 --- a/docs/chuffed_rs/bindings/fn.IntVar_initVals.html +++ b/docs/chuffed_rs/bindings/fn.IntVar_initVals.html @@ -1,4 +1,4 @@ -IntVar_initVals in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::IntVar_initVals

source ·
pub unsafe extern "C" fn IntVar_initVals(
+IntVar_initVals in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::IntVar_initVals

source ·
pub unsafe extern "C" fn IntVar_initVals(
     this: *mut IntVar,
     optional: bool
 )
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/fn.IntVar_remVal.html b/docs/chuffed_rs/bindings/fn.IntVar_remVal.html index 6fbcd6de07..fb8396fe70 100644 --- a/docs/chuffed_rs/bindings/fn.IntVar_remVal.html +++ b/docs/chuffed_rs/bindings/fn.IntVar_remVal.html @@ -1,4 +1,4 @@ -IntVar_remVal in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::IntVar_remVal

source ·
pub unsafe extern "C" fn IntVar_remVal(
+IntVar_remVal in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::IntVar_remVal

source ·
pub unsafe extern "C" fn IntVar_remVal(
     this: *mut c_void,
     v: i64,
     r: Reason,
diff --git a/docs/chuffed_rs/bindings/fn.IntVar_setMax.html b/docs/chuffed_rs/bindings/fn.IntVar_setMax.html
index d38105a141..76c2a2bfea 100644
--- a/docs/chuffed_rs/bindings/fn.IntVar_setMax.html
+++ b/docs/chuffed_rs/bindings/fn.IntVar_setMax.html
@@ -1,4 +1,4 @@
-IntVar_setMax in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::IntVar_setMax

source ·
pub unsafe extern "C" fn IntVar_setMax(
+IntVar_setMax in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::IntVar_setMax

source ·
pub unsafe extern "C" fn IntVar_setMax(
     this: *mut c_void,
     v: i64,
     r: Reason,
diff --git a/docs/chuffed_rs/bindings/fn.IntVar_setMin.html b/docs/chuffed_rs/bindings/fn.IntVar_setMin.html
index 6b004d07dc..c643846fec 100644
--- a/docs/chuffed_rs/bindings/fn.IntVar_setMin.html
+++ b/docs/chuffed_rs/bindings/fn.IntVar_setMin.html
@@ -1,4 +1,4 @@
-IntVar_setMin in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::IntVar_setMin

source ·
pub unsafe extern "C" fn IntVar_setMin(
+IntVar_setMin in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::IntVar_setMin

source ·
pub unsafe extern "C" fn IntVar_setMin(
     this: *mut c_void,
     v: i64,
     r: Reason,
diff --git a/docs/chuffed_rs/bindings/fn.IntVar_setVal.html b/docs/chuffed_rs/bindings/fn.IntVar_setVal.html
index b1f4ee75e5..932de51b64 100644
--- a/docs/chuffed_rs/bindings/fn.IntVar_setVal.html
+++ b/docs/chuffed_rs/bindings/fn.IntVar_setVal.html
@@ -1,4 +1,4 @@
-IntVar_setVal in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::IntVar_setVal

source ·
pub unsafe extern "C" fn IntVar_setVal(
+IntVar_setVal in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::IntVar_setVal

source ·
pub unsafe extern "C" fn IntVar_setVal(
     this: *mut c_void,
     v: i64,
     r: Reason,
diff --git a/docs/chuffed_rs/bindings/fn.IntVar_simplifyWatches.html b/docs/chuffed_rs/bindings/fn.IntVar_simplifyWatches.html
index c561a21b37..efa616cc8b 100644
--- a/docs/chuffed_rs/bindings/fn.IntVar_simplifyWatches.html
+++ b/docs/chuffed_rs/bindings/fn.IntVar_simplifyWatches.html
@@ -1,3 +1,3 @@
-IntVar_simplifyWatches in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::IntVar_simplifyWatches

source ·
pub unsafe extern "C" fn IntVar_simplifyWatches(
+IntVar_simplifyWatches in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::IntVar_simplifyWatches

source ·
pub unsafe extern "C" fn IntVar_simplifyWatches(
     this: *mut IntVar
 ) -> c_int
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/fn.IntVar_specialiseToEL.html b/docs/chuffed_rs/bindings/fn.IntVar_specialiseToEL.html index 39d5efc077..69bd87c088 100644 --- a/docs/chuffed_rs/bindings/fn.IntVar_specialiseToEL.html +++ b/docs/chuffed_rs/bindings/fn.IntVar_specialiseToEL.html @@ -1 +1 @@ -IntVar_specialiseToEL in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::IntVar_specialiseToEL

source ·
pub unsafe extern "C" fn IntVar_specialiseToEL(this: *mut IntVar)
\ No newline at end of file +IntVar_specialiseToEL in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::IntVar_specialiseToEL

source ·
pub unsafe extern "C" fn IntVar_specialiseToEL(this: *mut IntVar)
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/fn.IntVar_specialiseToLL.html b/docs/chuffed_rs/bindings/fn.IntVar_specialiseToLL.html index 9233469e02..c9bb532b96 100644 --- a/docs/chuffed_rs/bindings/fn.IntVar_specialiseToLL.html +++ b/docs/chuffed_rs/bindings/fn.IntVar_specialiseToLL.html @@ -1 +1 @@ -IntVar_specialiseToLL in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::IntVar_specialiseToLL

source ·
pub unsafe extern "C" fn IntVar_specialiseToLL(this: *mut IntVar)
\ No newline at end of file +IntVar_specialiseToLL in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::IntVar_specialiseToLL

source ·
pub unsafe extern "C" fn IntVar_specialiseToLL(this: *mut IntVar)
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/fn.IntVar_specialiseToSL.html b/docs/chuffed_rs/bindings/fn.IntVar_specialiseToSL.html index ceaf216e75..4a9e434bfe 100644 --- a/docs/chuffed_rs/bindings/fn.IntVar_specialiseToSL.html +++ b/docs/chuffed_rs/bindings/fn.IntVar_specialiseToSL.html @@ -1,4 +1,4 @@ -IntVar_specialiseToSL in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::IntVar_specialiseToSL

source ·
pub unsafe extern "C" fn IntVar_specialiseToSL(
+IntVar_specialiseToSL in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::IntVar_specialiseToSL

source ·
pub unsafe extern "C" fn IntVar_specialiseToSL(
     this: *mut IntVar,
     values: *mut vec<c_int>
 )
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/fn.IntVar_updateFixed.html b/docs/chuffed_rs/bindings/fn.IntVar_updateFixed.html index 2ee7ac90d1..8eb38b1a06 100644 --- a/docs/chuffed_rs/bindings/fn.IntVar_updateFixed.html +++ b/docs/chuffed_rs/bindings/fn.IntVar_updateFixed.html @@ -1 +1 @@ -IntVar_updateFixed in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::IntVar_updateFixed

source ·
pub unsafe extern "C" fn IntVar_updateFixed(this: *mut IntVar)
\ No newline at end of file +IntVar_updateFixed in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::IntVar_updateFixed

source ·
pub unsafe extern "C" fn IntVar_updateFixed(this: *mut IntVar)
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/fn.IntVar_updateMax.html b/docs/chuffed_rs/bindings/fn.IntVar_updateMax.html index ef997619ad..84754d775b 100644 --- a/docs/chuffed_rs/bindings/fn.IntVar_updateMax.html +++ b/docs/chuffed_rs/bindings/fn.IntVar_updateMax.html @@ -1 +1 @@ -IntVar_updateMax in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::IntVar_updateMax

source ·
pub unsafe extern "C" fn IntVar_updateMax(this: *mut IntVar)
\ No newline at end of file +IntVar_updateMax in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::IntVar_updateMax

source ·
pub unsafe extern "C" fn IntVar_updateMax(this: *mut IntVar)
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/fn.IntVar_updateMin.html b/docs/chuffed_rs/bindings/fn.IntVar_updateMin.html index 5ae820ef44..e9f1155046 100644 --- a/docs/chuffed_rs/bindings/fn.IntVar_updateMin.html +++ b/docs/chuffed_rs/bindings/fn.IntVar_updateMin.html @@ -1 +1 @@ -IntVar_updateMin in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::IntVar_updateMin

source ·
pub unsafe extern "C" fn IntVar_updateMin(this: *mut IntVar)
\ No newline at end of file +IntVar_updateMin in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::IntVar_updateMin

source ·
pub unsafe extern "C" fn IntVar_updateMin(this: *mut IntVar)
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/fn.IntVar_wakePropagators.html b/docs/chuffed_rs/bindings/fn.IntVar_wakePropagators.html index 5ac074eddf..6b0643de98 100644 --- a/docs/chuffed_rs/bindings/fn.IntVar_wakePropagators.html +++ b/docs/chuffed_rs/bindings/fn.IntVar_wakePropagators.html @@ -1 +1 @@ -IntVar_wakePropagators in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::IntVar_wakePropagators

source ·
pub unsafe extern "C" fn IntVar_wakePropagators(this: *mut IntVar)
\ No newline at end of file +IntVar_wakePropagators in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::IntVar_wakePropagators

source ·
pub unsafe extern "C" fn IntVar_wakePropagators(this: *mut IntVar)
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/fn.all_different.html b/docs/chuffed_rs/bindings/fn.all_different.html index 39f3409262..f196b548cb 100644 --- a/docs/chuffed_rs/bindings/fn.all_different.html +++ b/docs/chuffed_rs/bindings/fn.all_different.html @@ -1,4 +1,4 @@ -all_different in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::all_different

source ·
pub unsafe extern "C" fn all_different(
+all_different in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::all_different

source ·
pub unsafe extern "C" fn all_different(
     x: *mut vec<*mut IntVar>,
     cl: ConLevel
 )
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/fn.branch.html b/docs/chuffed_rs/bindings/fn.branch.html index 250fbc8e50..17b85ababa 100644 --- a/docs/chuffed_rs/bindings/fn.branch.html +++ b/docs/chuffed_rs/bindings/fn.branch.html @@ -1,4 +1,4 @@ -branch in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::branch

source ·
pub unsafe extern "C" fn branch(
+branch in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::branch

source ·
pub unsafe extern "C" fn branch(
     x: vec<*mut Branching>,
     var_branch: VarBranch,
     val_branch: ValBranch
diff --git a/docs/chuffed_rs/bindings/fn.branch_IntVar.html b/docs/chuffed_rs/bindings/fn.branch_IntVar.html
index 15fbf22730..d36543fa5c 100644
--- a/docs/chuffed_rs/bindings/fn.branch_IntVar.html
+++ b/docs/chuffed_rs/bindings/fn.branch_IntVar.html
@@ -1,4 +1,4 @@
-branch_IntVar in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::branch_IntVar

source ·
pub unsafe extern "C" fn branch_IntVar(
+branch_IntVar in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::branch_IntVar

source ·
pub unsafe extern "C" fn branch_IntVar(
     x: *mut vec<*mut IntVar>,
     var_branch: VarBranch,
     val_branch: ValBranch
diff --git a/docs/chuffed_rs/bindings/fn.createVar.html b/docs/chuffed_rs/bindings/fn.createVar.html
index 4fd1942d10..4f453f263b 100644
--- a/docs/chuffed_rs/bindings/fn.createVar.html
+++ b/docs/chuffed_rs/bindings/fn.createVar.html
@@ -1,4 +1,4 @@
-createVar in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::createVar

source ·
pub unsafe extern "C" fn createVar(
+createVar in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::createVar

source ·
pub unsafe extern "C" fn createVar(
     x: *mut *mut IntVar,
     min: c_int,
     max: c_int,
diff --git a/docs/chuffed_rs/bindings/fn.createVars.html b/docs/chuffed_rs/bindings/fn.createVars.html
index 7b3f63b0e6..e59d138fa1 100644
--- a/docs/chuffed_rs/bindings/fn.createVars.html
+++ b/docs/chuffed_rs/bindings/fn.createVars.html
@@ -1,4 +1,4 @@
-createVars in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::createVars

source ·
pub unsafe extern "C" fn createVars(
+createVars in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::createVars

source ·
pub unsafe extern "C" fn createVars(
     x: *mut vec<*mut IntVar>,
     n: c_int,
     min: c_int,
diff --git a/docs/chuffed_rs/bindings/fn.createVars1.html b/docs/chuffed_rs/bindings/fn.createVars1.html
index c20615419c..c06ce79b1e 100644
--- a/docs/chuffed_rs/bindings/fn.createVars1.html
+++ b/docs/chuffed_rs/bindings/fn.createVars1.html
@@ -1,4 +1,4 @@
-createVars1 in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::createVars1

source ·
pub unsafe extern "C" fn createVars1(
+createVars1 in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::createVars1

source ·
pub unsafe extern "C" fn createVars1(
     x: *mut vec<vec<*mut IntVar>>,
     n: c_int,
     m: c_int,
diff --git a/docs/chuffed_rs/bindings/fn.createVars2.html b/docs/chuffed_rs/bindings/fn.createVars2.html
index dfc79d409a..3573e3e48c 100644
--- a/docs/chuffed_rs/bindings/fn.createVars2.html
+++ b/docs/chuffed_rs/bindings/fn.createVars2.html
@@ -1 +1 @@
-createVars2 in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::createVars2

source ·
pub unsafe extern "C" fn createVars2(x: *mut vec<BoolView>, n: c_int)
\ No newline at end of file +createVars2 in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::createVars2

source ·
pub unsafe extern "C" fn createVars2(x: *mut vec<BoolView>, n: c_int)
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/fn.createVars3.html b/docs/chuffed_rs/bindings/fn.createVars3.html index 27815e9233..db79601c4a 100644 --- a/docs/chuffed_rs/bindings/fn.createVars3.html +++ b/docs/chuffed_rs/bindings/fn.createVars3.html @@ -1,4 +1,4 @@ -createVars3 in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::createVars3

source ·
pub unsafe extern "C" fn createVars3(
+createVars3 in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::createVars3

source ·
pub unsafe extern "C" fn createVars3(
     x: *mut vec<vec<BoolView>>,
     n: c_int,
     m: c_int
diff --git a/docs/chuffed_rs/bindings/fn.destroy_vec_intvar.html b/docs/chuffed_rs/bindings/fn.destroy_vec_intvar.html
index 02337c3090..9e3eea8d7e 100644
--- a/docs/chuffed_rs/bindings/fn.destroy_vec_intvar.html
+++ b/docs/chuffed_rs/bindings/fn.destroy_vec_intvar.html
@@ -1 +1 @@
-destroy_vec_intvar in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::destroy_vec_intvar

source ·
pub unsafe extern "C" fn destroy_vec_intvar(v: *mut vec<*mut IntVar>)
\ No newline at end of file +destroy_vec_intvar in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::destroy_vec_intvar

source ·
pub unsafe extern "C" fn destroy_vec_intvar(v: *mut vec<*mut IntVar>)
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/fn.get_idx.html b/docs/chuffed_rs/bindings/fn.get_idx.html index 904bafff3a..adb746e2ab 100644 --- a/docs/chuffed_rs/bindings/fn.get_idx.html +++ b/docs/chuffed_rs/bindings/fn.get_idx.html @@ -1,4 +1,4 @@ -get_idx in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::get_idx

source ·
pub unsafe extern "C" fn get_idx(
+get_idx in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::get_idx

source ·
pub unsafe extern "C" fn get_idx(
     x: *mut vec<*mut IntVar>,
     i: c_int
 ) -> c_int
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/fn.int_plus.html b/docs/chuffed_rs/bindings/fn.int_plus.html index fba522eed0..402d1b51cf 100644 --- a/docs/chuffed_rs/bindings/fn.int_plus.html +++ b/docs/chuffed_rs/bindings/fn.int_plus.html @@ -1,4 +1,4 @@ -int_plus in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::int_plus

source ·
pub unsafe extern "C" fn int_plus(
+int_plus in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::int_plus

source ·
pub unsafe extern "C" fn int_plus(
     x: *mut IntVar,
     y: *mut IntVar,
     z: *mut IntVar
diff --git a/docs/chuffed_rs/bindings/fn.make_vec_intvar.html b/docs/chuffed_rs/bindings/fn.make_vec_intvar.html
index 8182f622ca..890541a62c 100644
--- a/docs/chuffed_rs/bindings/fn.make_vec_intvar.html
+++ b/docs/chuffed_rs/bindings/fn.make_vec_intvar.html
@@ -1 +1 @@
-make_vec_intvar in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::make_vec_intvar

source ·
pub unsafe extern "C" fn make_vec_intvar() -> *mut vec<*mut IntVar>
\ No newline at end of file +make_vec_intvar in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::make_vec_intvar

source ·
pub unsafe extern "C" fn make_vec_intvar() -> *mut vec<*mut IntVar>
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/fn.new_dummy_problem.html b/docs/chuffed_rs/bindings/fn.new_dummy_problem.html index c31ecdf014..4a5ad74189 100644 --- a/docs/chuffed_rs/bindings/fn.new_dummy_problem.html +++ b/docs/chuffed_rs/bindings/fn.new_dummy_problem.html @@ -1 +1 @@ -new_dummy_problem in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::new_dummy_problem

source ·
pub unsafe extern "C" fn new_dummy_problem() -> *mut DummyProblem
\ No newline at end of file +new_dummy_problem in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::new_dummy_problem

source ·
pub unsafe extern "C" fn new_dummy_problem() -> *mut DummyProblem
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/fn.new_xyz_problem.html b/docs/chuffed_rs/bindings/fn.new_xyz_problem.html index 198f5dfbc1..e68917ba3a 100644 --- a/docs/chuffed_rs/bindings/fn.new_xyz_problem.html +++ b/docs/chuffed_rs/bindings/fn.new_xyz_problem.html @@ -1 +1 @@ -new_xyz_problem in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::new_xyz_problem

source ·
pub unsafe extern "C" fn new_xyz_problem(n: c_int) -> *mut c_void
\ No newline at end of file +new_xyz_problem in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::new_xyz_problem

source ·
pub unsafe extern "C" fn new_xyz_problem(n: c_int) -> *mut c_void
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/fn.output_vars.html b/docs/chuffed_rs/bindings/fn.output_vars.html index 8e727fb6d8..b97b8f07e6 100644 --- a/docs/chuffed_rs/bindings/fn.output_vars.html +++ b/docs/chuffed_rs/bindings/fn.output_vars.html @@ -1 +1 @@ -output_vars in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::output_vars

source ·
pub unsafe extern "C" fn output_vars(v: *mut vec<*mut Branching>)
\ No newline at end of file +output_vars in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::output_vars

source ·
pub unsafe extern "C" fn output_vars(v: *mut vec<*mut Branching>)
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/fn.output_vars1.html b/docs/chuffed_rs/bindings/fn.output_vars1.html index 3949ebd4d7..8d38005f71 100644 --- a/docs/chuffed_rs/bindings/fn.output_vars1.html +++ b/docs/chuffed_rs/bindings/fn.output_vars1.html @@ -1 +1 @@ -output_vars1 in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::output_vars1

source ·
pub unsafe extern "C" fn output_vars1(v: *mut vec<*mut IntVar>)
\ No newline at end of file +output_vars1 in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::output_vars1

source ·
pub unsafe extern "C" fn output_vars1(v: *mut vec<*mut IntVar>)
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/fn.p_addVars.html b/docs/chuffed_rs/bindings/fn.p_addVars.html index 8baee28d1a..a62d6e9517 100644 --- a/docs/chuffed_rs/bindings/fn.p_addVars.html +++ b/docs/chuffed_rs/bindings/fn.p_addVars.html @@ -1,4 +1,4 @@ -p_addVars in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::p_addVars

source ·
pub unsafe extern "C" fn p_addVars(
+p_addVars in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::p_addVars

source ·
pub unsafe extern "C" fn p_addVars(
     p: *mut DummyProblem,
     _searchVars: *mut vec<*mut IntVar>
 )
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/fn.p_print.html b/docs/chuffed_rs/bindings/fn.p_print.html index 1a87d2df7b..f87dbb5379 100644 --- a/docs/chuffed_rs/bindings/fn.p_print.html +++ b/docs/chuffed_rs/bindings/fn.p_print.html @@ -1 +1 @@ -p_print in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::p_print

source ·
pub unsafe extern "C" fn p_print(p: *mut DummyProblem)
\ No newline at end of file +p_print in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::p_print

source ·
pub unsafe extern "C" fn p_print(p: *mut DummyProblem)
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/fn.p_setcallback.html b/docs/chuffed_rs/bindings/fn.p_setcallback.html index b2e0145471..24246e4b36 100644 --- a/docs/chuffed_rs/bindings/fn.p_setcallback.html +++ b/docs/chuffed_rs/bindings/fn.p_setcallback.html @@ -1,4 +1,4 @@ -p_setcallback in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::p_setcallback

source ·
pub unsafe extern "C" fn p_setcallback(
+p_setcallback in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::p_setcallback

source ·
pub unsafe extern "C" fn p_setcallback(
     p: *mut DummyProblem,
     _callback: Option<unsafe extern "C" fn(arg1: *mut vec<*mut IntVar>)>
 )
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/fn.solve_xyz.html b/docs/chuffed_rs/bindings/fn.solve_xyz.html index ab59dd2ddc..86d5c97f08 100644 --- a/docs/chuffed_rs/bindings/fn.solve_xyz.html +++ b/docs/chuffed_rs/bindings/fn.solve_xyz.html @@ -1 +1 @@ -solve_xyz in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::solve_xyz

source ·
pub unsafe extern "C" fn solve_xyz(p: *mut c_void)
\ No newline at end of file +solve_xyz in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::solve_xyz

source ·
pub unsafe extern "C" fn solve_xyz(p: *mut c_void)
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/fn.var_sym_break.html b/docs/chuffed_rs/bindings/fn.var_sym_break.html index 4799bb2a20..62a1ca845a 100644 --- a/docs/chuffed_rs/bindings/fn.var_sym_break.html +++ b/docs/chuffed_rs/bindings/fn.var_sym_break.html @@ -1 +1 @@ -var_sym_break in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::var_sym_break

source ·
pub unsafe extern "C" fn var_sym_break(x: *mut vec<*mut IntVar>)
\ No newline at end of file +var_sym_break in chuffed_rs::bindings - Rust

Function chuffed_rs::bindings::var_sym_break

source ·
pub unsafe extern "C" fn var_sym_break(x: *mut vec<*mut IntVar>)
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/index.html b/docs/chuffed_rs/bindings/index.html index c3a46d6218..20371e96c3 100644 --- a/docs/chuffed_rs/bindings/index.html +++ b/docs/chuffed_rs/bindings/index.html @@ -1 +1 @@ -chuffed_rs::bindings - Rust

Module chuffed_rs::bindings

source ·

Structs§

Constants§

Functions§

Type Aliases§

Unions§

\ No newline at end of file +chuffed_rs::bindings - Rust

Module chuffed_rs::bindings

source ·

Structs§

Constants§

Functions§

Type Aliases§

Unions§

\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/struct.BoolView.html b/docs/chuffed_rs/bindings/struct.BoolView.html index faf5fe7129..56d0e0bb9f 100644 --- a/docs/chuffed_rs/bindings/struct.BoolView.html +++ b/docs/chuffed_rs/bindings/struct.BoolView.html @@ -1,4 +1,4 @@ -BoolView in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::BoolView

source ·
#[repr(C)]
pub struct BoolView { +BoolView in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::BoolView

source ·
#[repr(C)]
pub struct BoolView { pub _base: Var, pub v: c_int, pub s: bool, diff --git a/docs/chuffed_rs/bindings/struct.Branching.html b/docs/chuffed_rs/bindings/struct.Branching.html index 911dc7e080..04bcca0242 100644 --- a/docs/chuffed_rs/bindings/struct.Branching.html +++ b/docs/chuffed_rs/bindings/struct.Branching.html @@ -1,4 +1,4 @@ -Branching in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::Branching

source ·
#[repr(C)]
pub struct Branching { +Branching in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::Branching

source ·
#[repr(C)]
pub struct Branching { pub vtable_: *const Branching__bindgen_vtable, }

Fields§

§vtable_: *const Branching__bindgen_vtable

Trait Implementations§

source§

impl Clone for Branching

source§

fn clone(&self) -> Branching

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 Branching

source§

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

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

impl Copy for Branching

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 diff --git a/docs/chuffed_rs/bindings/struct.Branching__bindgen_vtable.html b/docs/chuffed_rs/bindings/struct.Branching__bindgen_vtable.html index 29bf137294..2caf1aef34 100644 --- a/docs/chuffed_rs/bindings/struct.Branching__bindgen_vtable.html +++ b/docs/chuffed_rs/bindings/struct.Branching__bindgen_vtable.html @@ -1,4 +1,4 @@ -Branching__bindgen_vtable in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::Branching__bindgen_vtable

source ·
#[repr(C)]
pub struct Branching__bindgen_vtable(/* private fields */);

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +Branching__bindgen_vtable in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::Branching__bindgen_vtable

source ·
#[repr(C)]
pub struct Branching__bindgen_vtable(/* private fields */);

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.

diff --git a/docs/chuffed_rs/bindings/struct.Clause.html b/docs/chuffed_rs/bindings/struct.Clause.html index 8d09d35b2c..63494ce3f0 100644 --- a/docs/chuffed_rs/bindings/struct.Clause.html +++ b/docs/chuffed_rs/bindings/struct.Clause.html @@ -1,4 +1,4 @@ -Clause in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::Clause

source ·
#[repr(C)]
pub struct Clause { +Clause in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::Clause

source ·
#[repr(C)]
pub struct Clause { pub _bitfield_align_1: [u32; 0], pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4]>, pub data: __IncompleteArrayField<Lit>, diff --git a/docs/chuffed_rs/bindings/struct.DecInfo.html b/docs/chuffed_rs/bindings/struct.DecInfo.html index 499c010a2e..50243cd9a7 100644 --- a/docs/chuffed_rs/bindings/struct.DecInfo.html +++ b/docs/chuffed_rs/bindings/struct.DecInfo.html @@ -1,4 +1,4 @@ -DecInfo in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::DecInfo

source ·
#[repr(C)]
pub struct DecInfo { +DecInfo in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::DecInfo

source ·
#[repr(C)]
pub struct DecInfo { pub var: *mut c_void, pub val: c_int, pub type_: c_int, diff --git a/docs/chuffed_rs/bindings/struct.DummyProblem.html b/docs/chuffed_rs/bindings/struct.DummyProblem.html index 4f873fe1a6..7d75289c00 100644 --- a/docs/chuffed_rs/bindings/struct.DummyProblem.html +++ b/docs/chuffed_rs/bindings/struct.DummyProblem.html @@ -1,4 +1,4 @@ -DummyProblem in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::DummyProblem

source ·
#[repr(C)]
pub struct DummyProblem { +DummyProblem in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::DummyProblem

source ·
#[repr(C)]
pub struct DummyProblem { pub searchVars: *mut vec<*mut IntVar>, pub callback: Option<unsafe extern "C" fn(arg1: *mut vec<*mut IntVar>)>, }

Fields§

§searchVars: *mut vec<*mut IntVar>§callback: Option<unsafe extern "C" fn(arg1: *mut vec<*mut IntVar>)>

Trait Implementations§

source§

impl Clone for DummyProblem

source§

fn clone(&self) -> DummyProblem

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 DummyProblem

source§

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

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

impl Copy for DummyProblem

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where diff --git a/docs/chuffed_rs/bindings/struct.IntVar.html b/docs/chuffed_rs/bindings/struct.IntVar.html index 1fd86aa0a3..011c4c606f 100644 --- a/docs/chuffed_rs/bindings/struct.IntVar.html +++ b/docs/chuffed_rs/bindings/struct.IntVar.html @@ -1,4 +1,4 @@ -IntVar in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::IntVar

source ·
#[repr(C)]
pub struct IntVar {
Show 19 fields +IntVar in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::IntVar

source ·
#[repr(C)]
pub struct IntVar {
Show 19 fields pub _base: Var, pub var_id: c_int, pub min: Tint, diff --git a/docs/chuffed_rs/bindings/struct.IntVar_PropInfo.html b/docs/chuffed_rs/bindings/struct.IntVar_PropInfo.html index 40739c1baf..0e949a10bc 100644 --- a/docs/chuffed_rs/bindings/struct.IntVar_PropInfo.html +++ b/docs/chuffed_rs/bindings/struct.IntVar_PropInfo.html @@ -1,4 +1,4 @@ -IntVar_PropInfo in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::IntVar_PropInfo

source ·
#[repr(C)]
pub struct IntVar_PropInfo { +IntVar_PropInfo in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::IntVar_PropInfo

source ·
#[repr(C)]
pub struct IntVar_PropInfo { pub p: *mut Propagator, pub pos: c_int, pub eflags: c_int, diff --git a/docs/chuffed_rs/bindings/struct.IntVar_iterator.html b/docs/chuffed_rs/bindings/struct.IntVar_iterator.html index a3885c7360..ac36a1d1b7 100644 --- a/docs/chuffed_rs/bindings/struct.IntVar_iterator.html +++ b/docs/chuffed_rs/bindings/struct.IntVar_iterator.html @@ -1,4 +1,4 @@ -IntVar_iterator in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::IntVar_iterator

source ·
#[repr(C)]
pub struct IntVar_iterator { +IntVar_iterator in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::IntVar_iterator

source ·
#[repr(C)]
pub struct IntVar_iterator { pub var: *const IntVar, pub val: c_int, }

Fields§

§var: *const IntVar§val: c_int

Trait Implementations§

source§

impl Clone for IntVar_iterator

source§

fn clone(&self) -> IntVar_iterator

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 IntVar_iterator

source§

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

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

impl Copy for IntVar_iterator

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where diff --git a/docs/chuffed_rs/bindings/struct.IntVar_reverse_iterator.html b/docs/chuffed_rs/bindings/struct.IntVar_reverse_iterator.html index c1f46100e6..c0181f79fe 100644 --- a/docs/chuffed_rs/bindings/struct.IntVar_reverse_iterator.html +++ b/docs/chuffed_rs/bindings/struct.IntVar_reverse_iterator.html @@ -1,4 +1,4 @@ -IntVar_reverse_iterator in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::IntVar_reverse_iterator

source ·
#[repr(C)]
pub struct IntVar_reverse_iterator { +IntVar_reverse_iterator in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::IntVar_reverse_iterator

source ·
#[repr(C)]
pub struct IntVar_reverse_iterator { pub forward: IntVar_iterator, }

Fields§

§forward: IntVar_iterator

Trait Implementations§

source§

impl Clone for IntVar_reverse_iterator

source§

fn clone(&self) -> IntVar_reverse_iterator

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 IntVar_reverse_iterator

source§

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

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

impl Copy for IntVar_reverse_iterator

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 diff --git a/docs/chuffed_rs/bindings/struct.Lit.html b/docs/chuffed_rs/bindings/struct.Lit.html index 9e076f49ec..69797f1c30 100644 --- a/docs/chuffed_rs/bindings/struct.Lit.html +++ b/docs/chuffed_rs/bindings/struct.Lit.html @@ -1,4 +1,4 @@ -Lit in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::Lit

source ·
#[repr(C)]
pub struct Lit { +Lit in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::Lit

source ·
#[repr(C)]
pub struct Lit { pub x: c_int, }

Fields§

§x: c_int

Trait Implementations§

source§

impl Clone for Lit

source§

fn clone(&self) -> Lit

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 Lit

source§

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

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

impl Copy for Lit

Auto Trait Implementations§

§

impl Freeze for Lit

§

impl RefUnwindSafe for Lit

§

impl Send for Lit

§

impl Sync for Lit

§

impl Unpin for Lit

§

impl UnwindSafe for Lit

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 diff --git a/docs/chuffed_rs/bindings/struct.Propagator.html b/docs/chuffed_rs/bindings/struct.Propagator.html index 322ed5feda..41bb26d6b2 100644 --- a/docs/chuffed_rs/bindings/struct.Propagator.html +++ b/docs/chuffed_rs/bindings/struct.Propagator.html @@ -1,4 +1,4 @@ -Propagator in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::Propagator

source ·
#[repr(C)]
pub struct Propagator { +Propagator in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::Propagator

source ·
#[repr(C)]
pub struct Propagator { pub vtable_: *const Propagator__bindgen_vtable, pub prop_id: c_int, pub priority: c_int, diff --git a/docs/chuffed_rs/bindings/struct.Propagator__bindgen_vtable.html b/docs/chuffed_rs/bindings/struct.Propagator__bindgen_vtable.html index b860e47c2e..f604e23e36 100644 --- a/docs/chuffed_rs/bindings/struct.Propagator__bindgen_vtable.html +++ b/docs/chuffed_rs/bindings/struct.Propagator__bindgen_vtable.html @@ -1,4 +1,4 @@ -Propagator__bindgen_vtable in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::Propagator__bindgen_vtable

source ·
#[repr(C)]
pub struct Propagator__bindgen_vtable(/* private fields */);

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +Propagator__bindgen_vtable in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::Propagator__bindgen_vtable

source ·
#[repr(C)]
pub struct Propagator__bindgen_vtable(/* private fields */);

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.

diff --git a/docs/chuffed_rs/bindings/struct.Reason.html b/docs/chuffed_rs/bindings/struct.Reason.html index a058d4dd73..3b252925e2 100644 --- a/docs/chuffed_rs/bindings/struct.Reason.html +++ b/docs/chuffed_rs/bindings/struct.Reason.html @@ -1,4 +1,4 @@ -Reason in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::Reason

source ·
#[repr(C)]
pub struct Reason { +Reason in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::Reason

source ·
#[repr(C)]
pub struct Reason { pub __bindgen_anon_1: Reason__bindgen_ty_1, }

Fields§

§__bindgen_anon_1: Reason__bindgen_ty_1

Trait Implementations§

source§

impl Clone for Reason

source§

fn clone(&self) -> Reason

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 Copy for Reason

Auto Trait Implementations§

§

impl Freeze for Reason

§

impl RefUnwindSafe for Reason

§

impl !Send for Reason

§

impl !Sync for Reason

§

impl Unpin for Reason

§

impl UnwindSafe for Reason

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 diff --git a/docs/chuffed_rs/bindings/struct.Reason__bindgen_ty_1__bindgen_ty_1.html b/docs/chuffed_rs/bindings/struct.Reason__bindgen_ty_1__bindgen_ty_1.html index bdd87725ab..2bc5595f8d 100644 --- a/docs/chuffed_rs/bindings/struct.Reason__bindgen_ty_1__bindgen_ty_1.html +++ b/docs/chuffed_rs/bindings/struct.Reason__bindgen_ty_1__bindgen_ty_1.html @@ -1,4 +1,4 @@ -Reason__bindgen_ty_1__bindgen_ty_1 in chuffed_rs::bindings - Rust
#[repr(C)]
pub struct Reason__bindgen_ty_1__bindgen_ty_1 { +Reason__bindgen_ty_1__bindgen_ty_1 in chuffed_rs::bindings - Rust
#[repr(C)]
pub struct Reason__bindgen_ty_1__bindgen_ty_1 { pub _bitfield_align_1: [u32; 0], pub _bitfield_1: __BindgenBitfieldUnit<[u8; 8]>, }

Fields§

§_bitfield_align_1: [u32; 0]§_bitfield_1: __BindgenBitfieldUnit<[u8; 8]>

Implementations§

source§

impl Reason__bindgen_ty_1__bindgen_ty_1

source

pub fn type_(&self) -> c_uint

source

pub fn set_type(&mut self, val: c_uint)

source

pub fn d1(&self) -> c_uint

source

pub fn set_d1(&mut self, val: c_uint)

source

pub fn d2(&self) -> c_uint

source

pub fn set_d2(&mut self, val: c_uint)

source

pub fn new_bitfield_1( diff --git a/docs/chuffed_rs/bindings/struct.Tchar.html b/docs/chuffed_rs/bindings/struct.Tchar.html index 62d0cb262b..1714735269 100644 --- a/docs/chuffed_rs/bindings/struct.Tchar.html +++ b/docs/chuffed_rs/bindings/struct.Tchar.html @@ -1,4 +1,4 @@ -Tchar in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::Tchar

source ·
#[repr(C)]
pub struct Tchar { +Tchar in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::Tchar

source ·
#[repr(C)]
pub struct Tchar { pub v: c_char, }

Fields§

§v: c_char

Trait Implementations§

source§

impl Clone for Tchar

source§

fn clone(&self) -> Tchar

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 Tchar

source§

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

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

impl Copy for Tchar

Auto Trait Implementations§

§

impl Freeze for Tchar

§

impl RefUnwindSafe for Tchar

§

impl Send for Tchar

§

impl Sync for Tchar

§

impl Unpin for Tchar

§

impl UnwindSafe for Tchar

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 diff --git a/docs/chuffed_rs/bindings/struct.Tint.html b/docs/chuffed_rs/bindings/struct.Tint.html index c7610e6c35..e328d208db 100644 --- a/docs/chuffed_rs/bindings/struct.Tint.html +++ b/docs/chuffed_rs/bindings/struct.Tint.html @@ -1,4 +1,4 @@ -Tint in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::Tint

source ·
#[repr(C)]
pub struct Tint { +Tint in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::Tint

source ·
#[repr(C)]
pub struct Tint { pub v: c_int, }

Fields§

§v: c_int

Trait Implementations§

source§

impl Clone for Tint

source§

fn clone(&self) -> Tint

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 Tint

source§

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

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

impl Copy for Tint

Auto Trait Implementations§

§

impl Freeze for Tint

§

impl RefUnwindSafe for Tint

§

impl Send for Tint

§

impl Sync for Tint

§

impl Unpin for Tint

§

impl UnwindSafe for Tint

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 diff --git a/docs/chuffed_rs/bindings/struct.Var.html b/docs/chuffed_rs/bindings/struct.Var.html index ed8d481f9f..636f8ddc35 100644 --- a/docs/chuffed_rs/bindings/struct.Var.html +++ b/docs/chuffed_rs/bindings/struct.Var.html @@ -1,4 +1,4 @@ -Var in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::Var

source ·
#[repr(C)]
pub struct Var { +Var in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::Var

source ·
#[repr(C)]
pub struct Var { pub _base: Branching, }

Fields§

§_base: Branching

Trait Implementations§

source§

impl Debug for Var

source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl Freeze for Var

§

impl RefUnwindSafe for Var

§

impl !Send for Var

§

impl !Sync for Var

§

impl Unpin for Var

§

impl UnwindSafe for Var

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 diff --git a/docs/chuffed_rs/bindings/struct.__BindgenBitfieldUnit.html b/docs/chuffed_rs/bindings/struct.__BindgenBitfieldUnit.html index ec0e4b1527..b5bd4a8f85 100644 --- a/docs/chuffed_rs/bindings/struct.__BindgenBitfieldUnit.html +++ b/docs/chuffed_rs/bindings/struct.__BindgenBitfieldUnit.html @@ -1,16 +1,16 @@ -__BindgenBitfieldUnit in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::__BindgenBitfieldUnit

source ·
#[repr(C)]
pub struct __BindgenBitfieldUnit<Storage> { /* private fields */ }

Implementations§

source§

impl<Storage> __BindgenBitfieldUnit<Storage>

source

pub const fn new(storage: Storage) -> Self

source§

impl<Storage> __BindgenBitfieldUnit<Storage>
where +__BindgenBitfieldUnit in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::__BindgenBitfieldUnit

source ·
#[repr(C)]
pub struct __BindgenBitfieldUnit<Storage> { /* private fields */ }

Implementations§

source§

impl<Storage> __BindgenBitfieldUnit<Storage>

source

pub const fn new(storage: Storage) -> Self

source§

impl<Storage> __BindgenBitfieldUnit<Storage>
where Storage: AsRef<[u8]> + AsMut<[u8]>,

source

pub fn get_bit(&self, index: usize) -> bool

source

pub fn set_bit(&mut self, index: usize, val: bool)

source

pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64

source

pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64)

Trait Implementations§

source§

impl<Storage: Clone> Clone for __BindgenBitfieldUnit<Storage>

source§

fn clone(&self) -> __BindgenBitfieldUnit<Storage>

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<Storage: Debug> Debug for __BindgenBitfieldUnit<Storage>

source§

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

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

impl<Storage: Default> Default for __BindgenBitfieldUnit<Storage>

source§

fn default() -> __BindgenBitfieldUnit<Storage>

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

impl<Storage: Hash> Hash for __BindgenBitfieldUnit<Storage>

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<Storage: Ord> Ord for __BindgenBitfieldUnit<Storage>

source§

fn cmp(&self, other: &__BindgenBitfieldUnit<Storage>) -> 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,

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<Storage: PartialEq> PartialEq for __BindgenBitfieldUnit<Storage>

source§

fn eq(&self, other: &__BindgenBitfieldUnit<Storage>) -> bool

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

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

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

impl<Storage: PartialOrd> PartialOrd for __BindgenBitfieldUnit<Storage>

source§

fn partial_cmp( &self, other: &__BindgenBitfieldUnit<Storage> -) -> 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

This method 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

This method 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

This method 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

This method tests greater than or equal to (for self and other) and is used by the >= +) -> 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

This method 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

This method 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

This method 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

This method tests greater than or equal to (for self and other) and is used by the >= operator. Read more

source§

impl<Storage: Copy> Copy for __BindgenBitfieldUnit<Storage>

source§

impl<Storage: Eq> Eq for __BindgenBitfieldUnit<Storage>

source§

impl<Storage> StructuralPartialEq for __BindgenBitfieldUnit<Storage>

Auto Trait Implementations§

§

impl<Storage> Freeze for __BindgenBitfieldUnit<Storage>
where Storage: Freeze,

§

impl<Storage> RefUnwindSafe for __BindgenBitfieldUnit<Storage>
where Storage: RefUnwindSafe,

§

impl<Storage> Send for __BindgenBitfieldUnit<Storage>
where diff --git a/docs/chuffed_rs/bindings/struct.__IncompleteArrayField.html b/docs/chuffed_rs/bindings/struct.__IncompleteArrayField.html index 562e1ce0f8..76c956086c 100644 --- a/docs/chuffed_rs/bindings/struct.__IncompleteArrayField.html +++ b/docs/chuffed_rs/bindings/struct.__IncompleteArrayField.html @@ -1,4 +1,4 @@ -__IncompleteArrayField in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::__IncompleteArrayField

source ·
#[repr(C)]
pub struct __IncompleteArrayField<T>(/* private fields */);

Implementations§

source§

impl<T> __IncompleteArrayField<T>

source

pub const fn new() -> Self

source

pub fn as_ptr(&self) -> *const T

source

pub fn as_mut_ptr(&mut self) -> *mut T

source

pub unsafe fn as_slice(&self, len: usize) -> &[T]

source

pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T]

Trait Implementations§

source§

impl<T> Debug for __IncompleteArrayField<T>

source§

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

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

impl<T: Default> Default for __IncompleteArrayField<T>

source§

fn default() -> __IncompleteArrayField<T>

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

Auto Trait Implementations§

§

impl<T> Freeze for __IncompleteArrayField<T>
where +__IncompleteArrayField in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::__IncompleteArrayField

source ·
#[repr(C)]
pub struct __IncompleteArrayField<T>(/* private fields */);

Implementations§

source§

impl<T> __IncompleteArrayField<T>

source

pub const fn new() -> Self

source

pub fn as_ptr(&self) -> *const T

source

pub fn as_mut_ptr(&mut self) -> *mut T

source

pub unsafe fn as_slice(&self, len: usize) -> &[T]

source

pub unsafe fn as_mut_slice(&mut self, len: usize) -> &mut [T]

Trait Implementations§

source§

impl<T> Debug for __IncompleteArrayField<T>

source§

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

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

impl<T: Default> Default for __IncompleteArrayField<T>

source§

fn default() -> __IncompleteArrayField<T>

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

Auto Trait Implementations§

§

impl<T> Freeze for __IncompleteArrayField<T>
where T: Freeze,

§

impl<T> RefUnwindSafe for __IncompleteArrayField<T>
where T: RefUnwindSafe,

§

impl<T> Send for __IncompleteArrayField<T>
where T: Send,

§

impl<T> Sync for __IncompleteArrayField<T>
where diff --git a/docs/chuffed_rs/bindings/struct.vec.html b/docs/chuffed_rs/bindings/struct.vec.html index b0a3638f7e..5c79cd1559 100644 --- a/docs/chuffed_rs/bindings/struct.vec.html +++ b/docs/chuffed_rs/bindings/struct.vec.html @@ -1,4 +1,4 @@ -vec in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::vec

source ·
#[repr(C)]
pub struct vec<T> { +vec in chuffed_rs::bindings - Rust

Struct chuffed_rs::bindings::vec

source ·
#[repr(C)]
pub struct vec<T> { pub sz: c_int, pub cap: c_int, pub data: *mut T, diff --git a/docs/chuffed_rs/bindings/type.ConLevel.html b/docs/chuffed_rs/bindings/type.ConLevel.html index a31542d79a..d5c945cc82 100644 --- a/docs/chuffed_rs/bindings/type.ConLevel.html +++ b/docs/chuffed_rs/bindings/type.ConLevel.html @@ -1 +1 @@ -ConLevel in chuffed_rs::bindings - Rust

Type Alias chuffed_rs::bindings::ConLevel

source ·
pub type ConLevel = c_uint;
\ No newline at end of file +ConLevel in chuffed_rs::bindings - Rust

Type Alias chuffed_rs::bindings::ConLevel

source ·
pub type ConLevel = c_uint;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/type.IntVar_const_iterator.html b/docs/chuffed_rs/bindings/type.IntVar_const_iterator.html index fc5cf2bace..a96ebbbb3b 100644 --- a/docs/chuffed_rs/bindings/type.IntVar_const_iterator.html +++ b/docs/chuffed_rs/bindings/type.IntVar_const_iterator.html @@ -1,4 +1,4 @@ -IntVar_const_iterator in chuffed_rs::bindings - Rust

Type Alias chuffed_rs::bindings::IntVar_const_iterator

source ·
pub type IntVar_const_iterator = IntVar_iterator;

Aliased Type§

struct IntVar_const_iterator {
+IntVar_const_iterator in chuffed_rs::bindings - Rust

Type Alias chuffed_rs::bindings::IntVar_const_iterator

source ·
pub type IntVar_const_iterator = IntVar_iterator;

Aliased Type§

struct IntVar_const_iterator {
     pub var: *const IntVar,
     pub val: i32,
 }

Fields§

§var: *const IntVar§val: i32
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/type.IntVar_const_reverse_iterator.html b/docs/chuffed_rs/bindings/type.IntVar_const_reverse_iterator.html index 33ffbd8726..76b1fd6646 100644 --- a/docs/chuffed_rs/bindings/type.IntVar_const_reverse_iterator.html +++ b/docs/chuffed_rs/bindings/type.IntVar_const_reverse_iterator.html @@ -1,3 +1,3 @@ -IntVar_const_reverse_iterator in chuffed_rs::bindings - Rust

Type Alias chuffed_rs::bindings::IntVar_const_reverse_iterator

source ·
pub type IntVar_const_reverse_iterator = IntVar_reverse_iterator;

Aliased Type§

struct IntVar_const_reverse_iterator {
+IntVar_const_reverse_iterator in chuffed_rs::bindings - Rust

Type Alias chuffed_rs::bindings::IntVar_const_reverse_iterator

source ·
pub type IntVar_const_reverse_iterator = IntVar_reverse_iterator;

Aliased Type§

struct IntVar_const_reverse_iterator {
     pub forward: IntVar_iterator,
 }

Fields§

§forward: IntVar_iterator
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/type.PreferredVal.html b/docs/chuffed_rs/bindings/type.PreferredVal.html index 294e52d807..42f4ebe248 100644 --- a/docs/chuffed_rs/bindings/type.PreferredVal.html +++ b/docs/chuffed_rs/bindings/type.PreferredVal.html @@ -1 +1 @@ -PreferredVal in chuffed_rs::bindings - Rust

Type Alias chuffed_rs::bindings::PreferredVal

source ·
pub type PreferredVal = c_uint;
\ No newline at end of file +PreferredVal in chuffed_rs::bindings - Rust

Type Alias chuffed_rs::bindings::PreferredVal

source ·
pub type PreferredVal = c_uint;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/type.ValBranch.html b/docs/chuffed_rs/bindings/type.ValBranch.html index 6d63098e86..1fd6ca52b6 100644 --- a/docs/chuffed_rs/bindings/type.ValBranch.html +++ b/docs/chuffed_rs/bindings/type.ValBranch.html @@ -1 +1 @@ -ValBranch in chuffed_rs::bindings - Rust

Type Alias chuffed_rs::bindings::ValBranch

source ·
pub type ValBranch = c_uint;
\ No newline at end of file +ValBranch in chuffed_rs::bindings - Rust

Type Alias chuffed_rs::bindings::ValBranch

source ·
pub type ValBranch = c_uint;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/type.VarBranch.html b/docs/chuffed_rs/bindings/type.VarBranch.html index 9c3b9056b8..e3dddbf921 100644 --- a/docs/chuffed_rs/bindings/type.VarBranch.html +++ b/docs/chuffed_rs/bindings/type.VarBranch.html @@ -1 +1 @@ -VarBranch in chuffed_rs::bindings - Rust

Type Alias chuffed_rs::bindings::VarBranch

source ·
pub type VarBranch = c_uint;
\ No newline at end of file +VarBranch in chuffed_rs::bindings - Rust

Type Alias chuffed_rs::bindings::VarBranch

source ·
pub type VarBranch = c_uint;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/type.VarType.html b/docs/chuffed_rs/bindings/type.VarType.html index 1f31aa094c..7a5b2fbc8f 100644 --- a/docs/chuffed_rs/bindings/type.VarType.html +++ b/docs/chuffed_rs/bindings/type.VarType.html @@ -1 +1 @@ -VarType in chuffed_rs::bindings - Rust

Type Alias chuffed_rs::bindings::VarType

source ·
pub type VarType = c_uint;
\ No newline at end of file +VarType in chuffed_rs::bindings - Rust

Type Alias chuffed_rs::bindings::VarType

source ·
pub type VarType = c_uint;
\ No newline at end of file diff --git a/docs/chuffed_rs/bindings/union.Reason__bindgen_ty_1.html b/docs/chuffed_rs/bindings/union.Reason__bindgen_ty_1.html index 1170af4434..4fa617a557 100644 --- a/docs/chuffed_rs/bindings/union.Reason__bindgen_ty_1.html +++ b/docs/chuffed_rs/bindings/union.Reason__bindgen_ty_1.html @@ -1,4 +1,4 @@ -Reason__bindgen_ty_1 in chuffed_rs::bindings - Rust

Union chuffed_rs::bindings::Reason__bindgen_ty_1

source ·
#[repr(C)]
+Reason__bindgen_ty_1 in chuffed_rs::bindings - Rust

Union chuffed_rs::bindings::Reason__bindgen_ty_1

source ·
#[repr(C)]
 pub union Reason__bindgen_ty_1 {
     pub pt: *mut Clause,
     pub d: Reason__bindgen_ty_1__bindgen_ty_1,
diff --git a/docs/chuffed_rs/index.html b/docs/chuffed_rs/index.html
index a4b4bb9230..9aea64d130 100644
--- a/docs/chuffed_rs/index.html
+++ b/docs/chuffed_rs/index.html
@@ -1 +1 @@
-chuffed_rs - Rust

Crate chuffed_rs

source ·

Modules§

\ No newline at end of file +chuffed_rs - Rust

Crate chuffed_rs

source ·

Modules§

\ No newline at end of file diff --git a/docs/chuffed_rs/wrappers/fn.all_different_wrapper.html b/docs/chuffed_rs/wrappers/fn.all_different_wrapper.html index 10d3d75242..34d3d81386 100644 --- a/docs/chuffed_rs/wrappers/fn.all_different_wrapper.html +++ b/docs/chuffed_rs/wrappers/fn.all_different_wrapper.html @@ -1 +1 @@ -all_different_wrapper in chuffed_rs::wrappers - Rust

Function chuffed_rs::wrappers::all_different_wrapper

source ·
pub unsafe fn all_different_wrapper(x: *mut vec<*mut IntVar>, cl: ConLevel)
\ No newline at end of file +all_different_wrapper in chuffed_rs::wrappers - Rust

Function chuffed_rs::wrappers::all_different_wrapper

source ·
pub unsafe fn all_different_wrapper(x: *mut vec<*mut IntVar>, cl: ConLevel)
\ No newline at end of file diff --git a/docs/chuffed_rs/wrappers/fn.branch_wrapper.html b/docs/chuffed_rs/wrappers/fn.branch_wrapper.html index 06c3bd386f..f8eed4cbff 100644 --- a/docs/chuffed_rs/wrappers/fn.branch_wrapper.html +++ b/docs/chuffed_rs/wrappers/fn.branch_wrapper.html @@ -1,4 +1,4 @@ -branch_wrapper in chuffed_rs::wrappers - Rust

Function chuffed_rs::wrappers::branch_wrapper

source ·
pub unsafe fn branch_wrapper(
+branch_wrapper in chuffed_rs::wrappers - Rust

Function chuffed_rs::wrappers::branch_wrapper

source ·
pub unsafe fn branch_wrapper(
     x: *mut vec<*mut IntVar>,
     var_branch: VarBranch,
     val_branch: ValBranch
diff --git a/docs/chuffed_rs/wrappers/fn.create_var.html b/docs/chuffed_rs/wrappers/fn.create_var.html
index 6c8420fe65..4e65fdd57b 100644
--- a/docs/chuffed_rs/wrappers/fn.create_var.html
+++ b/docs/chuffed_rs/wrappers/fn.create_var.html
@@ -1 +1 @@
-create_var in chuffed_rs::wrappers - Rust

Function chuffed_rs::wrappers::create_var

source ·
pub fn create_var(min: i32, max: i32, el: bool) -> *mut IntVar
\ No newline at end of file +create_var in chuffed_rs::wrappers - Rust

Function chuffed_rs::wrappers::create_var

source ·
pub fn create_var(min: i32, max: i32, el: bool) -> *mut IntVar
\ No newline at end of file diff --git a/docs/chuffed_rs/wrappers/fn.create_vars.html b/docs/chuffed_rs/wrappers/fn.create_vars.html index 85fce463a7..62da3c2176 100644 --- a/docs/chuffed_rs/wrappers/fn.create_vars.html +++ b/docs/chuffed_rs/wrappers/fn.create_vars.html @@ -1,4 +1,4 @@ -create_vars in chuffed_rs::wrappers - Rust

Function chuffed_rs::wrappers::create_vars

source ·
pub fn create_vars(
+create_vars in chuffed_rs::wrappers - Rust

Function chuffed_rs::wrappers::create_vars

source ·
pub fn create_vars(
     n: i32,
     min: i32,
     max: i32,
diff --git a/docs/chuffed_rs/wrappers/fn.int_plus_wrapper.html b/docs/chuffed_rs/wrappers/fn.int_plus_wrapper.html
index 6e8e8126ef..b6b8a51f43 100644
--- a/docs/chuffed_rs/wrappers/fn.int_plus_wrapper.html
+++ b/docs/chuffed_rs/wrappers/fn.int_plus_wrapper.html
@@ -1 +1 @@
-int_plus_wrapper in chuffed_rs::wrappers - Rust

Function chuffed_rs::wrappers::int_plus_wrapper

source ·
pub unsafe fn int_plus_wrapper(x: *mut IntVar, y: *mut IntVar, z: *mut IntVar)
\ No newline at end of file +int_plus_wrapper in chuffed_rs::wrappers - Rust

Function chuffed_rs::wrappers::int_plus_wrapper

source ·
pub unsafe fn int_plus_wrapper(x: *mut IntVar, y: *mut IntVar, z: *mut IntVar)
\ No newline at end of file diff --git a/docs/chuffed_rs/wrappers/fn.output_vars_wrapper.html b/docs/chuffed_rs/wrappers/fn.output_vars_wrapper.html index 3ec80493ca..8b0ef050cb 100644 --- a/docs/chuffed_rs/wrappers/fn.output_vars_wrapper.html +++ b/docs/chuffed_rs/wrappers/fn.output_vars_wrapper.html @@ -1 +1 @@ -output_vars_wrapper in chuffed_rs::wrappers - Rust

Function chuffed_rs::wrappers::output_vars_wrapper

source ·
pub unsafe fn output_vars_wrapper(x: *mut vec<*mut IntVar>)
\ No newline at end of file +output_vars_wrapper in chuffed_rs::wrappers - Rust

Function chuffed_rs::wrappers::output_vars_wrapper

source ·
pub unsafe fn output_vars_wrapper(x: *mut vec<*mut IntVar>)
\ No newline at end of file diff --git a/docs/chuffed_rs/wrappers/fn.var_sym_break_wrapper.html b/docs/chuffed_rs/wrappers/fn.var_sym_break_wrapper.html index 3d68b43d0b..0dd31f1337 100644 --- a/docs/chuffed_rs/wrappers/fn.var_sym_break_wrapper.html +++ b/docs/chuffed_rs/wrappers/fn.var_sym_break_wrapper.html @@ -1 +1 @@ -var_sym_break_wrapper in chuffed_rs::wrappers - Rust

Function chuffed_rs::wrappers::var_sym_break_wrapper

source ·
pub unsafe fn var_sym_break_wrapper(x: *mut vec<*mut IntVar>)
\ No newline at end of file +var_sym_break_wrapper in chuffed_rs::wrappers - Rust

Function chuffed_rs::wrappers::var_sym_break_wrapper

source ·
pub unsafe fn var_sym_break_wrapper(x: *mut vec<*mut IntVar>)
\ No newline at end of file diff --git a/docs/chuffed_rs/wrappers/index.html b/docs/chuffed_rs/wrappers/index.html index 6bfb2643cc..a30fb6c545 100644 --- a/docs/chuffed_rs/wrappers/index.html +++ b/docs/chuffed_rs/wrappers/index.html @@ -1 +1 @@ -chuffed_rs::wrappers - Rust
\ No newline at end of file +chuffed_rs::wrappers - Rust
\ No newline at end of file diff --git a/docs/conjure_core/all.html b/docs/conjure_core/all.html index 31ae1e5ba8..b2a7a9e006 100644 --- a/docs/conjure_core/all.html +++ b/docs/conjure_core/all.html @@ -1 +1 @@ -List of all items in this crate
\ No newline at end of file +List of all items in this crate
\ No newline at end of file diff --git a/docs/conjure_core/ast/enum.Constant.html b/docs/conjure_core/ast/enum.Constant.html index c9d2044ecc..f790d9e630 100644 --- a/docs/conjure_core/ast/enum.Constant.html +++ b/docs/conjure_core/ast/enum.Constant.html @@ -1,11 +1,11 @@ -Constant in conjure_core::ast - Rust

Enum conjure_core::ast::Constant

source ·
pub enum Constant {
+Constant in conjure_core::ast - Rust

Enum conjure_core::ast::Constant

source ·
pub enum Constant {
     Int(i32),
     Bool(bool),
 }

Variants§

§

Int(i32)

§

Bool(bool)

Trait Implementations§

source§

impl Clone for Constant

source§

fn clone(&self) -> Constant

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 Constant

source§

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

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

impl<'de> Deserialize<'de> for Constant

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 Constant

source§

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

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

impl From<bool> for Constant

source§

fn from(b: bool) -> Self

Converts to this type from the input type.
source§

impl From<i32> for Constant

source§

fn from(i: i32) -> Self

Converts to this type from the input type.
source§

impl PartialEq for Constant

source§

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

This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more

source§

impl Display for Constant

source§

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

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

impl From<bool> for Constant

source§

fn from(b: bool) -> Self

Converts to this type from the input type.
source§

impl From<i32> for Constant

source§

fn from(i: i32) -> Self

Converts to this type from the input type.
source§

impl PartialEq for Constant

source§

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

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

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

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

impl Serialize for Constant

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 TryFrom<Constant> for bool

§

type Error = &'static str

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

fn try_from(value: Constant) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl TryFrom<Constant> for i32

§

type Error = &'static str

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

fn try_from(value: Constant) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl Eq for Constant

source§

impl StructuralPartialEq for Constant

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where + __S: Serializer,

Serialize this value into the given Serde serializer. Read more

source§

impl TryFrom<Constant> for bool

§

type Error = &'static str

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

fn try_from(value: Constant) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl TryFrom<Constant> for i32

§

type Error = &'static str

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

fn try_from(value: Constant) -> Result<Self, Self::Error>

Performs the conversion.
source§

impl Eq for Constant

source§

impl StructuralPartialEq for Constant

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> DynClone for T
where @@ -19,8 +19,8 @@ &self, serializer: &mut dyn Serializer ) -> Result<(), ErrorImpl>

source§

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

§

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> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

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

§

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> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

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

§

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>,

§

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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where diff --git a/docs/conjure_core/ast/enum.Domain.html b/docs/conjure_core/ast/enum.Domain.html index 23783c4457..865b7d518f 100644 --- a/docs/conjure_core/ast/enum.Domain.html +++ b/docs/conjure_core/ast/enum.Domain.html @@ -1,4 +1,4 @@ -Domain in conjure_core::ast - Rust

Enum conjure_core::ast::Domain

source ·
pub enum Domain {
+Domain in conjure_core::ast - Rust

Enum conjure_core::ast::Domain

source ·
pub enum Domain {
     BoolDomain,
     IntDomain(Vec<Range<i32>>),
 }

Variants§

§

BoolDomain

§

IntDomain(Vec<Range<i32>>)

Implementations§

source§

impl Domain

source

pub fn values_i32(&self) -> Option<Vec<i32>>

Return a list of all possible i32 values in the domain if it is an IntDomain.

diff --git a/docs/conjure_core/ast/enum.Expression.html b/docs/conjure_core/ast/enum.Expression.html index 074c30718b..8809c66dd2 100644 --- a/docs/conjure_core/ast/enum.Expression.html +++ b/docs/conjure_core/ast/enum.Expression.html @@ -1,4 +1,4 @@ -Expression in conjure_core::ast - Rust

Enum conjure_core::ast::Expression

source ·
#[non_exhaustive]
pub enum Expression { +Expression in conjure_core::ast - Rust

Enum conjure_core::ast::Expression

source ·
#[non_exhaustive]
pub enum Expression {
Show 23 variants Nothing, Bubble(Metadata, Box<Expression>, Box<Expression>), Constant(Metadata, Constant), @@ -22,22 +22,16 @@ DivEq(Metadata, Box<Expression>, Box<Expression>, Box<Expression>), Ineq(Metadata, Box<Expression>, Box<Expression>, Box<Expression>), AllDiff(Metadata, Vec<Expression>), -
}
Expand description

§Compatability

§JsonInput

+
}
Expand description

§Compatability

§Minion

§SAT

-

§Minion

+

§JsonInput

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Nothing

  • Represents an empty expression
  • @@ -108,8 +108,8 @@

    §Minion

source

pub fn is_ineq(&self) -> bool

Is this Expression a Ineq?

source

pub fn is_all_diff(&self) -> bool

Is this Expression a AllDiff?

source§

impl Expression

source

pub fn domain_of(&self, vars: &SymbolTable) -> Option<Domain>

Returns the possible values of the expression, recursing to leaf expressions

-
source

pub fn can_be_undefined(&self) -> bool

source

pub fn return_type(&self) -> Option<ReturnType>

source

pub fn is_clean(&self) -> bool

source

pub fn set_clean(&mut self, bool_value: bool)

Trait Implementations§

source§

impl Clone for Expression

source§

fn clone(&self) -> Expression

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 Expression

source§

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

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

impl<'de> Deserialize<'de> for Expression

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 Expression

source§

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

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

impl From<bool> for Expression

source§

fn from(b: bool) -> Self

Converts to this type from the input type.
source§

impl From<i32> for Expression

source§

fn from(i: i32) -> Self

Converts to this type from the input type.
source§

impl PartialEq for Expression

source§

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

This method tests for self and other values to be equal, and is used +
source

pub fn can_be_undefined(&self) -> bool

source

pub fn return_type(&self) -> Option<ReturnType>

source

pub fn is_clean(&self) -> bool

source

pub fn set_clean(&mut self, bool_value: bool)

Trait Implementations§

source§

impl Clone for Expression

source§

fn clone(&self) -> Expression

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 Expression

source§

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

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

impl<'de> Deserialize<'de> for Expression

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 Expression

source§

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

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

impl From<bool> for Expression

source§

fn from(b: bool) -> Self

Converts to this type from the input type.
source§

impl From<i32> for Expression

source§

fn from(i: i32) -> Self

Converts to this type from the input type.
source§

impl PartialEq for Expression

source§

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

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

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

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

impl Serialize for Expression

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 Uniplate for Expression

source§

fn uniplate( @@ -129,8 +129,8 @@

§Minion

&self, serializer: &mut dyn Serializer ) -> Result<(), ErrorImpl>

source§

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

§

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> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

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

§

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> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

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

§

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>,

§

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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where diff --git a/docs/conjure_core/ast/enum.Name.html b/docs/conjure_core/ast/enum.Name.html index 6f165e04aa..416f73903c 100644 --- a/docs/conjure_core/ast/enum.Name.html +++ b/docs/conjure_core/ast/enum.Name.html @@ -1,4 +1,4 @@ -Name in conjure_core::ast - Rust

Enum conjure_core::ast::Name

source ·
pub enum Name {
+Name in conjure_core::ast - Rust

Enum conjure_core::ast::Name

source ·
pub enum Name {
     UserName(String),
     MachineName(i32),
 }

Variants§

§

UserName(String)

§

MachineName(i32)

Trait Implementations§

source§

impl Clone for Name

source§

fn clone(&self) -> Name

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 Name

source§

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

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

impl<'de> Deserialize<'de> for Name

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where @@ -6,11 +6,11 @@ H: Hasher, Self: Sized,

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

impl Ord for Name

source§

fn cmp(&self, other: &Name) -> 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,

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 Name

source§

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

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

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

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

impl PartialOrd for Name

source§

fn partial_cmp(&self, other: &Name) -> 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

This method 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

This method 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

This method 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

This method tests greater than or equal to (for self and other) and is used by the >= +sufficient, and should not be overridden without very good reason.
source§

impl PartialOrd for Name

source§

fn partial_cmp(&self, other: &Name) -> 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

This method 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

This method 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

This method 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

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

impl Serialize for Name

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 Name

source§

impl StructuralPartialEq for Name

Auto Trait Implementations§

§

impl Freeze for Name

§

impl RefUnwindSafe for Name

§

impl Send for Name

§

impl Sync for Name

§

impl Unpin for Name

§

impl UnwindSafe for Name

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 @@ -26,8 +26,8 @@ &self, serializer: &mut dyn Serializer ) -> Result<(), ErrorImpl>

source§

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

§

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> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

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

§

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> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

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

§

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>,

§

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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where diff --git a/docs/conjure_core/ast/enum.Range.html b/docs/conjure_core/ast/enum.Range.html index be71486309..7ea91d5196 100644 --- a/docs/conjure_core/ast/enum.Range.html +++ b/docs/conjure_core/ast/enum.Range.html @@ -1,4 +1,4 @@ -Range in conjure_core::ast - Rust

Enum conjure_core::ast::Range

source ·
pub enum Range<A>
where +Range in conjure_core::ast - Rust

Enum conjure_core::ast::Range

source ·
pub enum Range<A>
where A: Ord,
{ Single(A), Bounded(A, A), diff --git a/docs/conjure_core/ast/index.html b/docs/conjure_core/ast/index.html index 275351bb82..458c3f952f 100644 --- a/docs/conjure_core/ast/index.html +++ b/docs/conjure_core/ast/index.html @@ -1 +1 @@ -conjure_core::ast - Rust

Module conjure_core::ast

source ·

Re-exports§

Modules§

Structs§

Enums§

Type Aliases§

\ No newline at end of file +conjure_core::ast - Rust

Module conjure_core::ast

source ·

Re-exports§

Modules§

Structs§

Enums§

Type Aliases§

\ No newline at end of file diff --git a/docs/conjure_core/ast/struct.DecisionVariable.html b/docs/conjure_core/ast/struct.DecisionVariable.html index 8ad5b3ab89..51bc4f10c7 100644 --- a/docs/conjure_core/ast/struct.DecisionVariable.html +++ b/docs/conjure_core/ast/struct.DecisionVariable.html @@ -1,4 +1,4 @@ -DecisionVariable in conjure_core::ast - Rust

Struct conjure_core::ast::DecisionVariable

source ·
pub struct DecisionVariable {
+DecisionVariable in conjure_core::ast - Rust

Struct conjure_core::ast::DecisionVariable

source ·
pub struct DecisionVariable {
     pub domain: Domain,
 }

Fields§

§domain: Domain

Implementations§

Trait Implementations§

source§

impl Clone for DecisionVariable

source§

fn clone(&self) -> DecisionVariable

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 DecisionVariable

source§

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

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

impl<'de> Deserialize<'de> for DecisionVariable

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 DecisionVariable

source§

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

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

impl PartialEq for DecisionVariable

source§

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

This method tests for self and other values to be equal, and is used @@ -18,8 +18,8 @@ &self, serializer: &mut dyn Serializer ) -> Result<(), ErrorImpl>

source§

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

§

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> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

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

§

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> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

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

§

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>,

§

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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where diff --git a/docs/conjure_core/ast/type.SymbolTable.html b/docs/conjure_core/ast/type.SymbolTable.html index 63b66fa312..d4d30f0874 100644 --- a/docs/conjure_core/ast/type.SymbolTable.html +++ b/docs/conjure_core/ast/type.SymbolTable.html @@ -1 +1 @@ -SymbolTable in conjure_core::ast - Rust

Type Alias conjure_core::ast::SymbolTable

source ·
pub type SymbolTable = HashMap<Name, DecisionVariable>;

Aliased Type§

struct SymbolTable { /* private fields */ }
\ No newline at end of file +SymbolTable in conjure_core::ast - Rust

Type Alias conjure_core::ast::SymbolTable

source ·
pub type SymbolTable = HashMap<Name, DecisionVariable>;

Aliased Type§

struct SymbolTable { /* private fields */ }
\ No newline at end of file diff --git a/docs/conjure_core/ast/types/enum.ReturnType.html b/docs/conjure_core/ast/types/enum.ReturnType.html index ce99858885..8b4c2c087a 100644 --- a/docs/conjure_core/ast/types/enum.ReturnType.html +++ b/docs/conjure_core/ast/types/enum.ReturnType.html @@ -1,4 +1,4 @@ -ReturnType in conjure_core::ast::types - Rust

Enum conjure_core::ast::types::ReturnType

source ·
pub enum ReturnType {
+ReturnType in conjure_core::ast::types - Rust

Enum conjure_core::ast::types::ReturnType

source ·
pub enum ReturnType {
     Int,
     Bool,
 }

Variants§

§

Int

§

Bool

Trait Implementations§

source§

impl Clone for ReturnType

source§

fn clone(&self) -> ReturnType

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 ReturnType

source§

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

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

impl<'de> Deserialize<'de> for ReturnType

source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where diff --git a/docs/conjure_core/ast/types/index.html b/docs/conjure_core/ast/types/index.html index d41d2ad1c2..65995e61ba 100644 --- a/docs/conjure_core/ast/types/index.html +++ b/docs/conjure_core/ast/types/index.html @@ -1 +1 @@ -conjure_core::ast::types - Rust

Module conjure_core::ast::types

source ·

Enums§

\ No newline at end of file +conjure_core::ast::types - Rust

Module conjure_core::ast::types

source ·

Enums§

\ No newline at end of file diff --git a/docs/conjure_core/context/index.html b/docs/conjure_core/context/index.html index e2c1ae4342..b2180b9e09 100644 --- a/docs/conjure_core/context/index.html +++ b/docs/conjure_core/context/index.html @@ -1 +1 @@ -conjure_core::context - Rust

Module conjure_core::context

source ·

Structs§

\ No newline at end of file +conjure_core::context - Rust

Module conjure_core::context

source ·

Structs§

\ No newline at end of file diff --git a/docs/conjure_core/context/struct.Context.html b/docs/conjure_core/context/struct.Context.html index 16cf21b5cf..af61ad6596 100644 --- a/docs/conjure_core/context/struct.Context.html +++ b/docs/conjure_core/context/struct.Context.html @@ -1,4 +1,4 @@ -Context in conjure_core::context - Rust

Struct conjure_core::context::Context

source ·
#[non_exhaustive]
pub struct Context<'a> { +Context in conjure_core::context - Rust

Struct conjure_core::context::Context

source ·
#[non_exhaustive]
pub struct Context<'a> { pub target_solver_family: Option<SolverFamily>, pub file_name: Option<String>, pub extra_rule_set_names: Vec<String>, diff --git a/docs/conjure_core/error/enum.Error.html b/docs/conjure_core/error/enum.Error.html index 6c8c262db2..29cc283365 100644 --- a/docs/conjure_core/error/enum.Error.html +++ b/docs/conjure_core/error/enum.Error.html @@ -1,4 +1,4 @@ -Error in conjure_core::error - Rust

Enum conjure_core::error::Error

source ·
pub enum Error {
+Error in conjure_core::error - Rust

Enum conjure_core::error::Error

source ·
pub enum Error {
     JSON(Error),
     Parse(String),
     NotImplemented(String),
@@ -11,8 +11,8 @@
     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> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

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

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

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

§

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>,

§

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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

\ No newline at end of file diff --git a/docs/conjure_core/error/index.html b/docs/conjure_core/error/index.html index 85980e8ed2..45020c0ce7 100644 --- a/docs/conjure_core/error/index.html +++ b/docs/conjure_core/error/index.html @@ -1,2 +1,2 @@ -conjure_core::error - Rust

Module conjure_core::error

source ·
Expand description

Top-level error types for Conjure-Oxide.

+conjure_core::error - Rust

Module conjure_core::error

source ·
Expand description

Top-level error types for Conjure-Oxide.

Enums§

Type Aliases§

\ No newline at end of file diff --git a/docs/conjure_core/error/type.Result.html b/docs/conjure_core/error/type.Result.html index ad32955d83..117fe55c70 100644 --- a/docs/conjure_core/error/type.Result.html +++ b/docs/conjure_core/error/type.Result.html @@ -1,4 +1,4 @@ -Result in conjure_core::error - Rust

Type Alias conjure_core::error::Result

source ·
pub type Result<T> = Result<T, Error>;

Aliased Type§

enum Result<T> {
+Result in conjure_core::error - Rust

Type Alias conjure_core::error::Result

source ·
pub type Result<T> = Result<T, Error>;

Aliased Type§

enum Result<T> {
     Ok(T),
     Err(Error),
 }

Variants§

§1.0.0

Ok(T)

Contains the success value

diff --git a/docs/conjure_core/index.html b/docs/conjure_core/index.html index 43b3a80323..155e2d1887 100644 --- a/docs/conjure_core/index.html +++ b/docs/conjure_core/index.html @@ -1 +1 @@ -conjure_core - Rust

Crate conjure_core

source ·

Re-exports§

  • pub extern crate self as conjure_core;
  • pub use model::Model;

Modules§

\ No newline at end of file +conjure_core - Rust

Crate conjure_core

source ·

Re-exports§

  • pub extern crate self as conjure_core;
  • pub use model::Model;

Modules§

\ No newline at end of file diff --git a/docs/conjure_core/metadata/index.html b/docs/conjure_core/metadata/index.html index f5ee83581f..bb7ad62f2e 100644 --- a/docs/conjure_core/metadata/index.html +++ b/docs/conjure_core/metadata/index.html @@ -1 +1 @@ -conjure_core::metadata - Rust

Module conjure_core::metadata

source ·

Structs§

\ No newline at end of file +conjure_core::metadata - Rust

Module conjure_core::metadata

source ·

Structs§

\ No newline at end of file diff --git a/docs/conjure_core/metadata/struct.Metadata.html b/docs/conjure_core/metadata/struct.Metadata.html index 51f82c72af..16bc0b5962 100644 --- a/docs/conjure_core/metadata/struct.Metadata.html +++ b/docs/conjure_core/metadata/struct.Metadata.html @@ -1,8 +1,8 @@ -Metadata in conjure_core::metadata - Rust

Struct conjure_core::metadata::Metadata

source ·
pub struct Metadata {
+Metadata in conjure_core::metadata - Rust

Struct conjure_core::metadata::Metadata

source ·
pub struct Metadata {
     pub clean: bool,
     pub etype: Option<ReturnType>,
-}

Fields§

§clean: bool§etype: Option<ReturnType>

Implementations§

Trait Implementations§

source§

impl Clone for Metadata

source§

fn clone(&self) -> Metadata

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 Metadata

source§

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

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

impl Default for Metadata

source§

fn default() -> Metadata

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

impl<'de> Deserialize<'de> for Metadata

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 Metadata

source§

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

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

impl PartialEq for Metadata

source§

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

This method tests for self and other values to be equal, and is used +}

Fields§

§clean: bool§etype: Option<ReturnType>

Implementations§

Trait Implementations§

source§

impl Clone for Metadata

source§

fn clone(&self) -> Metadata

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 Metadata

source§

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

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

impl Default for Metadata

source§

fn default() -> Metadata

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

impl<'de> Deserialize<'de> for Metadata

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 Metadata

source§

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

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

impl PartialEq for Metadata

source§

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

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

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

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

impl Serialize for Metadata

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 Metadata

source§

impl StructuralPartialEq for Metadata

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where @@ -19,8 +19,8 @@ &self, serializer: &mut dyn Serializer ) -> Result<(), ErrorImpl>

source§

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

§

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> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

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

§

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> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

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

§

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>,

§

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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

source§

impl<T> DeserializeOwned for T
where diff --git a/docs/conjure_core/model/index.html b/docs/conjure_core/model/index.html index 609aecdbb0..fca4587413 100644 --- a/docs/conjure_core/model/index.html +++ b/docs/conjure_core/model/index.html @@ -1 +1 @@ -conjure_core::model - Rust

Module conjure_core::model

source ·

Structs§

\ No newline at end of file +conjure_core::model - Rust

Module conjure_core::model

source ·

Structs§

\ No newline at end of file diff --git a/docs/conjure_core/model/struct.Model.html b/docs/conjure_core/model/struct.Model.html index 4a3d55127d..6f05ab7bc4 100644 --- a/docs/conjure_core/model/struct.Model.html +++ b/docs/conjure_core/model/struct.Model.html @@ -1,4 +1,4 @@ -Model in conjure_core::model - Rust

Struct conjure_core::model::Model

source ·
pub struct Model {
+Model in conjure_core::model - Rust

Struct conjure_core::model::Model

source ·
pub struct Model {
     pub variables: SymbolTable,
     pub constraints: Expression,
     pub context: Arc<RwLock<Context<'static>>>,
diff --git a/docs/conjure_core/parse/fn.get_example_model.html b/docs/conjure_core/parse/fn.get_example_model.html
index d0ddd4c5bf..e49d7b83aa 100644
--- a/docs/conjure_core/parse/fn.get_example_model.html
+++ b/docs/conjure_core/parse/fn.get_example_model.html
@@ -1,4 +1,4 @@
-get_example_model in conjure_core::parse - Rust

Function conjure_core::parse::get_example_model

source ·
pub fn get_example_model(filename: &str) -> Result<Model, Error>
Expand description

Searches recursively in ../tests/integration folder for an .essence file matching the given +get_example_model in conjure_core::parse - Rust

Function conjure_core::parse::get_example_model

source ·
pub fn get_example_model(filename: &str) -> Result<Model, Error>
Expand description

Searches recursively in ../tests/integration folder for an .essence file matching the given filename, then uses conjure to process it into astjson, and returns the parsed model.

§Arguments

    diff --git a/docs/conjure_core/parse/fn.get_example_model_by_path.html b/docs/conjure_core/parse/fn.get_example_model_by_path.html index 75eaf3ad84..6b907775a9 100644 --- a/docs/conjure_core/parse/fn.get_example_model_by_path.html +++ b/docs/conjure_core/parse/fn.get_example_model_by_path.html @@ -1,4 +1,4 @@ -get_example_model_by_path in conjure_core::parse - Rust

    Function conjure_core::parse::get_example_model_by_path

    source ·
    pub fn get_example_model_by_path(filepath: &str) -> Result<Model, Error>
    Expand description

    Searches for an .essence file at the given filepath, +get_example_model_by_path in conjure_core::parse - Rust

    Function conjure_core::parse::get_example_model_by_path

    source ·
    pub fn get_example_model_by_path(filepath: &str) -> Result<Model, Error>
    Expand description

    Searches for an .essence file at the given filepath, then uses conjure to process it into astjson, and returns the parsed model.

    §Arguments

      diff --git a/docs/conjure_core/parse/fn.model_from_json.html b/docs/conjure_core/parse/fn.model_from_json.html index 40a552da89..8b86e80a4b 100644 --- a/docs/conjure_core/parse/fn.model_from_json.html +++ b/docs/conjure_core/parse/fn.model_from_json.html @@ -1,4 +1,4 @@ -model_from_json in conjure_core::parse - Rust

      Function conjure_core::parse::model_from_json

      source ·
      pub fn model_from_json(
      +model_from_json in conjure_core::parse - Rust

      Function conjure_core::parse::model_from_json

      source ·
      pub fn model_from_json(
           str: &str,
           context: Arc<RwLock<Context<'static>>>
       ) -> Result<Model>
      \ No newline at end of file diff --git a/docs/conjure_core/parse/index.html b/docs/conjure_core/parse/index.html index c403de193f..0dec7067c3 100644 --- a/docs/conjure_core/parse/index.html +++ b/docs/conjure_core/parse/index.html @@ -1,3 +1,3 @@ -conjure_core::parse - Rust

      Module conjure_core::parse

      source ·

      Functions§

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> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

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

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

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

§

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>,

§

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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

\ No newline at end of file diff --git a/docs/conjure_core/rule_engine/enum.RewriteError.html b/docs/conjure_core/rule_engine/enum.RewriteError.html index 7d3b538403..069ab73f8d 100644 --- a/docs/conjure_core/rule_engine/enum.RewriteError.html +++ b/docs/conjure_core/rule_engine/enum.RewriteError.html @@ -1,6 +1,6 @@ -RewriteError in conjure_core::rule_engine - Rust

Enum conjure_core::rule_engine::RewriteError

source ·
pub enum RewriteError {
+RewriteError in conjure_core::rule_engine - Rust

Enum conjure_core::rule_engine::RewriteError

source ·
pub enum RewriteError {
     ResolveRulesError(ResolveRulesError),
-}

Variants§

§

ResolveRulesError(ResolveRulesError)

Trait Implementations§

source§

impl Debug for RewriteError

source§

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

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

impl Display for RewriteError

source§

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

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

impl Error for RewriteError

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +}

Variants§

§

ResolveRulesError(ResolveRulesError)

Trait Implementations§

source§

impl Debug for RewriteError

source§

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

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

impl Display for RewriteError

source§

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

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

impl Error for RewriteError

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. 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.

@@ -8,8 +8,8 @@ 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> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

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

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

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

§

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>,

§

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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

\ No newline at end of file diff --git a/docs/conjure_core/rule_engine/fn.get_rule_by_name.html b/docs/conjure_core/rule_engine/fn.get_rule_by_name.html index 364da7f3b4..3427981268 100644 --- a/docs/conjure_core/rule_engine/fn.get_rule_by_name.html +++ b/docs/conjure_core/rule_engine/fn.get_rule_by_name.html @@ -1,4 +1,4 @@ -get_rule_by_name in conjure_core::rule_engine - Rust

Function conjure_core::rule_engine::get_rule_by_name

source ·
pub fn get_rule_by_name(name: &str) -> Option<&'static Rule<'static>>
Expand description

Get a rule by name. +get_rule_by_name in conjure_core::rule_engine - Rust

Function conjure_core::rule_engine::get_rule_by_name

source ·
pub fn get_rule_by_name(name: &str) -> Option<&'static Rule<'static>>
Expand description

Get a rule by name. Returns the rule with the given name or None if it doesn’t exist.

§Example

use conjure_core::rule_engine::register_rule;
diff --git a/docs/conjure_core/rule_engine/fn.get_rule_priorities.html b/docs/conjure_core/rule_engine/fn.get_rule_priorities.html
index 4cc0812ea8..fe4986a3ed 100644
--- a/docs/conjure_core/rule_engine/fn.get_rule_priorities.html
+++ b/docs/conjure_core/rule_engine/fn.get_rule_priorities.html
@@ -1,4 +1,4 @@
-get_rule_priorities in conjure_core::rule_engine - Rust

Function conjure_core::rule_engine::get_rule_priorities

source ·
pub fn get_rule_priorities<'a>(
+get_rule_priorities in conjure_core::rule_engine - Rust

Function conjure_core::rule_engine::get_rule_priorities

source ·
pub fn get_rule_priorities<'a>(
     rule_sets: &Vec<&'a RuleSet<'a>>
 ) -> Result<HashMap<&'a Rule<'a>, u8>, ResolveRulesError>
Expand description

Convert a list of rule sets into a final map of rules to their priorities.

§Arguments

diff --git a/docs/conjure_core/rule_engine/fn.get_rule_set_by_name.html b/docs/conjure_core/rule_engine/fn.get_rule_set_by_name.html index b27ca56d05..c113f5526a 100644 --- a/docs/conjure_core/rule_engine/fn.get_rule_set_by_name.html +++ b/docs/conjure_core/rule_engine/fn.get_rule_set_by_name.html @@ -1,4 +1,4 @@ -get_rule_set_by_name in conjure_core::rule_engine - Rust

Function conjure_core::rule_engine::get_rule_set_by_name

source ·
pub fn get_rule_set_by_name(name: &str) -> Option<&'static RuleSet<'static>>
Expand description

Get a rule set by name. +get_rule_set_by_name in conjure_core::rule_engine - Rust

Function conjure_core::rule_engine::get_rule_set_by_name

source ·
pub fn get_rule_set_by_name(name: &str) -> Option<&'static RuleSet<'static>>
Expand description

Get a rule set by name. Returns the rule set with the given name or None if it doesn’t exist.

§Example

use conjure_core::rule_engine::register_rule_set;
diff --git a/docs/conjure_core/rule_engine/fn.get_rule_sets.html b/docs/conjure_core/rule_engine/fn.get_rule_sets.html
index 77c376c48d..adebf63585 100644
--- a/docs/conjure_core/rule_engine/fn.get_rule_sets.html
+++ b/docs/conjure_core/rule_engine/fn.get_rule_sets.html
@@ -1,4 +1,4 @@
-get_rule_sets in conjure_core::rule_engine - Rust

Function conjure_core::rule_engine::get_rule_sets

source ·
pub fn get_rule_sets() -> Vec<&'static RuleSet<'static>>
Expand description

Get all rule sets +get_rule_sets in conjure_core::rule_engine - Rust

Function conjure_core::rule_engine::get_rule_sets

source ·
pub fn get_rule_sets() -> Vec<&'static RuleSet<'static>>
Expand description

Get all rule sets Returns a Vec of static references to all rule sets registered with the register_rule_set macro. Rule sets are not guaranteed to be in any particular order.

§Example

diff --git a/docs/conjure_core/rule_engine/fn.get_rule_sets_for_solver_family.html b/docs/conjure_core/rule_engine/fn.get_rule_sets_for_solver_family.html index 951197cf60..e86bc59c56 100644 --- a/docs/conjure_core/rule_engine/fn.get_rule_sets_for_solver_family.html +++ b/docs/conjure_core/rule_engine/fn.get_rule_sets_for_solver_family.html @@ -1,4 +1,4 @@ -get_rule_sets_for_solver_family in conjure_core::rule_engine - Rust
pub fn get_rule_sets_for_solver_family(
+get_rule_sets_for_solver_family in conjure_core::rule_engine - Rust
pub fn get_rule_sets_for_solver_family(
     solver_family: SolverFamily
 ) -> Vec<&'static RuleSet<'static>>
Expand description

Get all rule sets for a given solver family. Returns a Vec of static references to all rule sets that are applicable to the given solver family.

diff --git a/docs/conjure_core/rule_engine/fn.get_rules.html b/docs/conjure_core/rule_engine/fn.get_rules.html index 8e1364e7eb..c0775a0775 100644 --- a/docs/conjure_core/rule_engine/fn.get_rules.html +++ b/docs/conjure_core/rule_engine/fn.get_rules.html @@ -1,4 +1,4 @@ -get_rules in conjure_core::rule_engine - Rust

Function conjure_core::rule_engine::get_rules

source ·
pub fn get_rules() -> Vec<&'static Rule<'static>>
Expand description

Returns a copied Vec of all rules registered with the register_rule macro.

+get_rules in conjure_core::rule_engine - Rust

Function conjure_core::rule_engine::get_rules

source ·
pub fn get_rules() -> Vec<&'static Rule<'static>>
Expand description

Returns a copied Vec of all rules registered with the register_rule macro.

Rules are not guaranteed to be in any particular order.

§Example


diff --git a/docs/conjure_core/rule_engine/fn.get_rules_vec.html b/docs/conjure_core/rule_engine/fn.get_rules_vec.html
index 256e964be4..cd7127b5d9 100644
--- a/docs/conjure_core/rule_engine/fn.get_rules_vec.html
+++ b/docs/conjure_core/rule_engine/fn.get_rules_vec.html
@@ -1,4 +1,4 @@
-get_rules_vec in conjure_core::rule_engine - Rust

Function conjure_core::rule_engine::get_rules_vec

source ·
pub fn get_rules_vec<'a>(
+get_rules_vec in conjure_core::rule_engine - Rust

Function conjure_core::rule_engine::get_rules_vec

source ·
pub fn get_rules_vec<'a>(
     rule_priorities: &HashMap<&'a Rule<'a>, u8>
 ) -> Vec<&'a Rule<'a>>
Expand description

Get a final ordering of rules based on their priorities and names.

§Arguments

diff --git a/docs/conjure_core/rule_engine/fn.resolve_rule_sets.html b/docs/conjure_core/rule_engine/fn.resolve_rule_sets.html index a9373b126f..4a4803059f 100644 --- a/docs/conjure_core/rule_engine/fn.resolve_rule_sets.html +++ b/docs/conjure_core/rule_engine/fn.resolve_rule_sets.html @@ -1,4 +1,4 @@ -resolve_rule_sets in conjure_core::rule_engine - Rust

Function conjure_core::rule_engine::resolve_rule_sets

source ·
pub fn resolve_rule_sets<'a>(
+resolve_rule_sets in conjure_core::rule_engine - Rust

Function conjure_core::rule_engine::resolve_rule_sets

source ·
pub fn resolve_rule_sets<'a>(
     target_solver: SolverFamily,
     extra_rs_names: &Vec<String>
 ) -> Result<Vec<&'a RuleSet<'static>>, ResolveRulesError>
Expand description

Resolves the final set of rule sets to apply based on target solver and extra rule set names.

diff --git a/docs/conjure_core/rule_engine/fn.rewrite_model.html b/docs/conjure_core/rule_engine/fn.rewrite_model.html index e4340e9bb7..5dbdc46f63 100644 --- a/docs/conjure_core/rule_engine/fn.rewrite_model.html +++ b/docs/conjure_core/rule_engine/fn.rewrite_model.html @@ -1,4 +1,4 @@ -rewrite_model in conjure_core::rule_engine - Rust

Function conjure_core::rule_engine::rewrite_model

source ·
pub fn rewrite_model<'a>(
+rewrite_model in conjure_core::rule_engine - Rust

Function conjure_core::rule_engine::rewrite_model

source ·
pub fn rewrite_model<'a>(
     model: &Model,
     rule_sets: &Vec<&'a RuleSet<'a>>
 ) -> Result<Model, RewriteError>
Expand description

Rewrites the model by applying the rules to all constraints.

diff --git a/docs/conjure_core/rule_engine/index.html b/docs/conjure_core/rule_engine/index.html index 58dda27380..f27d82f114 100644 --- a/docs/conjure_core/rule_engine/index.html +++ b/docs/conjure_core/rule_engine/index.html @@ -1,4 +1,4 @@ -conjure_core::rule_engine - Rust

Module conjure_core::rule_engine

source ·

Modules§

Macros§

source

pub fn apply(&self, expr: &Expression, mdl: &Model) -> ApplicationResult

Trait Implementations§

source§

impl<'a> Clone for Rule<'a>

source§

fn clone(&self) -> Rule<'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> Debug for Rule<'a>

source§

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

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

impl<'a> Display for Rule<'a>

source§

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

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

impl<'a> Hash for Rule<'a>

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 +) -> Self

source

pub fn apply(&self, expr: &Expression, mdl: &Model) -> ApplicationResult

Trait Implementations§

source§

impl<'a> Clone for Rule<'a>

source§

fn clone(&self) -> Rule<'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> Debug for Rule<'a>

source§

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

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

impl<'a> Display for Rule<'a>

source§

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

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

impl<'a> Hash for Rule<'a>

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<'a> PartialEq for Rule<'a>

source§

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

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

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

This method tests for !=. The default implementation is almost always @@ -27,8 +27,8 @@

§Fields

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

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

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

§

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> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

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

§

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> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

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

§

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>,

§

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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

\ No newline at end of file diff --git a/docs/conjure_core/rule_engine/struct.RuleSet.html b/docs/conjure_core/rule_engine/struct.RuleSet.html index 796ad90be2..6bbab505ee 100644 --- a/docs/conjure_core/rule_engine/struct.RuleSet.html +++ b/docs/conjure_core/rule_engine/struct.RuleSet.html @@ -1,4 +1,4 @@ -RuleSet in conjure_core::rule_engine - Rust

Struct conjure_core::rule_engine::RuleSet

source ·
pub struct RuleSet<'a> {
+RuleSet in conjure_core::rule_engine - Rust

Struct conjure_core::rule_engine::RuleSet

source ·
pub struct RuleSet<'a> {
     pub name: &'a str,
     pub order: u8,
     pub solver_families: &'a [SolverFamily],
@@ -32,8 +32,8 @@
 

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

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

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

§

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> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

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

§

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> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

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

§

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>,

§

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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

\ No newline at end of file diff --git a/docs/conjure_core/rule_engine/type.ApplicationResult.html b/docs/conjure_core/rule_engine/type.ApplicationResult.html index 027256ee90..72212d4d21 100644 --- a/docs/conjure_core/rule_engine/type.ApplicationResult.html +++ b/docs/conjure_core/rule_engine/type.ApplicationResult.html @@ -1,4 +1,4 @@ -ApplicationResult in conjure_core::rule_engine - Rust

Type Alias conjure_core::rule_engine::ApplicationResult

source ·
pub type ApplicationResult = Result<Reduction, ApplicationError>;
Expand description

The result of applying a rule to an expression. +ApplicationResult in conjure_core::rule_engine - Rust

Type Alias conjure_core::rule_engine::ApplicationResult

source ·
pub type ApplicationResult = Result<Reduction, ApplicationError>;
Expand description

The result of applying a rule to an expression. Contains either a set of reduction instructions or an error.

Aliased Type§

enum ApplicationResult {
     Ok(Reduction),
diff --git a/docs/conjure_core/rules/fn.eval_constant.html b/docs/conjure_core/rules/fn.eval_constant.html
index ecb8cee9d8..af0586b0ae 100644
--- a/docs/conjure_core/rules/fn.eval_constant.html
+++ b/docs/conjure_core/rules/fn.eval_constant.html
@@ -1,4 +1,4 @@
-eval_constant in conjure_core::rules - Rust

Function conjure_core::rules::eval_constant

source ·
pub fn eval_constant(expr: &Expression) -> Option<Constant>
Expand description

Simplify an expression to a constant if possible +eval_constant in conjure_core::rules - Rust

Function conjure_core::rules::eval_constant

source ·
pub fn eval_constant(expr: &Expression) -> Option<Constant>
Expand description

Simplify an expression to a constant if possible Returns: None if the expression cannot be simplified to a constant (e.g. if it contains a variable) Some(Const) if the expression can be simplified to a constant

diff --git a/docs/conjure_core/rules/index.html b/docs/conjure_core/rules/index.html index 55cc3c3521..da353a2be4 100644 --- a/docs/conjure_core/rules/index.html +++ b/docs/conjure_core/rules/index.html @@ -1,4 +1,4 @@ -conjure_core::rules - Rust

Module conjure_core::rules

source ·

Functions§

-
1.0.0 · source

pub fn rsplitn<F>(&self, n: usize, pred: F) -> RSplitN<'_, T, F>
where +

1.0.0 · source

pub fn rsplitn<F>(&self, n: usize, pred: F) -> RSplitN<'_, T, F>
where F: FnMut(&T) -> bool,

Returns an iterator over subslices separated by elements that match pred limited to returning at most n items. This starts at the end of the slice and works backwards. The matched element is not contained in the subslices.

The last element returned, if any, will contain the remainder of the slice.

-
§Examples
+
§Examples

Print the slice split once, starting from the end, by numbers divisible by 3 (i.e., [50], [10, 40, 30, 20]):

@@ -733,13 +684,13 @@
§Examplesfor group in v.rsplitn(2, |num| *num % 3 == 0) { println!("{group:?}"); }
-
source

pub fn split_once<F>(&self, pred: F) -> Option<(&[T], &[T])>
where +

source

pub fn split_once<F>(&self, pred: F) -> Option<(&[T], &[T])>
where F: FnMut(&T) -> bool,

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

Splits the slice on the first element that matches the specified predicate.

If any matching elements are present in the slice, returns the prefix before the match and suffix after. The matching element itself is not included. If no elements match, returns None.

-
§Examples
+
§Examples
#![feature(slice_split_once)]
 let s = [1, 2, 3, 2, 4];
 assert_eq!(s.split_once(|&x| x == 2), Some((
@@ -747,13 +698,13 @@ 
§Examples&[3, 2, 4][..] ))); assert_eq!(s.split_once(|&x| x == 0), None);
-
source

pub fn rsplit_once<F>(&self, pred: F) -> Option<(&[T], &[T])>
where +

source

pub fn rsplit_once<F>(&self, pred: F) -> Option<(&[T], &[T])>
where F: FnMut(&T) -> bool,

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

Splits the slice on the last element that matches the specified predicate.

If any matching elements are present in the slice, returns the prefix before the match and suffix after. The matching element itself is not included. If no elements match, returns None.

-
§Examples
+
§Examples
#![feature(slice_split_once)]
 let s = [1, 2, 3, 2, 4];
 assert_eq!(s.rsplit_once(|&x| x == 2), Some((
@@ -761,11 +712,11 @@ 
§Examples&[4][..] ))); assert_eq!(s.rsplit_once(|&x| x == 0), None);
-
1.0.0 · source

pub fn contains(&self, x: &T) -> bool
where +

1.0.0 · source

pub fn contains(&self, x: &T) -> bool
where T: PartialEq,

Returns true if the slice contains an element with the given value.

This operation is O(n).

Note that if you have a sorted slice, binary_search may be faster.

-
§Examples
+
§Examples
let v = [10, 40, 30];
 assert!(v.contains(&30));
 assert!(!v.contains(&50));
@@ -776,9 +727,9 @@
§Examples
let v = [String::from("hello"), String::from("world")]; // slice of `String`
 assert!(v.iter().any(|e| e == "hello")); // search with `&str`
 assert!(!v.iter().any(|e| e == "hi"));
-
1.0.0 · source

pub fn starts_with(&self, needle: &[T]) -> bool
where +

1.0.0 · source

pub fn starts_with(&self, needle: &[T]) -> bool
where T: PartialEq,

Returns true if needle is a prefix of the slice or equal to the slice.

-
§Examples
+
§Examples
let v = [10, 40, 30];
 assert!(v.starts_with(&[10]));
 assert!(v.starts_with(&[10, 40]));
@@ -791,9 +742,9 @@ 
§Examplesassert!(v.starts_with(&[])); let v: &[u8] = &[]; assert!(v.starts_with(&[]));
-
1.0.0 · source

pub fn ends_with(&self, needle: &[T]) -> bool
where +

1.0.0 · source

pub fn ends_with(&self, needle: &[T]) -> bool
where T: PartialEq,

Returns true if needle is a suffix of the slice or equal to the slice.

-
§Examples
+
§Examples
let v = [10, 40, 30];
 assert!(v.ends_with(&[30]));
 assert!(v.ends_with(&[40, 30]));
@@ -806,14 +757,14 @@ 
§Examplesassert!(v.ends_with(&[])); let v: &[u8] = &[]; assert!(v.ends_with(&[]));
-
1.51.0 · source

pub fn strip_prefix<P>(&self, prefix: &P) -> Option<&[T]>
where +

1.51.0 · source

pub fn strip_prefix<P>(&self, prefix: &P) -> Option<&[T]>
where P: SlicePattern<Item = T> + ?Sized, T: PartialEq,

Returns a subslice with the prefix removed.

If the slice starts with prefix, returns the subslice after the prefix, wrapped in Some. If prefix is empty, simply returns the original slice. If prefix is equal to the original slice, returns an empty slice.

If the slice does not start with prefix, returns None.

-
§Examples
+
§Examples
let v = &[10, 40, 30];
 assert_eq!(v.strip_prefix(&[10]), Some(&[40, 30][..]));
 assert_eq!(v.strip_prefix(&[10, 40]), Some(&[30][..]));
@@ -824,21 +775,21 @@ 
§Exampleslet prefix : &str = "he"; assert_eq!(b"hello".strip_prefix(prefix.as_bytes()), Some(b"llo".as_ref()));
-
1.51.0 · source

pub fn strip_suffix<P>(&self, suffix: &P) -> Option<&[T]>
where +

1.51.0 · source

pub fn strip_suffix<P>(&self, suffix: &P) -> Option<&[T]>
where P: SlicePattern<Item = T> + ?Sized, T: PartialEq,

Returns a subslice with the suffix removed.

If the slice ends with suffix, returns the subslice before the suffix, wrapped in Some. If suffix is empty, simply returns the original slice. If suffix is equal to the original slice, returns an empty slice.

If the slice does not end with suffix, returns None.

-
§Examples
+
§Examples
let v = &[10, 40, 30];
 assert_eq!(v.strip_suffix(&[30]), Some(&[10, 40][..]));
 assert_eq!(v.strip_suffix(&[40, 30]), Some(&[10][..]));
 assert_eq!(v.strip_suffix(&[10, 40, 30]), Some(&[][..]));
 assert_eq!(v.strip_suffix(&[50]), None);
 assert_eq!(v.strip_suffix(&[50, 30]), None);
-

Binary searches this slice for a given element. If the slice is not sorted, the returned result is unspecified and meaningless.

@@ -850,7 +801,7 @@
§Examples

See also binary_search_by, binary_search_by_key, and partition_point.

-
§Examples
+
§Examples

Looks up a series of four elements. The first is found, with a uniquely determined position; the second and third are not found; the fourth could match any position in [1, 4].

@@ -893,7 +844,7 @@
§Exampless.insert(idx, num); assert_eq!(s, [0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 42, 55]);
-
1.0.0 · source

pub fn binary_search_by<'a, F>(&'a self, f: F) -> Result<usize, usize>
where +

1.0.0 · source

pub fn binary_search_by<'a, F>(&'a self, f: F) -> Result<usize, usize>
where F: FnMut(&'a T) -> Ordering,

Binary searches this slice with a comparator function.

The comparator function should return an order code that indicates whether its argument is Less, Equal or Greater the desired @@ -909,7 +860,7 @@

§Examples

See also binary_search, binary_search_by_key, and partition_point.

-
§Examples
+
§Examples

Looks up a series of four elements. The first is found, with a uniquely determined position; the second and third are not found; the fourth could match any position in [1, 4].

@@ -925,7 +876,7 @@
§Exampleslet seek = 1; let r = s.binary_search_by(|probe| probe.cmp(&seek)); assert!(match r { Ok(1..=4) => true, _ => false, });
-
1.10.0 · source

pub fn binary_search_by_key<'a, B, F>( +

1.10.0 · source

pub fn binary_search_by_key<'a, B, F>( &'a self, b: &B, f: F @@ -944,7 +895,7 @@

§Examples

See also binary_search, binary_search_by, and partition_point.

-
§Examples
+
§Examples

Looks up a series of four elements in a slice of pairs sorted by their second elements. The first is found, with a uniquely determined position; the second and third are not found; the @@ -959,17 +910,17 @@

§Examplesassert_eq!(s.binary_search_by_key(&100, |&(a, b)| b), Err(13)); let r = s.binary_search_by_key(&1, |&(a, b)| b); assert!(match r { Ok(1..=4) => true, _ => false, });
-
1.30.0 · source

pub unsafe fn align_to<U>(&self) -> (&[T], &[U], &[T])

Transmute the slice to a slice of another type, ensuring alignment of the types is +

1.30.0 · source

pub unsafe fn align_to<U>(&self) -> (&[T], &[U], &[T])

Transmute the slice to a slice of another type, ensuring alignment of the types is maintained.

This method splits the slice into three distinct slices: prefix, correctly aligned middle slice of a new type, and the suffix slice. The middle part will be as big as possible under the given alignment constraint and element size.

This method has no purpose when either input element T or output element U are zero-sized and will return the original slice without splitting anything.

-
§Safety
+
§Safety

This method is essentially a transmute with respect to the elements in the returned middle slice, so all the usual caveats pertaining to transmute::<T, U> also apply here.

-
§Examples
+
§Examples

Basic usage:

unsafe {
@@ -979,7 +930,7 @@ 
§Examples}
-
source

pub fn as_simd<const LANES: usize>(&self) -> (&[T], &[Simd<T, LANES>], &[T])
where +

source

pub fn as_simd<const LANES: usize>(&self) -> (&[T], &[Simd<T, LANES>], &[T])

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

Split a slice into a prefix, a middle of aligned SIMD types, and a suffix.

@@ -1002,7 +953,7 @@
§Panics
supported. It’s possible that, in the future, those restrictions might be lifted in a way that would make it possible to see panics from this method for something like LANES == 3.

-
§Examples
+
§Examples
#![feature(portable_simd)]
 use core::simd::prelude::*;
 
@@ -1029,14 +980,14 @@ 
§Exampleslet numbers: Vec<f32> = (1..101).map(|x| x as _).collect(); assert_eq!(basic_simd_sum(&numbers[1..99]), 4949.0);
-
source

pub fn is_sorted(&self) -> bool
where +

source

pub fn is_sorted(&self) -> bool
where T: PartialOrd,

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

Checks if the elements of this slice are sorted.

That is, for each element a and its following element b, a <= b must hold. If the slice yields exactly zero or one element, true is returned.

Note that if Self::Item is only PartialOrd, but not Ord, the above definition implies that this function returns false if any two consecutive items are not comparable.

-
§Examples
+
§Examples
#![feature(is_sorted)]
 let empty: [i32; 0] = [];
 
@@ -1045,11 +996,11 @@ 
§Examplesassert!([0].is_sorted()); assert!(empty.is_sorted()); assert!(![0.0, 1.0, f32::NAN].is_sorted());
-
source

pub fn is_sorted_by<'a, F>(&'a self, compare: F) -> bool
where +

source

pub fn is_sorted_by<'a, F>(&'a self, compare: F) -> bool
where F: FnMut(&'a T, &'a T) -> bool,

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

Checks if the elements of this slice are sorted using the given comparator function.

Instead of using PartialOrd::partial_cmp, this function uses the given compare function to determine whether two elements are to be considered in sorted order.

-
§Examples
+
§Examples
#![feature(is_sorted)]
 
 assert!([1, 2, 2, 9].is_sorted_by(|a, b| a <= b));
@@ -1061,18 +1012,18 @@ 
§Exampleslet empty: [i32; 0] = []; assert!(empty.is_sorted_by(|a, b| false)); assert!(empty.is_sorted_by(|a, b| true));
-
source

pub fn is_sorted_by_key<'a, F, K>(&'a self, f: F) -> bool
where +

source

pub fn is_sorted_by_key<'a, F, K>(&'a self, f: F) -> bool
where F: FnMut(&'a T) -> K, K: PartialOrd,

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

Checks if the elements of this slice are sorted using the given key extraction function.

Instead of comparing the slice’s elements directly, this function compares the keys of the elements, as determined by f. Apart from that, it’s equivalent to is_sorted; see its documentation for more information.

-
§Examples
+
§Examples
#![feature(is_sorted)]
 
 assert!(["c", "bb", "aaa"].is_sorted_by_key(|s| s.len()));
 assert!(![-2i32, -1, 0, 3].is_sorted_by_key(|n| n.abs()));
-
1.52.0 · source

pub fn partition_point<P>(&self, pred: P) -> usize
where +

1.52.0 · source

pub fn partition_point<P>(&self, pred: P) -> usize
where P: FnMut(&T) -> bool,

Returns the index of the partition point according to the given predicate (the index of the first element of the second partition).

The slice is assumed to be partitioned according to the given predicate. @@ -1083,7 +1034,7 @@

§ExamplesIf this slice is not partitioned, the returned result is unspecified and meaningless, as this method performs a kind of binary search.

See also binary_search, binary_search_by, and binary_search_by_key.

-
§Examples
+
§Examples
let v = [1, 2, 3, 3, 5, 6, 7];
 let i = v.partition_point(|&x| x < 5);
 
@@ -1105,11 +1056,9 @@ 
§Exampleslet idx = s.partition_point(|&x| x <= num); s.insert(idx, num); assert_eq!(s, [0, 1, 1, 1, 1, 2, 3, 5, 8, 13, 21, 34, 42, 55]);
-
source

pub fn as_str(&self) -> &str

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

Views this slice of ASCII characters as a UTF-8 str.

-
source

pub fn as_bytes(&self) -> &[u8]

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

Views this slice of ASCII characters as a slice of u8 bytes.

-
1.80.0 · source

pub fn utf8_chunks(&self) -> Utf8Chunks<'_>

Creates an iterator over the contiguous valid UTF-8 ranges of this +

1.79.0 · source

pub fn utf8_chunks(&self) -> Utf8Chunks<'_>

Creates an iterator over the contiguous valid UTF-8 ranges of this slice, and the non-UTF-8 fragments in between.

-
§Examples
+
§Examples

This function formats arbitrary but mostly-UTF-8 bytes into Rust source code in the form of a C-string literal (c"...").

@@ -1136,16 +1085,47 @@
§Exampleslet expected = stringify!(c"\xFErris the 🦀\u{7}"); assert_eq!(lit, expected); }
-
1.23.0 · source

pub fn to_ascii_uppercase(&self) -> Vec<u8>

Returns a vector containing a copy of this slice where each byte -is mapped to its ASCII upper case equivalent.

-

ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, -but non-ASCII letters are unchanged.

-

To uppercase the value in-place, use make_ascii_uppercase.

-
1.23.0 · source

pub fn to_ascii_lowercase(&self) -> Vec<u8>

Returns a vector containing a copy of this slice where each byte -is mapped to its ASCII lower case equivalent.

-

ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, -but non-ASCII letters are unchanged.

-

To lowercase the value in-place, use make_ascii_lowercase.

+
1.23.0 · source

pub fn is_ascii(&self) -> bool

Checks if all bytes in this slice are within the ASCII range.

+
source

pub fn as_ascii(&self) -> Option<&[AsciiChar]>

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

If this slice is_ascii, returns it as a slice of +ASCII characters, otherwise returns None.

+
source

pub unsafe fn as_ascii_unchecked(&self) -> &[AsciiChar]

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

Converts this slice of bytes into a slice of ASCII characters, +without checking whether they’re valid.

+
§Safety
+

Every byte in the slice must be in 0..=127, or else this is UB.

+
1.23.0 · source

pub fn eq_ignore_ascii_case(&self, other: &[u8]) -> bool

Checks that two slices are an ASCII case-insensitive match.

+

Same as to_ascii_lowercase(a) == to_ascii_lowercase(b), +but without allocating and copying temporaries.

+
1.60.0 · source

pub fn escape_ascii(&self) -> EscapeAscii<'_>

Returns an iterator that produces an escaped version of this slice, +treating it as an ASCII string.

+
§Examples
+

+let s = b"0\t\r\n'\"\\\x9d";
+let escaped = s.escape_ascii().to_string();
+assert_eq!(escaped, "0\\t\\r\\n\\'\\\"\\\\\\x9d");
+
1.80.0 · source

pub fn trim_ascii_start(&self) -> &[u8]

Returns a byte slice with leading ASCII whitespace bytes removed.

+

‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

+
§Examples
+
assert_eq!(b" \t hello world\n".trim_ascii_start(), b"hello world\n");
+assert_eq!(b"  ".trim_ascii_start(), b"");
+assert_eq!(b"".trim_ascii_start(), b"");
+
1.80.0 · source

pub fn trim_ascii_end(&self) -> &[u8]

Returns a byte slice with trailing ASCII whitespace bytes removed.

+

‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

+
§Examples
+
assert_eq!(b"\r hello world\n ".trim_ascii_end(), b"\r hello world");
+assert_eq!(b"  ".trim_ascii_end(), b"");
+assert_eq!(b"".trim_ascii_end(), b"");
+
1.80.0 · source

pub fn trim_ascii(&self) -> &[u8]

Returns a byte slice with leading and trailing ASCII whitespace bytes +removed.

+

‘Whitespace’ refers to the definition used by +u8::is_ascii_whitespace.

+
§Examples
+
assert_eq!(b"\r hello world\n ".trim_ascii(), b"hello world");
+assert_eq!(b"  ".trim_ascii(), b"");
+assert_eq!(b"".trim_ascii(), b"");
+
source

pub fn as_str(&self) -> &str

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

Views this slice of ASCII characters as a UTF-8 str.

+
source

pub fn as_bytes(&self) -> &[u8]

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

Views this slice of ASCII characters as a slice of u8 bytes.

1.0.0 · source

pub fn to_vec(&self) -> Vec<T>
where T: Clone,

Copies self into a new Vec.

§Examples
@@ -1200,6 +1180,16 @@
§Examples§Examples
assert_eq!(["hello", "world"].connect(" "), "hello world");
 assert_eq!([[1, 2], [3, 4]].connect(&0), [1, 2, 0, 3, 4]);
+
1.23.0 · source

pub fn to_ascii_uppercase(&self) -> Vec<u8>

Returns a vector containing a copy of this slice where each byte +is mapped to its ASCII upper case equivalent.

+

ASCII letters ‘a’ to ‘z’ are mapped to ‘A’ to ‘Z’, +but non-ASCII letters are unchanged.

+

To uppercase the value in-place, use make_ascii_uppercase.

+
1.23.0 · source

pub fn to_ascii_lowercase(&self) -> Vec<u8>

Returns a vector containing a copy of this slice where each byte +is mapped to its ASCII lower case equivalent.

+

ASCII letters ‘A’ to ‘Z’ are mapped to ‘a’ to ‘z’, +but non-ASCII letters are unchanged.

+

To lowercase the value in-place, use make_ascii_lowercase.

Trait Implementations§

source§

impl<T> Clone for DistributedSlice<[T]>

source§

fn clone(&self) -> DistributedSlice<[T]>

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<T> Deref for DistributedSlice<[T]>
where T: 'static,

§

type Target = [T]

The resulting type after dereferencing.
source§

fn deref(&self) -> &'static <DistributedSlice<[T]> as Deref>::Target

Dereferences the value.
source§

impl<T> IntoIterator for DistributedSlice<[T]>
where T: 'static,

§

type Item = &'static T

The type of the elements being iterated over.
§

type IntoIter = Iter<'static, T>

Which kind of iterator are we turning this into?
source§

fn into_iter(self) -> <DistributedSlice<[T]> as IntoIterator>::IntoIter

Creates an iterator from a value. Read more
source§

impl<T> Copy for DistributedSlice<[T]>

Auto Trait Implementations§

§

impl<T> Freeze for DistributedSlice<T>
where @@ -1223,4 +1213,4 @@
§ExamplesClone,

§

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>,

§

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>,

§

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.
§

impl<V, T> VZip<V> for T
where - V: MultiLane<T>,

§

fn vzip(self) -> V

\ No newline at end of file + V: MultiLane<T>,
§

fn vzip(self) -> V

\ No newline at end of file diff --git a/docs/conjure_oxide/rule_engine/attr.distributed_slice.html b/docs/conjure_oxide/rule_engine/attr.distributed_slice.html index 6aa5cd4580..75751544d6 100644 --- a/docs/conjure_oxide/rule_engine/attr.distributed_slice.html +++ b/docs/conjure_oxide/rule_engine/attr.distributed_slice.html @@ -1 +1 @@ -distributed_slice in conjure_oxide::rule_engine - Rust

Attribute Macro conjure_oxide::rule_engine::distributed_slice

#[distributed_slice]
\ No newline at end of file +distributed_slice in conjure_oxide::rule_engine - Rust

Attribute Macro conjure_oxide::rule_engine::distributed_slice

#[distributed_slice]
\ No newline at end of file diff --git a/docs/conjure_oxide/rule_engine/attr.register_rule.html b/docs/conjure_oxide/rule_engine/attr.register_rule.html index 0bb8789a8f..b0257a7f7a 100644 --- a/docs/conjure_oxide/rule_engine/attr.register_rule.html +++ b/docs/conjure_oxide/rule_engine/attr.register_rule.html @@ -1,2 +1,2 @@ -register_rule in conjure_oxide::rule_engine - Rust

Attribute Macro conjure_oxide::rule_engine::register_rule

source ·
#[register_rule]
Expand description

Register a rule with the given rule sets and priorities.

+register_rule in conjure_oxide::rule_engine - Rust

Attribute Macro conjure_oxide::rule_engine::register_rule

source ·
#[register_rule]
Expand description

Register a rule with the given rule sets and priorities.

\ No newline at end of file diff --git a/docs/conjure_oxide/rule_engine/enum.ApplicationError.html b/docs/conjure_oxide/rule_engine/enum.ApplicationError.html index c326656db8..fc01e30551 100644 --- a/docs/conjure_oxide/rule_engine/enum.ApplicationError.html +++ b/docs/conjure_oxide/rule_engine/enum.ApplicationError.html @@ -1,7 +1,7 @@ -ApplicationError in conjure_oxide::rule_engine - Rust

Enum conjure_oxide::rule_engine::ApplicationError

source ·
pub enum ApplicationError {
+ApplicationError in conjure_oxide::rule_engine - Rust

Enum conjure_oxide::rule_engine::ApplicationError

source ·
pub enum ApplicationError {
     RuleNotApplicable,
     DomainError,
-}

Variants§

§

RuleNotApplicable

§

DomainError

Trait Implementations§

source§

impl Debug for ApplicationError

source§

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

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

impl Display for ApplicationError

source§

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

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

impl Error for ApplicationError

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +}

Variants§

§

RuleNotApplicable

§

DomainError

Trait Implementations§

source§

impl Debug for ApplicationError

source§

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

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

impl Display for ApplicationError

source§

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

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

impl Error for ApplicationError

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. 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.

@@ -9,8 +9,8 @@ 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> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

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

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

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

§

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>,

§

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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

\ No newline at end of file diff --git a/docs/conjure_oxide/rule_engine/enum.RewriteError.html b/docs/conjure_oxide/rule_engine/enum.RewriteError.html index 4f8423fab9..9373760e56 100644 --- a/docs/conjure_oxide/rule_engine/enum.RewriteError.html +++ b/docs/conjure_oxide/rule_engine/enum.RewriteError.html @@ -1,6 +1,6 @@ -RewriteError in conjure_oxide::rule_engine - Rust

Enum conjure_oxide::rule_engine::RewriteError

source ·
pub enum RewriteError {
+RewriteError in conjure_oxide::rule_engine - Rust

Enum conjure_oxide::rule_engine::RewriteError

source ·
pub enum RewriteError {
     ResolveRulesError(ResolveRulesError),
-}

Variants§

§

ResolveRulesError(ResolveRulesError)

Trait Implementations§

source§

impl Debug for RewriteError

source§

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

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

impl Display for RewriteError

source§

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

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

impl Error for RewriteError

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<ResolveRulesError> for RewriteError

source§

fn from(error: ResolveRulesError) -> RewriteError

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where +}

Variants§

§

ResolveRulesError(ResolveRulesError)

Trait Implementations§

source§

impl Debug for RewriteError

source§

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

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

impl Display for RewriteError

source§

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

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

impl Error for RewriteError

1.30.0 · source§

fn source(&self) -> Option<&(dyn Error + 'static)>

The lower-level source of this error, if any. Read more
1.0.0 · source§

fn description(&self) -> &str

👎Deprecated since 1.42.0: use the Display impl or to_string()
1.0.0 · source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type based access to context intended for error reports. Read more
source§

impl From<ResolveRulesError> for RewriteError

source§

fn from(error: ResolveRulesError) -> RewriteError

Converts to this type from the input type.

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.

@@ -8,8 +8,8 @@ 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> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

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

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

impl<T> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

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

§

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>,

§

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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

\ No newline at end of file diff --git a/docs/conjure_oxide/rule_engine/fn.get_rule_by_name.html b/docs/conjure_oxide/rule_engine/fn.get_rule_by_name.html index d4973612c7..6001eaaa99 100644 --- a/docs/conjure_oxide/rule_engine/fn.get_rule_by_name.html +++ b/docs/conjure_oxide/rule_engine/fn.get_rule_by_name.html @@ -1,4 +1,4 @@ -get_rule_by_name in conjure_oxide::rule_engine - Rust

Function conjure_oxide::rule_engine::get_rule_by_name

source ·
pub fn get_rule_by_name(name: &str) -> Option<&'static Rule<'static>>
Expand description

Get a rule by name. +get_rule_by_name in conjure_oxide::rule_engine - Rust

Function conjure_oxide::rule_engine::get_rule_by_name

source ·
pub fn get_rule_by_name(name: &str) -> Option<&'static Rule<'static>>
Expand description

Get a rule by name. Returns the rule with the given name or None if it doesn’t exist.

§Example

use conjure_core::rule_engine::register_rule;
diff --git a/docs/conjure_oxide/rule_engine/fn.get_rule_priorities.html b/docs/conjure_oxide/rule_engine/fn.get_rule_priorities.html
index 780df56a7f..88c66592b0 100644
--- a/docs/conjure_oxide/rule_engine/fn.get_rule_priorities.html
+++ b/docs/conjure_oxide/rule_engine/fn.get_rule_priorities.html
@@ -1,4 +1,4 @@
-get_rule_priorities in conjure_oxide::rule_engine - Rust

Function conjure_oxide::rule_engine::get_rule_priorities

source ·
pub fn get_rule_priorities<'a>(
+get_rule_priorities in conjure_oxide::rule_engine - Rust

Function conjure_oxide::rule_engine::get_rule_priorities

source ·
pub fn get_rule_priorities<'a>(
     rule_sets: &Vec<&'a RuleSet<'a>>
 ) -> Result<HashMap<&'a Rule<'a>, u8>, ResolveRulesError>
Expand description

Convert a list of rule sets into a final map of rules to their priorities.

§Arguments

diff --git a/docs/conjure_oxide/rule_engine/fn.get_rule_set_by_name.html b/docs/conjure_oxide/rule_engine/fn.get_rule_set_by_name.html index 99cf69ae98..94a24758f3 100644 --- a/docs/conjure_oxide/rule_engine/fn.get_rule_set_by_name.html +++ b/docs/conjure_oxide/rule_engine/fn.get_rule_set_by_name.html @@ -1,4 +1,4 @@ -get_rule_set_by_name in conjure_oxide::rule_engine - Rust

Function conjure_oxide::rule_engine::get_rule_set_by_name

source ·
pub fn get_rule_set_by_name(name: &str) -> Option<&'static RuleSet<'static>>
Expand description

Get a rule set by name. +get_rule_set_by_name in conjure_oxide::rule_engine - Rust

Function conjure_oxide::rule_engine::get_rule_set_by_name

source ·
pub fn get_rule_set_by_name(name: &str) -> Option<&'static RuleSet<'static>>
Expand description

Get a rule set by name. Returns the rule set with the given name or None if it doesn’t exist.

§Example

use conjure_core::rule_engine::register_rule_set;
diff --git a/docs/conjure_oxide/rule_engine/fn.get_rule_sets.html b/docs/conjure_oxide/rule_engine/fn.get_rule_sets.html
index 72558f64de..b1cb7c4cd4 100644
--- a/docs/conjure_oxide/rule_engine/fn.get_rule_sets.html
+++ b/docs/conjure_oxide/rule_engine/fn.get_rule_sets.html
@@ -1,4 +1,4 @@
-get_rule_sets in conjure_oxide::rule_engine - Rust

Function conjure_oxide::rule_engine::get_rule_sets

source ·
pub fn get_rule_sets() -> Vec<&'static RuleSet<'static>>
Expand description

Get all rule sets +get_rule_sets in conjure_oxide::rule_engine - Rust

Function conjure_oxide::rule_engine::get_rule_sets

source ·
pub fn get_rule_sets() -> Vec<&'static RuleSet<'static>>
Expand description

Get all rule sets Returns a Vec of static references to all rule sets registered with the register_rule_set macro. Rule sets are not guaranteed to be in any particular order.

§Example

diff --git a/docs/conjure_oxide/rule_engine/fn.get_rule_sets_for_solver_family.html b/docs/conjure_oxide/rule_engine/fn.get_rule_sets_for_solver_family.html index 3e42cae3e8..2eb9a229d2 100644 --- a/docs/conjure_oxide/rule_engine/fn.get_rule_sets_for_solver_family.html +++ b/docs/conjure_oxide/rule_engine/fn.get_rule_sets_for_solver_family.html @@ -1,4 +1,4 @@ -get_rule_sets_for_solver_family in conjure_oxide::rule_engine - Rust
pub fn get_rule_sets_for_solver_family(
+get_rule_sets_for_solver_family in conjure_oxide::rule_engine - Rust
pub fn get_rule_sets_for_solver_family(
     solver_family: SolverFamily
 ) -> Vec<&'static RuleSet<'static>>
Expand description

Get all rule sets for a given solver family. Returns a Vec of static references to all rule sets that are applicable to the given solver family.

diff --git a/docs/conjure_oxide/rule_engine/fn.get_rules.html b/docs/conjure_oxide/rule_engine/fn.get_rules.html index 382346f26a..9c66de97a8 100644 --- a/docs/conjure_oxide/rule_engine/fn.get_rules.html +++ b/docs/conjure_oxide/rule_engine/fn.get_rules.html @@ -1,4 +1,4 @@ -get_rules in conjure_oxide::rule_engine - Rust

Function conjure_oxide::rule_engine::get_rules

source ·
pub fn get_rules() -> Vec<&'static Rule<'static>>
Expand description

Returns a copied Vec of all rules registered with the register_rule macro.

+get_rules in conjure_oxide::rule_engine - Rust

Function conjure_oxide::rule_engine::get_rules

source ·
pub fn get_rules() -> Vec<&'static Rule<'static>>
Expand description

Returns a copied Vec of all rules registered with the register_rule macro.

Rules are not guaranteed to be in any particular order.

§Example


diff --git a/docs/conjure_oxide/rule_engine/fn.get_rules_vec.html b/docs/conjure_oxide/rule_engine/fn.get_rules_vec.html
index 02c5dd2e59..16331414ef 100644
--- a/docs/conjure_oxide/rule_engine/fn.get_rules_vec.html
+++ b/docs/conjure_oxide/rule_engine/fn.get_rules_vec.html
@@ -1,4 +1,4 @@
-get_rules_vec in conjure_oxide::rule_engine - Rust

Function conjure_oxide::rule_engine::get_rules_vec

source ·
pub fn get_rules_vec<'a>(
+get_rules_vec in conjure_oxide::rule_engine - Rust

Function conjure_oxide::rule_engine::get_rules_vec

source ·
pub fn get_rules_vec<'a>(
     rule_priorities: &HashMap<&'a Rule<'a>, u8>
 ) -> Vec<&'a Rule<'a>>
Expand description

Get a final ordering of rules based on their priorities and names.

§Arguments

diff --git a/docs/conjure_oxide/rule_engine/fn.resolve_rule_sets.html b/docs/conjure_oxide/rule_engine/fn.resolve_rule_sets.html index 07e5d58758..0a65b1ae9c 100644 --- a/docs/conjure_oxide/rule_engine/fn.resolve_rule_sets.html +++ b/docs/conjure_oxide/rule_engine/fn.resolve_rule_sets.html @@ -1,4 +1,4 @@ -resolve_rule_sets in conjure_oxide::rule_engine - Rust

Function conjure_oxide::rule_engine::resolve_rule_sets

source ·
pub fn resolve_rule_sets<'a>(
+resolve_rule_sets in conjure_oxide::rule_engine - Rust

Function conjure_oxide::rule_engine::resolve_rule_sets

source ·
pub fn resolve_rule_sets<'a>(
     target_solver: SolverFamily,
     extra_rs_names: &Vec<String>
 ) -> Result<Vec<&'a RuleSet<'static>>, ResolveRulesError>
Expand description

Resolves the final set of rule sets to apply based on target solver and extra rule set names.

diff --git a/docs/conjure_oxide/rule_engine/fn.rewrite_model.html b/docs/conjure_oxide/rule_engine/fn.rewrite_model.html index 519d549960..6628d076ad 100644 --- a/docs/conjure_oxide/rule_engine/fn.rewrite_model.html +++ b/docs/conjure_oxide/rule_engine/fn.rewrite_model.html @@ -1,4 +1,4 @@ -rewrite_model in conjure_oxide::rule_engine - Rust

Function conjure_oxide::rule_engine::rewrite_model

source ·
pub fn rewrite_model<'a>(
+rewrite_model in conjure_oxide::rule_engine - Rust

Function conjure_oxide::rule_engine::rewrite_model

source ·
pub fn rewrite_model<'a>(
     model: &Model,
     rule_sets: &Vec<&'a RuleSet<'a>>
 ) -> Result<Model, RewriteError>
Expand description

Rewrites the model by applying the rules to all constraints.

diff --git a/docs/conjure_oxide/rule_engine/index.html b/docs/conjure_oxide/rule_engine/index.html index 22374be29d..c6a74f49e5 100644 --- a/docs/conjure_oxide/rule_engine/index.html +++ b/docs/conjure_oxide/rule_engine/index.html @@ -1,4 +1,4 @@ -conjure_oxide::rule_engine - Rust

Module conjure_oxide::rule_engine

source ·

Modules§

Macros§

  • Register a rule set with the given name, priority, and dependencies.Example

Structs§

  • The result of applying a rule to an expression.
  • A rule with a name, application function, and rule sets.
  • A set of rules with a name, priority, and dependencies.

Enums§

Functions§

source

pub fn get_dependencies(&self) -> &HashSet<&'static RuleSet<'_>>

Get the dependencies of this rule set, evaluating them lazily if necessary Returns a &HashSet<&RuleSet> of the rule sets that this rule set depends on.

source

pub fn with_dependencies(&self) -> HashSet<&'static RuleSet<'_>>

Get the dependencies of this rule set, including itself

-

Trait Implementations§

source§

impl<'a> Clone for RuleSet<'a>

source§

fn clone(&self) -> RuleSet<'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> Debug for RuleSet<'a>

source§

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

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

impl<'a> Display for RuleSet<'a>

source§

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

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

impl<'a> Hash for RuleSet<'a>

source§

fn hash<H>(&self, state: &mut H)
where +

Trait Implementations§

source§

impl<'a> Clone for RuleSet<'a>

source§

fn clone(&self) -> RuleSet<'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> Debug for RuleSet<'a>

source§

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

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

impl<'a> Display for RuleSet<'a>

source§

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

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

impl<'a> Hash for RuleSet<'a>

source§

fn hash<H>(&self, state: &mut H)
where 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 H: Hasher, Self: Sized,

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

impl<'a> PartialEq for RuleSet<'a>

source§

fn eq(&self, other: &RuleSet<'a>) -> bool

This method tests for self and other values to be equal, and is used @@ -33,8 +33,8 @@

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

source§

impl<T> Same for T

§

type Output = T

Should always be Self
source§

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

§

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> ToString for T
where - T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

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

§

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> ToString for T
where + T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

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

§

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>,

§

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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

\ No newline at end of file diff --git a/docs/conjure_oxide/rule_engine/type.ApplicationResult.html b/docs/conjure_oxide/rule_engine/type.ApplicationResult.html index 3131afd1e0..d8ede6c73e 100644 --- a/docs/conjure_oxide/rule_engine/type.ApplicationResult.html +++ b/docs/conjure_oxide/rule_engine/type.ApplicationResult.html @@ -1,4 +1,4 @@ -ApplicationResult in conjure_oxide::rule_engine - Rust

Type Alias conjure_oxide::rule_engine::ApplicationResult

source ·
pub type ApplicationResult = Result<Reduction, ApplicationError>;
Expand description

The result of applying a rule to an expression. +ApplicationResult in conjure_oxide::rule_engine - Rust

Type Alias conjure_oxide::rule_engine::ApplicationResult

source ·
pub type ApplicationResult = Result<Reduction, ApplicationError>;
Expand description

The result of applying a rule to an expression. Contains either a set of reduction instructions or an error.

Aliased Type§

enum ApplicationResult {
     Ok(Reduction),
diff --git a/docs/conjure_oxide/rules/fn.eval_constant.html b/docs/conjure_oxide/rules/fn.eval_constant.html
index e678a91642..d63103e713 100644
--- a/docs/conjure_oxide/rules/fn.eval_constant.html
+++ b/docs/conjure_oxide/rules/fn.eval_constant.html
@@ -1,4 +1,4 @@
-eval_constant in conjure_oxide::rules - Rust

Function conjure_oxide::rules::eval_constant

source ·
pub fn eval_constant(expr: &Expression) -> Option<Constant>
Expand description

Simplify an expression to a constant if possible +eval_constant in conjure_oxide::rules - Rust

Function conjure_oxide::rules::eval_constant

source ·
pub fn eval_constant(expr: &Expression) -> Option<Constant>
Expand description

Simplify an expression to a constant if possible Returns: None if the expression cannot be simplified to a constant (e.g. if it contains a variable) Some(Const) if the expression can be simplified to a constant

diff --git a/docs/conjure_oxide/rules/index.html b/docs/conjure_oxide/rules/index.html index af18b17409..771f9392fe 100644 --- a/docs/conjure_oxide/rules/index.html +++ b/docs/conjure_oxide/rules/index.html @@ -1,4 +1,4 @@ -conjure_oxide::rules - Rust

Module conjure_oxide::rules

source ·

Functions§

  • Simplify an expression to a constant if possible +conjure_oxide::rules - Rust

    Module conjure_oxide::rules

    source ·

    Functions§

    • Simplify an expression to a constant if possible Returns: None if the expression cannot be simplified to a constant (e.g. if it contains a variable) Some(Const) if the expression can be simplified to a constant
    \ No newline at end of file diff --git a/docs/conjure_oxide/solver/adaptors/index.html b/docs/conjure_oxide/solver/adaptors/index.html index 81ac1404a4..a717e94daf 100644 --- a/docs/conjure_oxide/solver/adaptors/index.html +++ b/docs/conjure_oxide/solver/adaptors/index.html @@ -1,2 +1,2 @@ -conjure_oxide::solver::adaptors - Rust

    Module conjure_oxide::solver::adaptors

    source ·
    Expand description

    Solver adaptors.

    +conjure_oxide::solver::adaptors - Rust

    Module conjure_oxide::solver::adaptors

    source ·
    Expand description

    Solver adaptors.

    Structs§

    \ No newline at end of file diff --git a/docs/conjure_oxide/solver/adaptors/struct.Kissat.html b/docs/conjure_oxide/solver/adaptors/struct.Kissat.html index 94e32763c1..ace8ea6c5b 100644 --- a/docs/conjure_oxide/solver/adaptors/struct.Kissat.html +++ b/docs/conjure_oxide/solver/adaptors/struct.Kissat.html @@ -1,4 +1,4 @@ -Kissat in conjure_oxide::solver::adaptors - Rust

    Struct conjure_oxide::solver::adaptors::Kissat

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

    A SolverAdaptor for interacting with the Kissat SAT solver.

    +Kissat in conjure_oxide::solver::adaptors - Rust

    Struct conjure_oxide::solver::adaptors::Kissat

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

    A SolverAdaptor for interacting with the Kissat SAT solver.

    Implementations§

    Trait Implementations§

    source§

    impl Default for Kissat

    source§

    fn default() -> Kissat

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

    impl SolverAdaptor for Kissat

    source§

    fn solve( &mut self, callback: Box<dyn Fn(HashMap<Name, Constant>) -> bool + Send>, diff --git a/docs/conjure_oxide/solver/adaptors/struct.Minion.html b/docs/conjure_oxide/solver/adaptors/struct.Minion.html index 1ac481f73a..dcf7aa4882 100644 --- a/docs/conjure_oxide/solver/adaptors/struct.Minion.html +++ b/docs/conjure_oxide/solver/adaptors/struct.Minion.html @@ -1,4 +1,4 @@ -Minion in conjure_oxide::solver::adaptors - Rust

    Struct conjure_oxide::solver::adaptors::Minion

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

    A SolverAdaptor for interacting with Minion.

    +Minion in conjure_oxide::solver::adaptors - Rust

    Struct conjure_oxide::solver::adaptors::Minion

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

    A SolverAdaptor for interacting with Minion.

    This adaptor uses the minion_rs crate to talk to Minion over FFI.

    Implementations§

    Trait Implementations§

    source§

    impl Default for Minion

    source§

    fn default() -> Minion

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

    impl SolverAdaptor for Minion

    source§

    fn solve( &mut self, diff --git a/docs/conjure_oxide/solver/enum.SearchComplete.html b/docs/conjure_oxide/solver/enum.SearchComplete.html index 9eb7911ce6..3267653723 100644 --- a/docs/conjure_oxide/solver/enum.SearchComplete.html +++ b/docs/conjure_oxide/solver/enum.SearchComplete.html @@ -1,4 +1,4 @@ -SearchComplete in conjure_oxide::solver - Rust

    Enum conjure_oxide::solver::SearchComplete

    source ·
    #[non_exhaustive]
    pub enum SearchComplete { +SearchComplete in conjure_oxide::solver - Rust

    Enum conjure_oxide::solver::SearchComplete

    source ·
    #[non_exhaustive]
    pub enum SearchComplete { HasSolutions, NoSolutions, }

    Variants (Non-exhaustive)§

    This enum is marked as non-exhaustive
    Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
    §

    HasSolutions

    §

    NoSolutions

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where diff --git a/docs/conjure_oxide/solver/enum.SearchIncomplete.html b/docs/conjure_oxide/solver/enum.SearchIncomplete.html index 72b4e9b03e..2384b335e1 100644 --- a/docs/conjure_oxide/solver/enum.SearchIncomplete.html +++ b/docs/conjure_oxide/solver/enum.SearchIncomplete.html @@ -1,4 +1,4 @@ -SearchIncomplete in conjure_oxide::solver - Rust

    Enum conjure_oxide::solver::SearchIncomplete

    source ·
    #[non_exhaustive]
    pub enum SearchIncomplete { +SearchIncomplete in conjure_oxide::solver - Rust

    Enum conjure_oxide::solver::SearchIncomplete

    source ·
    #[non_exhaustive]
    pub enum SearchIncomplete { Timeout, UserTerminated, }

    Variants (Non-exhaustive)§

    This enum is marked as non-exhaustive
    Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
    §

    Timeout

    §

    UserTerminated

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where diff --git a/docs/conjure_oxide/solver/enum.SearchStatus.html b/docs/conjure_oxide/solver/enum.SearchStatus.html index 87df8de2b8..d39e546be8 100644 --- a/docs/conjure_oxide/solver/enum.SearchStatus.html +++ b/docs/conjure_oxide/solver/enum.SearchStatus.html @@ -1,4 +1,4 @@ -SearchStatus in conjure_oxide::solver - Rust

    Enum conjure_oxide::solver::SearchStatus

    source ·
    pub enum SearchStatus {
    +SearchStatus in conjure_oxide::solver - Rust

    Enum conjure_oxide::solver::SearchStatus

    source ·
    pub enum SearchStatus {
         Complete(SearchComplete),
         Incomplete(SearchIncomplete),
     }

    Variants§

    §

    Complete(SearchComplete)

    The search was complete (i.e. the solver found all possible solutions)

    diff --git a/docs/conjure_oxide/solver/enum.SolverError.html b/docs/conjure_oxide/solver/enum.SolverError.html index 42deb92425..4803ce437f 100644 --- a/docs/conjure_oxide/solver/enum.SolverError.html +++ b/docs/conjure_oxide/solver/enum.SolverError.html @@ -1,4 +1,4 @@ -SolverError in conjure_oxide::solver - Rust

    Enum conjure_oxide::solver::SolverError

    source ·
    #[non_exhaustive]
    pub enum SolverError { +SolverError in conjure_oxide::solver - Rust

    Enum conjure_oxide::solver::SolverError

    source ·
    #[non_exhaustive]
    pub enum SolverError { OpNotImplemented(String), OpNotSupported(String), ModelFeatureNotSupported(String), @@ -7,7 +7,7 @@ RuntimeNotImplemented(String), Runtime(String), }
    Expand description

    Errors returned by Solver on failure.

    -

    Variants (Non-exhaustive)§

    This enum is marked as non-exhaustive
    Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
    §

    OpNotImplemented(String)

    §

    OpNotSupported(String)

    §

    ModelFeatureNotSupported(String)

    §

    ModelFeatureNotImplemented(String)

    §

    ModelInvalid(String)

    §

    RuntimeNotImplemented(String)

    §

    Runtime(String)

    Trait Implementations§

    source§

    impl Clone for SolverError

    source§

    fn clone(&self) -> SolverError

    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 SolverError

    source§

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

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

    impl Display for SolverError

    source§

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

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

    impl Error for SolverError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +

    Variants (Non-exhaustive)§

    This enum is marked as non-exhaustive
    Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
    §

    OpNotImplemented(String)

    §

    OpNotSupported(String)

    §

    ModelFeatureNotSupported(String)

    §

    ModelFeatureNotImplemented(String)

    §

    ModelInvalid(String)

    §

    RuntimeNotImplemented(String)

    §

    Runtime(String)

    Trait Implementations§

    source§

    impl Clone for SolverError

    source§

    fn clone(&self) -> SolverError

    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 SolverError

    source§

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

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

    impl Display for SolverError

    source§

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

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

    impl Error for SolverError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. 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> DynClone for T
    where @@ -17,8 +17,8 @@

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

    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

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

    §

    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> ToString for T
    where - T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

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

    §

    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> ToString for T
    where + T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

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

    §

    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>,

    §

    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.
    §

    impl<V, T> VZip<V> for T
    where V: MultiLane<T>,

    §

    fn vzip(self) -> V

    \ No newline at end of file diff --git a/docs/conjure_oxide/solver/enum.SolverFamily.html b/docs/conjure_oxide/solver/enum.SolverFamily.html index ad0ad0ca65..83544c8990 100644 --- a/docs/conjure_oxide/solver/enum.SolverFamily.html +++ b/docs/conjure_oxide/solver/enum.SolverFamily.html @@ -1,10 +1,10 @@ -SolverFamily in conjure_oxide::solver - Rust

    Enum conjure_oxide::solver::SolverFamily

    source ·
    pub enum SolverFamily {
    +SolverFamily in conjure_oxide::solver - Rust

    Enum conjure_oxide::solver::SolverFamily

    source ·
    pub enum SolverFamily {
         SAT,
         Minion,
    -}

    Variants§

    §

    SAT

    §

    Minion

    Trait Implementations§

    source§

    impl Clone for SolverFamily

    source§

    fn clone(&self) -> SolverFamily

    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 SolverFamily

    source§

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

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

    impl<'de> Deserialize<'de> for SolverFamily

    Variants§

    §

    SAT

    §

    Minion

    Trait Implementations§

    source§

    impl Clone for SolverFamily

    source§

    fn clone(&self) -> SolverFamily

    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 SolverFamily

    source§

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

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

    impl<'de> Deserialize<'de> for SolverFamily

    source§

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

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

    impl Display for SolverFamily

    source§

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

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

    impl FromStr for SolverFamily

    §

    type Err = ParseError

    The associated error which can be returned from parsing.
    source§

    fn from_str(s: &str) -> Result<SolverFamily, <SolverFamily as FromStr>::Err>

    Parses a string s to return a value of this type. Read more
    source§

    impl Hash for SolverFamily

    source§

    fn hash<__H>(&self, state: &mut __H)
    where + __D: Deserializer<'de>,

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

    impl Display for SolverFamily

    source§

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

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

    impl FromStr for SolverFamily

    §

    type Err = ParseError

    The associated error which can be returned from parsing.
    source§

    fn from_str(s: &str) -> Result<SolverFamily, <SolverFamily as FromStr>::Err>

    Parses a string s to return a value of this type. Read more
    source§

    impl Hash for SolverFamily

    source§

    fn hash<__H>(&self, state: &mut __H)
    where __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 H: Hasher, Self: Sized,

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

    impl IntoEnumIterator for SolverFamily

    source§

    impl JsonSchema for SolverFamily

    source§

    fn schema_name() -> String

    The name of the generated JSON Schema. Read more
    source§

    fn schema_id() -> Cow<'static, str>

    Returns a string that uniquely identifies the schema produced by this type. Read more
    source§

    fn json_schema(gen: &mut SchemaGenerator) -> Schema

    Generates a JSON Schema for this type. Read more
    §

    fn is_referenceable() -> bool

    Whether JSON Schemas generated for this type should be re-used where possible using the $ref keyword. Read more
    source§

    impl PartialEq for SolverFamily

    source§

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

    This method tests for self and other values to be equal, and is used @@ -29,8 +29,8 @@ &self, serializer: &mut dyn Serializer ) -> Result<(), ErrorImpl>

    source§

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

    §

    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> ToString for T
    where - T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

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

    §

    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> ToString for T
    where + T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

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

    §

    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>,

    §

    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.
    §

    impl<V, T> VZip<V> for T
    where V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where diff --git a/docs/conjure_oxide/solver/index.html b/docs/conjure_oxide/solver/index.html index d48b7f0c91..1cc35ca21a 100644 --- a/docs/conjure_oxide/solver/index.html +++ b/docs/conjure_oxide/solver/index.html @@ -1,4 +1,4 @@ -conjure_oxide::solver - Rust

    Module conjure_oxide::solver

    source ·
    Expand description

    A high-level API for interacting with constraints solvers.

    +conjure_oxide::solver - Rust

    Module conjure_oxide::solver

    source ·
    Expand description

    A high-level API for interacting with constraints solvers.

    This module provides a consistent, solver-independent API for interacting with constraints solvers. It also provides incremental solving support, and the returning of run stats from solvers.

    diff --git a/docs/conjure_oxide/solver/model_modifier/enum.ModificationFailure.html b/docs/conjure_oxide/solver/model_modifier/enum.ModificationFailure.html index 9e95e6bf7c..8d975c637e 100644 --- a/docs/conjure_oxide/solver/model_modifier/enum.ModificationFailure.html +++ b/docs/conjure_oxide/solver/model_modifier/enum.ModificationFailure.html @@ -1,4 +1,4 @@ -ModificationFailure in conjure_oxide::solver::model_modifier - Rust
    #[non_exhaustive]
    pub enum ModificationFailure { +ModificationFailure in conjure_oxide::solver::model_modifier - Rust
    #[non_exhaustive]
    pub enum ModificationFailure { OpNotSupported, OpNotImplemented, ArgsInvalid(Error), diff --git a/docs/conjure_oxide/solver/model_modifier/index.html b/docs/conjure_oxide/solver/model_modifier/index.html index 852cf6be70..2c3761464b 100644 --- a/docs/conjure_oxide/solver/model_modifier/index.html +++ b/docs/conjure_oxide/solver/model_modifier/index.html @@ -1,4 +1,4 @@ -conjure_oxide::solver::model_modifier - Rust

    Module conjure_oxide::solver::model_modifier

    source ·
    Expand description

    Modifying a model during search.

    +conjure_oxide::solver::model_modifier - Rust

    Module conjure_oxide::solver::model_modifier

    source ·
    Expand description

    Modifying a model during search.

    Incremental solving can be triggered for a solverthrough the Solver::solve_mut method.

    This gives access to a ModelModifier in the solution retrieval callback.

    diff --git a/docs/conjure_oxide/solver/model_modifier/struct.NotModifiable.html b/docs/conjure_oxide/solver/model_modifier/struct.NotModifiable.html index 1ecc894cba..96879a5876 100644 --- a/docs/conjure_oxide/solver/model_modifier/struct.NotModifiable.html +++ b/docs/conjure_oxide/solver/model_modifier/struct.NotModifiable.html @@ -1,4 +1,4 @@ -NotModifiable in conjure_oxide::solver::model_modifier - Rust

    Struct conjure_oxide::solver::model_modifier::NotModifiable

    source ·
    pub struct NotModifiable;
    Expand description

    A ModelModifier for a solver that does not support incremental solving. Returns +NotModifiable in conjure_oxide::solver::model_modifier - Rust

    Struct conjure_oxide::solver::model_modifier::NotModifiable

    source ·
    pub struct NotModifiable;
    Expand description

    A ModelModifier for a solver that does not support incremental solving. Returns OperationNotSupported for all operations.

    Trait Implementations§

    source§

    impl ModelModifier for NotModifiable

    source§

    fn add_constraint( &self, diff --git a/docs/conjure_oxide/solver/model_modifier/trait.ModelModifier.html b/docs/conjure_oxide/solver/model_modifier/trait.ModelModifier.html index 4646be0ff4..832a0d7ba8 100644 --- a/docs/conjure_oxide/solver/model_modifier/trait.ModelModifier.html +++ b/docs/conjure_oxide/solver/model_modifier/trait.ModelModifier.html @@ -1,4 +1,4 @@ -ModelModifier in conjure_oxide::solver::model_modifier - Rust

    Trait conjure_oxide::solver::model_modifier::ModelModifier

    source ·
    pub trait ModelModifier: Sealed {
    +ModelModifier in conjure_oxide::solver::model_modifier - Rust

    Trait conjure_oxide::solver::model_modifier::ModelModifier

    source ·
    pub trait ModelModifier: Sealed {
         // Provided methods
         fn add_constraint(
             &self,
    diff --git a/docs/conjure_oxide/solver/states/index.html b/docs/conjure_oxide/solver/states/index.html
    index a5f99120de..6a90ed212b 100644
    --- a/docs/conjure_oxide/solver/states/index.html
    +++ b/docs/conjure_oxide/solver/states/index.html
    @@ -1,2 +1,2 @@
    -conjure_oxide::solver::states - Rust

    Module conjure_oxide::solver::states

    source ·
    Expand description

    States of a Solver.

    +conjure_oxide::solver::states - Rust

    Module conjure_oxide::solver::states

    source ·
    Expand description

    States of a Solver.

    Structs§

    Traits§

    \ No newline at end of file diff --git a/docs/conjure_oxide/solver/states/struct.ExecutionFailure.html b/docs/conjure_oxide/solver/states/struct.ExecutionFailure.html index 16679a1272..b25830a5c3 100644 --- a/docs/conjure_oxide/solver/states/struct.ExecutionFailure.html +++ b/docs/conjure_oxide/solver/states/struct.ExecutionFailure.html @@ -1,4 +1,4 @@ -ExecutionFailure in conjure_oxide::solver::states - Rust

    Struct conjure_oxide::solver::states::ExecutionFailure

    source ·
    pub struct ExecutionFailure {
    +ExecutionFailure in conjure_oxide::solver::states - Rust

    Struct conjure_oxide::solver::states::ExecutionFailure

    source ·
    pub struct ExecutionFailure {
         pub why: SolverError,
         pub _sealed: Internal,
     }
    Expand description

    The state returned by Solver if solving has not been successful.

    diff --git a/docs/conjure_oxide/solver/states/struct.ExecutionSuccess.html b/docs/conjure_oxide/solver/states/struct.ExecutionSuccess.html index c240e8b773..3cc8d9f81d 100644 --- a/docs/conjure_oxide/solver/states/struct.ExecutionSuccess.html +++ b/docs/conjure_oxide/solver/states/struct.ExecutionSuccess.html @@ -1,4 +1,4 @@ -ExecutionSuccess in conjure_oxide::solver::states - Rust

    Struct conjure_oxide::solver::states::ExecutionSuccess

    source ·
    pub struct ExecutionSuccess {
    +ExecutionSuccess in conjure_oxide::solver::states - Rust

    Struct conjure_oxide::solver::states::ExecutionSuccess

    source ·
    pub struct ExecutionSuccess {
         pub stats: SolverStats,
         pub status: SearchStatus,
         pub _sealed: Internal,
    diff --git a/docs/conjure_oxide/solver/states/struct.Init.html b/docs/conjure_oxide/solver/states/struct.Init.html
    index cd46af5190..78b7777c97 100644
    --- a/docs/conjure_oxide/solver/states/struct.Init.html
    +++ b/docs/conjure_oxide/solver/states/struct.Init.html
    @@ -1,4 +1,4 @@
    -Init in conjure_oxide::solver::states - Rust

    Struct conjure_oxide::solver::states::Init

    source ·
    pub struct Init;

    Trait Implementations§

    Auto Trait Implementations§

    §

    impl Freeze for Init

    §

    impl RefUnwindSafe for Init

    §

    impl Send for Init

    §

    impl Sync for Init

    §

    impl Unpin for Init

    §

    impl UnwindSafe for Init

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +Init in conjure_oxide::solver::states - Rust

    Struct conjure_oxide::solver::states::Init

    source ·
    pub struct Init;

    Trait Implementations§

    Auto Trait Implementations§

    §

    impl Freeze for Init

    §

    impl RefUnwindSafe for Init

    §

    impl Send for Init

    §

    impl Sync for Init

    §

    impl Unpin for Init

    §

    impl UnwindSafe for Init

    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.

    diff --git a/docs/conjure_oxide/solver/states/struct.ModelLoaded.html b/docs/conjure_oxide/solver/states/struct.ModelLoaded.html index 7d4284723e..542810b8fc 100644 --- a/docs/conjure_oxide/solver/states/struct.ModelLoaded.html +++ b/docs/conjure_oxide/solver/states/struct.ModelLoaded.html @@ -1,4 +1,4 @@ -ModelLoaded in conjure_oxide::solver::states - Rust

    Struct conjure_oxide::solver::states::ModelLoaded

    source ·
    pub struct ModelLoaded;

    Trait Implementations§

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +ModelLoaded in conjure_oxide::solver::states - Rust

    Struct conjure_oxide::solver::states::ModelLoaded

    source ·
    pub struct ModelLoaded;

    Trait Implementations§

    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.

    diff --git a/docs/conjure_oxide/solver/states/trait.SolverState.html b/docs/conjure_oxide/solver/states/trait.SolverState.html index d4529ac4a0..27b67b9cea 100644 --- a/docs/conjure_oxide/solver/states/trait.SolverState.html +++ b/docs/conjure_oxide/solver/states/trait.SolverState.html @@ -1 +1 @@ -SolverState in conjure_oxide::solver::states - Rust

    Trait conjure_oxide::solver::states::SolverState

    source ·
    pub trait SolverState: Sealed { }

    Implementors§

    \ No newline at end of file +SolverState in conjure_oxide::solver::states - Rust

    Trait conjure_oxide::solver::states::SolverState

    source ·
    pub trait SolverState: Sealed { }

    Implementors§

    \ No newline at end of file diff --git a/docs/conjure_oxide/solver/struct.SolveSuccess.html b/docs/conjure_oxide/solver/struct.SolveSuccess.html index 3ebb5685d0..d19300d7ce 100644 --- a/docs/conjure_oxide/solver/struct.SolveSuccess.html +++ b/docs/conjure_oxide/solver/struct.SolveSuccess.html @@ -1,4 +1,4 @@ -SolveSuccess in conjure_oxide::solver - Rust

    Struct conjure_oxide::solver::SolveSuccess

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

    Returned from SolverAdaptor when solving is successful.

    +SolveSuccess in conjure_oxide::solver - Rust

    Struct conjure_oxide::solver::SolveSuccess

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

    Returned from SolverAdaptor when solving is successful.

    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/docs/conjure_oxide/solver/struct.Solver.html b/docs/conjure_oxide/solver/struct.Solver.html index 341cc4b242..24ea1d479c 100644 --- a/docs/conjure_oxide/solver/struct.Solver.html +++ b/docs/conjure_oxide/solver/struct.Solver.html @@ -1,4 +1,4 @@ -Solver in conjure_oxide::solver - Rust

    Struct conjure_oxide::solver::Solver

    source ·
    pub struct Solver<A, State = Init>
    where +Solver in conjure_oxide::solver - Rust

    Struct conjure_oxide::solver::Solver

    source ·
    pub struct Solver<A, State = Init>
    where A: SolverAdaptor, State: SolverState,
    { /* private fields */ }
    Expand description

    An abstract representation of a constraints solver.

    Solver provides a common interface for interacting with a constraint solver. It also diff --git a/docs/conjure_oxide/solver/struct.SolverFamilyIter.html b/docs/conjure_oxide/solver/struct.SolverFamilyIter.html index e600b90df5..218d8c2118 100644 --- a/docs/conjure_oxide/solver/struct.SolverFamilyIter.html +++ b/docs/conjure_oxide/solver/struct.SolverFamilyIter.html @@ -1,4 +1,4 @@ -SolverFamilyIter in conjure_oxide::solver - Rust

    Struct conjure_oxide::solver::SolverFamilyIter

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

    An iterator over the variants of SolverFamily

    +SolverFamilyIter in conjure_oxide::solver - Rust

    Struct conjure_oxide::solver::SolverFamilyIter

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

    An iterator over the variants of SolverFamily

    Trait Implementations§

    source§

    impl Clone for SolverFamilyIter

    source§

    fn clone(&self) -> SolverFamilyIter

    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 SolverFamilyIter

    source§

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

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

    impl DoubleEndedIterator for SolverFamilyIter

    source§

    fn next_back(&mut self) -> Option<<SolverFamilyIter as Iterator>::Item>

    Removes and returns an element from the end of the iterator. Read more
    source§

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator from the back by n elements. Read more
    1.37.0 · source§

    fn nth_back(&mut self, n: usize) -> Option<Self::Item>

    Returns the nth element from the end of the iterator. Read more
    1.27.0 · source§

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where Self: Sized, F: FnMut(B, Self::Item) -> R, @@ -35,64 +35,64 @@ P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element should be yielded. Read more
    1.0.0 · source§

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where Self: Sized, - F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 · source§

    fn enumerate(self) -> Enumerate<Self>
    where + F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 · source§

    fn enumerate(self) -> Enumerate<Self>
    where Self: Sized,

    Creates an iterator which gives the current iteration count as well as -the next value. Read more
    1.0.0 · source§

    fn peekable(self) -> Peekable<Self>
    where +the next value. Read more

    1.0.0 · source§

    fn peekable(self) -> Peekable<Self>
    where Self: Sized,

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

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where +their documentation for more information. Read more

    1.0.0 · source§

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where Self: Sized, - P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 · source§

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where + P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 · source§

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where Self: Sized, - P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 · source§

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where + P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 · source§

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where Self: Sized, - P: FnMut(Self::Item) -> Option<B>,

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

    fn skip(self, n: usize) -> Skip<Self>
    where - Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 · source§

    fn take(self, n: usize) -> Take<Self>
    where + P: FnMut(Self::Item) -> Option<B>,

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

    fn skip(self, n: usize) -> Skip<Self>
    where + Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 · source§

    fn take(self, n: usize) -> Take<Self>
    where Self: Sized,

    Creates an iterator that yields the first n elements, or fewer -if the underlying iterator ends sooner. Read more
    1.0.0 · source§

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where +if the underlying iterator ends sooner. Read more

    1.0.0 · source§

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where Self: Sized, F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but -unlike fold, produces a new iterator. Read more
    1.0.0 · source§

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where +unlike fold, produces a new iterator. Read more

    1.0.0 · source§

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where Self: Sized, U: IntoIterator, - F: FnMut(Self::Item) -> U,

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

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where + F: FnMut(Self::Item) -> U,

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

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where Self: Sized, F: FnMut(&[Self::Item; N]) -> R,

    🔬This is a nightly-only experimental API. (iter_map_windows)
    Calls the given function f for each contiguous window of size N over self and returns an iterator over the outputs of f. Like slice::windows(), -the windows during mapping overlap as well. Read more
    1.0.0 · source§

    fn fuse(self) -> Fuse<Self>
    where - Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 · source§

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where +the windows during mapping overlap as well. Read more

    1.0.0 · source§

    fn fuse(self) -> Fuse<Self>
    where + Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 · source§

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where Self: Sized, - F: FnMut(&Self::Item),

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

    fn by_ref(&mut self) -> &mut Self
    where - Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 · source§

    fn collect<B>(self) -> B
    where + F: FnMut(&Self::Item),

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

    fn by_ref(&mut self) -> &mut Self
    where + Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 · source§

    fn collect<B>(self) -> B
    where B: FromIterator<Self::Item>, - Self: Sized,

    Transforms an iterator into a collection. Read more
    source§

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where + Self: Sized,

    Transforms an iterator into a collection. Read more
    source§

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where E: Extend<Self::Item>, - Self: Sized,

    🔬This is a nightly-only experimental API. (iter_collect_into)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 · source§

    fn partition<B, F>(self, f: F) -> (B, B)
    where + Self: Sized,

    🔬This is a nightly-only experimental API. (iter_collect_into)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 · source§

    fn partition<B, F>(self, f: F) -> (B, B)
    where Self: Sized, B: Default + Extend<Self::Item>, - F: FnMut(&Self::Item) -> bool,

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

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where + F: FnMut(&Self::Item) -> bool,

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

    fn partition_in_place<'a, T, P>(self, predicate: P) -> usize
    where T: 'a, Self: Sized + DoubleEndedIterator<Item = &'a mut T>, P: FnMut(&T) -> bool,

    🔬This is a nightly-only experimental API. (iter_partition_in_place)
    Reorders the elements of this iterator in-place according to the given predicate, such that all those that return true precede all those that return false. -Returns the number of true elements found. Read more
    source§

    fn is_partitioned<P>(self, predicate: P) -> bool
    where +Returns the number of true elements found. Read more

    source§

    fn is_partitioned<P>(self, predicate: P) -> bool
    where Self: Sized, P: FnMut(Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_is_partitioned)
    Checks if the elements of this iterator are partitioned according to the given predicate, -such that all those that return true precede all those that return false. Read more
    1.27.0 · source§

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where +such that all those that return true precede all those that return false. Read more

    1.27.0 · source§

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where Self: Sized, F: FnMut(B, Self::Item) -> R, R: Try<Output = B>,

    An iterator method that applies a function as long as it returns -successfully, producing a single, final value. Read more
    1.27.0 · source§

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where +successfully, producing a single, final value. Read more

    1.27.0 · source§

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where Self: Sized, F: FnMut(Self::Item) -> R, R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the -iterator, stopping at the first error and returning that error. Read more
    1.0.0 · source§

    fn fold<B, F>(self, init: B, f: F) -> B
    where +iterator, stopping at the first error and returning that error. Read more

    1.0.0 · source§

    fn fold<B, F>(self, init: B, f: F) -> B
    where Self: Sized, F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation, -returning the final result. Read more
    1.51.0 · source§

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where +returning the final result. Read more

    1.51.0 · source§

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where Self: Sized, F: FnMut(Self::Item, Self::Item) -> Self::Item,

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

    fn try_reduce<F, R>( +operation. Read more

    source§

    fn try_reduce<F, R>( &mut self, f: F ) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where @@ -100,16 +100,16 @@ F: FnMut(Self::Item, Self::Item) -> R, R: Try<Output = Self::Item>, <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (iterator_try_reduce)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the -closure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 · source§

    fn all<F>(&mut self, f: F) -> bool
    where +closure returns a failure, the failure is propagated back to the caller immediately. Read more

    1.0.0 · source§

    fn all<F>(&mut self, f: F) -> bool
    where Self: Sized, - F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn any<F>(&mut self, f: F) -> bool
    where + F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn any<F>(&mut self, f: F) -> bool
    where Self: Sized, - F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where + F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where Self: Sized, - P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 · source§

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where + P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 · source§

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where Self: Sized, F: FnMut(Self::Item) -> Option<B>,

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

    fn try_find<F, R>( +the first non-none result. Read more

    source§

    fn try_find<F, R>( &mut self, f: F ) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where @@ -117,84 +117,84 @@ F: FnMut(&Self::Item) -> R, R: Try<Output = bool>, <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (try_find)
    Applies function to the elements of iterator and returns -the first true result or the first error. Read more
    1.0.0 · source§

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where +the first true result or the first error. Read more

    1.0.0 · source§

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where Self: Sized, - P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 · source§

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where + P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.0.0 · source§

    fn rposition<P>(&mut self, predicate: P) -> Option<usize>
    where P: FnMut(Self::Item) -> bool, Self: Sized + ExactSizeIterator + DoubleEndedIterator,

    Searches for an element in an iterator from the right, returning its -index. Read more
    1.6.0 · source§

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where +index. Read more

    1.6.0 · source§

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where B: Ord, Self: Sized, F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the -specified function. Read more
    1.15.0 · source§

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where +specified function. Read more

    1.15.0 · source§

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where Self: Sized, F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the -specified comparison function. Read more
    1.6.0 · source§

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where +specified comparison function. Read more

    1.6.0 · source§

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where B: Ord, Self: Sized, F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the -specified function. Read more
    1.15.0 · source§

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where +specified function. Read more

    1.15.0 · source§

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where Self: Sized, F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the -specified comparison function. Read more
    1.0.0 · source§

    fn rev(self) -> Rev<Self>
    where - Self: Sized + DoubleEndedIterator,

    Reverses an iterator’s direction. Read more
    1.0.0 · source§

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where +specified comparison function. Read more

    1.0.0 · source§

    fn rev(self) -> Rev<Self>
    where + Self: Sized + DoubleEndedIterator,

    Reverses an iterator’s direction. Read more
    1.0.0 · source§

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where FromA: Default + Extend<A>, FromB: Default + Extend<B>, - Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 · source§

    fn copied<'a, T>(self) -> Copied<Self>
    where + Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 · source§

    fn copied<'a, T>(self) -> Copied<Self>
    where T: 'a + Copy, - Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 · source§

    fn cloned<'a, T>(self) -> Cloned<Self>
    where + Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 · source§

    fn cloned<'a, T>(self) -> Cloned<Self>
    where T: 'a + Clone, - Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    1.0.0 · source§

    fn cycle(self) -> Cycle<Self>
    where - Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source§

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where - Self: Sized,

    🔬This is a nightly-only experimental API. (iter_array_chunks)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 · source§

    fn sum<S>(self) -> S
    where + Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which clones all of its elements. Read more
    1.0.0 · source§

    fn cycle(self) -> Cycle<Self>
    where + Self: Sized + Clone,

    Repeats an iterator endlessly. Read more
    source§

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where + Self: Sized,

    🔬This is a nightly-only experimental API. (iter_array_chunks)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 · source§

    fn sum<S>(self) -> S
    where Self: Sized, - S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 · source§

    fn product<P>(self) -> P
    where + S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 · source§

    fn product<P>(self) -> P
    where Self: Sized, - P: Product<Self::Item>,

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

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where + P: Product<Self::Item>,

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

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where Self: Sized, I: IntoIterator, F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those -of another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where +of another with respect to the specified comparison function. Read more

    1.5.0 · source§

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where I: IntoIterator, Self::Item: PartialOrd<<I as IntoIterator>::Item>, Self: Sized,

    Lexicographically compares the PartialOrd elements of this Iterator with those of another. The comparison works like short-circuit evaluation, returning a result without comparing the remaining elements. -As soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source§

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where +As soon as an order can be determined, the evaluation stops and a result is returned. Read more

    source§

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where Self: Sized, I: IntoIterator, F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those -of another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn eq<I>(self, other: I) -> bool
    where +of another with respect to the specified comparison function. Read more

    1.5.0 · source§

    fn eq<I>(self, other: I) -> bool
    where I: IntoIterator, Self::Item: PartialEq<<I as IntoIterator>::Item>, Self: Sized,

    Determines if the elements of this Iterator are equal to those of -another. Read more
    source§

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where +another. Read more

    source§

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where Self: Sized, I: IntoIterator, F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Determines if the elements of this Iterator are equal to those of -another with respect to the specified equality function. Read more
    1.5.0 · source§

    fn ne<I>(self, other: I) -> bool
    where +another with respect to the specified equality function. Read more

    1.5.0 · source§

    fn ne<I>(self, other: I) -> bool
    where I: IntoIterator, Self::Item: PartialEq<<I as IntoIterator>::Item>, Self: Sized,

    Determines if the elements of this Iterator are not equal to those of -another. Read more
    1.5.0 · source§

    fn lt<I>(self, other: I) -> bool
    where +another. Read more

    1.5.0 · source§

    fn lt<I>(self, other: I) -> bool
    where I: IntoIterator, Self::Item: PartialOrd<<I as IntoIterator>::Item>, Self: Sized,

    Determines if the elements of this Iterator are lexicographically -less than those of another. Read more
    1.5.0 · source§

    fn le<I>(self, other: I) -> bool
    where +less than those of another. Read more

    1.5.0 · source§

    fn le<I>(self, other: I) -> bool
    where I: IntoIterator, Self::Item: PartialOrd<<I as IntoIterator>::Item>, Self: Sized,

    Determines if the elements of this Iterator are lexicographically -less or equal to those of another. Read more
    1.5.0 · source§

    fn gt<I>(self, other: I) -> bool
    where +less or equal to those of another. Read more

    1.5.0 · source§

    fn gt<I>(self, other: I) -> bool
    where I: IntoIterator, Self::Item: PartialOrd<<I as IntoIterator>::Item>, Self: Sized,

    Determines if the elements of this Iterator are lexicographically -greater than those of another. Read more
    1.5.0 · source§

    fn ge<I>(self, other: I) -> bool
    where +greater than those of another. Read more

    1.5.0 · source§

    fn ge<I>(self, other: I) -> bool
    where I: IntoIterator, Self::Item: PartialOrd<<I as IntoIterator>::Item>, Self: Sized,

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

    fn is_sorted_by<F>(self, compare: F) -> bool
    where +greater than or equal to those of another. Read more

    source§

    fn is_sorted_by<F>(self, compare: F) -> bool
    where Self: Sized, - F: FnMut(&Self::Item, &Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source§

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where + F: FnMut(&Self::Item, &Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source§

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where Self: Sized, F: FnMut(Self::Item) -> K, K: PartialOrd,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given key extraction @@ -207,8 +207,8 @@ 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<I> IntoIterator for I
    where - I: Iterator,

    §

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    §

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable · source§

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source§

    impl<I> IteratorRandom for I
    where +

    source§

    impl<I> IntoIterator for I
    where + I: Iterator,

    §

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    §

    type IntoIter = I

    Which kind of iterator are we turning this into?
    const: unstable · source§

    fn into_iter(self) -> I

    Creates an iterator from a value. Read more
    source§

    impl<I> IteratorRandom for I
    where I: Iterator,

    source§

    fn choose<R>(self, rng: &mut R) -> Option<Self::Item>
    where R: Rng + ?Sized,

    Choose one element at random from the iterator. Read more
    source§

    fn choose_stable<R>(self, rng: &mut R) -> Option<Self::Item>
    where R: Rng + ?Sized,

    Choose one element at random from the iterator. Read more
    source§

    fn choose_multiple_fill<R>(self, rng: &mut R, buf: &mut [Self::Item]) -> usize
    where diff --git a/docs/conjure_oxide/solver/trait.SolverAdaptor.html b/docs/conjure_oxide/solver/trait.SolverAdaptor.html index 79f36bf123..eec3bbb618 100644 --- a/docs/conjure_oxide/solver/trait.SolverAdaptor.html +++ b/docs/conjure_oxide/solver/trait.SolverAdaptor.html @@ -1,4 +1,4 @@ -SolverAdaptor in conjure_oxide::solver - Rust

    Trait conjure_oxide::solver::SolverAdaptor

    source ·
    pub trait SolverAdaptor: Sealed + Any {
    +SolverAdaptor in conjure_oxide::solver - Rust

    Trait conjure_oxide::solver::SolverAdaptor

    source ·
    pub trait SolverAdaptor: Sealed + Any {
         // Required methods
         fn solve(
             &mut self,
    diff --git a/docs/conjure_oxide/solver/type.SolverCallback.html b/docs/conjure_oxide/solver/type.SolverCallback.html
    index 7137aceb95..af09c59d49 100644
    --- a/docs/conjure_oxide/solver/type.SolverCallback.html
    +++ b/docs/conjure_oxide/solver/type.SolverCallback.html
    @@ -1,3 +1,3 @@
    -SolverCallback in conjure_oxide::solver - Rust

    Type Alias conjure_oxide::solver::SolverCallback

    source ·
    pub type SolverCallback = Box<dyn Fn(HashMap<Name, Constant>) -> bool + Send>;
    Expand description

    The type for user-defined callbacks for use with Solver.

    +SolverCallback in conjure_oxide::solver - Rust

    Type Alias conjure_oxide::solver::SolverCallback

    source ·
    pub type SolverCallback = Box<dyn Fn(HashMap<Name, Constant>) -> bool + Send>;
    Expand description

    The type for user-defined callbacks for use with Solver.

    Note that this enforces thread safety

    Aliased Type§

    struct SolverCallback(/* private fields */);
    \ No newline at end of file diff --git a/docs/conjure_oxide/solver/type.SolverMutCallback.html b/docs/conjure_oxide/solver/type.SolverMutCallback.html index 0ad4e7f0e4..c9ba9dc28f 100644 --- a/docs/conjure_oxide/solver/type.SolverMutCallback.html +++ b/docs/conjure_oxide/solver/type.SolverMutCallback.html @@ -1 +1 @@ -SolverMutCallback in conjure_oxide::solver - Rust

    Type Alias conjure_oxide::solver::SolverMutCallback

    source ·
    pub type SolverMutCallback = Box<dyn Fn(HashMap<Name, Constant>, Box<dyn ModelModifier>) -> bool + Send>;

    Aliased Type§

    struct SolverMutCallback(/* private fields */);
    \ No newline at end of file +SolverMutCallback in conjure_oxide::solver - Rust

    Type Alias conjure_oxide::solver::SolverMutCallback

    source ·
    pub type SolverMutCallback = Box<dyn Fn(HashMap<Name, Constant>, Box<dyn ModelModifier>) -> bool + Send>;

    Aliased Type§

    struct SolverMutCallback(/* private fields */);
    \ No newline at end of file diff --git a/docs/conjure_oxide/struct.Metadata.html b/docs/conjure_oxide/struct.Metadata.html index 998e81572a..1b1371ad6b 100644 --- a/docs/conjure_oxide/struct.Metadata.html +++ b/docs/conjure_oxide/struct.Metadata.html @@ -1,10 +1,10 @@ -Metadata in conjure_oxide - Rust

    Struct conjure_oxide::Metadata

    source ·
    pub struct Metadata {
    +Metadata in conjure_oxide - Rust

    Struct conjure_oxide::Metadata

    source ·
    pub struct Metadata {
         pub clean: bool,
         pub etype: Option<ReturnType>,
    -}

    Fields§

    §clean: bool§etype: Option<ReturnType>

    Implementations§

    Trait Implementations§

    source§

    impl Clone for Metadata

    source§

    fn clone(&self) -> Metadata

    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 Metadata

    source§

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

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

    impl Default for Metadata

    source§

    fn default() -> Metadata

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

    impl<'de> Deserialize<'de> for Metadata

    Fields§

    §clean: bool§etype: Option<ReturnType>

    Implementations§

    Trait Implementations§

    source§

    impl Clone for Metadata

    source§

    fn clone(&self) -> Metadata

    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 Metadata

    source§

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

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

    impl Default for Metadata

    source§

    fn default() -> Metadata

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

    impl<'de> Deserialize<'de> for Metadata

    source§

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

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

    impl Display for Metadata

    source§

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

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

    impl PartialEq for Metadata

    source§

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

    This method tests for self and other values to be equal, and is used + __D: Deserializer<'de>,

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

    impl Display for Metadata

    source§

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

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

    impl PartialEq for Metadata

    source§

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

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

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

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

    impl Serialize for Metadata

    source§

    fn serialize<__S>( &self, @@ -24,8 +24,8 @@ &self, serializer: &mut dyn Serializer ) -> Result<(), ErrorImpl>

    source§

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

    §

    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> ToString for T
    where - T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

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

    §

    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> ToString for T
    where + T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

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

    §

    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>,

    §

    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.
    §

    impl<V, T> VZip<V> for T
    where V: MultiLane<T>,

    §

    fn vzip(self) -> V

    source§

    impl<T> DeserializeOwned for T
    where diff --git a/docs/conjure_oxide/struct.Model.html b/docs/conjure_oxide/struct.Model.html index 5d07fcd67f..da59d51e4b 100644 --- a/docs/conjure_oxide/struct.Model.html +++ b/docs/conjure_oxide/struct.Model.html @@ -1,4 +1,4 @@ -Model in conjure_oxide - Rust

    Struct conjure_oxide::Model

    source ·
    pub struct Model {
    +Model in conjure_oxide - Rust

    Struct conjure_oxide::Model

    source ·
    pub struct Model {
         pub variables: HashMap<Name, DecisionVariable>,
         pub constraints: Expression,
         pub context: Arc<RwLock<Context<'static>>>,
    diff --git a/docs/conjure_oxide/struct.Reduction.html b/docs/conjure_oxide/struct.Reduction.html
    index ad825671d4..81dce71419 100644
    --- a/docs/conjure_oxide/struct.Reduction.html
    +++ b/docs/conjure_oxide/struct.Reduction.html
    @@ -1,4 +1,4 @@
    -Reduction in conjure_oxide - Rust

    Struct conjure_oxide::Reduction

    source ·
    #[non_exhaustive]
    pub struct Reduction { +Reduction in conjure_oxide - Rust

    Struct conjure_oxide::Reduction

    source ·
    #[non_exhaustive]
    pub struct Reduction { pub new_expression: Expression, pub new_top: Expression, pub symbols: HashMap<Name, DecisionVariable>, diff --git a/docs/conjure_oxide/struct.Rule.html b/docs/conjure_oxide/struct.Rule.html index 88a2979f19..7b9988abfb 100644 --- a/docs/conjure_oxide/struct.Rule.html +++ b/docs/conjure_oxide/struct.Rule.html @@ -1,4 +1,4 @@ -Rule in conjure_oxide - Rust

    Struct conjure_oxide::Rule

    source ·
    pub struct Rule<'a> {
    +Rule in conjure_oxide - Rust

    Struct conjure_oxide::Rule

    source ·
    pub struct Rule<'a> {
         pub name: &'a str,
         pub application: fn(_: &Expression, _: &Model) -> Result<Reduction, ApplicationError>,
         pub rule_sets: &'a [(&'a str, u8)],
    @@ -17,7 +17,7 @@ 

    §Fields

    &self, expr: &Expression, mdl: &Model -) -> Result<Reduction, ApplicationError>

    Trait Implementations§

    source§

    impl<'a> Clone for Rule<'a>

    source§

    fn clone(&self) -> Rule<'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> Debug for Rule<'a>

    source§

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

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

    impl<'a> Display for Rule<'a>

    source§

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

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

    impl<'a> Hash for Rule<'a>

    source§

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

    Trait Implementations§

    source§

    impl<'a> Clone for Rule<'a>

    source§

    fn clone(&self) -> Rule<'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> Debug for Rule<'a>

    source§

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

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

    impl<'a> Display for Rule<'a>

    source§

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

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

    impl<'a> Hash for Rule<'a>

    source§

    fn hash<H>(&self, state: &mut H)
    where 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 H: Hasher, Self: Sized,

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

    impl<'a> PartialEq for Rule<'a>

    source§

    fn eq(&self, other: &Rule<'a>) -> bool

    This method tests for self and other values to be equal, and is used @@ -32,8 +32,8 @@

    §Fields

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

    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

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

    §

    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> ToString for T
    where - T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

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

    §

    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> ToString for T
    where + T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

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

    §

    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>,

    §

    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.
    §

    impl<V, T> VZip<V> for T
    where V: MultiLane<T>,

    §

    fn vzip(self) -> V

    \ No newline at end of file diff --git a/docs/conjure_oxide/struct.RuleSet.html b/docs/conjure_oxide/struct.RuleSet.html index 5aac4cd9c7..8d40763a23 100644 --- a/docs/conjure_oxide/struct.RuleSet.html +++ b/docs/conjure_oxide/struct.RuleSet.html @@ -1,4 +1,4 @@ -RuleSet in conjure_oxide - Rust

    Struct conjure_oxide::RuleSet

    source ·
    pub struct RuleSet<'a> {
    +RuleSet in conjure_oxide - Rust

    Struct conjure_oxide::RuleSet

    source ·
    pub struct RuleSet<'a> {
         pub name: &'a str,
         pub order: u8,
         pub solver_families: &'a [SolverFamily],
    @@ -18,7 +18,7 @@
     

    source

    pub fn get_dependencies(&self) -> &HashSet<&'static RuleSet<'_>>

    Get the dependencies of this rule set, evaluating them lazily if necessary Returns a &HashSet<&RuleSet> of the rule sets that this rule set depends on.

    source

    pub fn with_dependencies(&self) -> HashSet<&'static RuleSet<'_>>

    Get the dependencies of this rule set, including itself

    -

    Trait Implementations§

    source§

    impl<'a> Clone for RuleSet<'a>

    source§

    fn clone(&self) -> RuleSet<'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> Debug for RuleSet<'a>

    source§

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

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

    impl<'a> Display for RuleSet<'a>

    source§

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

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

    impl<'a> Hash for RuleSet<'a>

    source§

    fn hash<H>(&self, state: &mut H)
    where +

    Trait Implementations§

    source§

    impl<'a> Clone for RuleSet<'a>

    source§

    fn clone(&self) -> RuleSet<'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> Debug for RuleSet<'a>

    source§

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

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

    impl<'a> Display for RuleSet<'a>

    source§

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

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

    impl<'a> Hash for RuleSet<'a>

    source§

    fn hash<H>(&self, state: &mut H)
    where 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 H: Hasher, Self: Sized,

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

    impl<'a> PartialEq for RuleSet<'a>

    source§

    fn eq(&self, other: &RuleSet<'a>) -> bool

    This method tests for self and other values to be equal, and is used @@ -33,8 +33,8 @@

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

    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

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

    §

    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> ToString for T
    where - T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

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

    §

    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> ToString for T
    where + T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

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

    §

    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>,

    §

    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.
    §

    impl<V, T> VZip<V> for T
    where V: MultiLane<T>,

    §

    fn vzip(self) -> V

    \ No newline at end of file diff --git a/docs/conjure_oxide/type.ApplicationResult.html b/docs/conjure_oxide/type.ApplicationResult.html index 16ca4de80e..6db5fffdbb 100644 --- a/docs/conjure_oxide/type.ApplicationResult.html +++ b/docs/conjure_oxide/type.ApplicationResult.html @@ -1,4 +1,4 @@ -ApplicationResult in conjure_oxide - Rust

    Type Alias conjure_oxide::ApplicationResult

    source ·
    pub type ApplicationResult = Result<Reduction, ApplicationError>;
    Expand description

    The result of applying a rule to an expression. +ApplicationResult in conjure_oxide - Rust

    Type Alias conjure_oxide::ApplicationResult

    source ·
    pub type ApplicationResult = Result<Reduction, ApplicationError>;
    Expand description

    The result of applying a rule to an expression. Contains either a set of reduction instructions or an error.

    Aliased Type§

    enum ApplicationResult {
         Ok(Reduction),
    diff --git a/docs/conjure_oxide/utils/conjure/enum.EssenceParseError.html b/docs/conjure_oxide/utils/conjure/enum.EssenceParseError.html
    index 3c73d30234..cb30a12bb1 100644
    --- a/docs/conjure_oxide/utils/conjure/enum.EssenceParseError.html
    +++ b/docs/conjure_oxide/utils/conjure/enum.EssenceParseError.html
    @@ -1,7 +1,7 @@
    -EssenceParseError in conjure_oxide::utils::conjure - Rust

    Enum conjure_oxide::utils::conjure::EssenceParseError

    source ·
    pub enum EssenceParseError {
    +EssenceParseError in conjure_oxide::utils::conjure - Rust

    Enum conjure_oxide::utils::conjure::EssenceParseError

    source ·
    pub enum EssenceParseError {
         ConjurePrettyError(String),
         ParseError(Error),
    -}

    Variants§

    §

    ConjurePrettyError(String)

    §

    ParseError(Error)

    Trait Implementations§

    source§

    impl Debug for EssenceParseError

    source§

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

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

    impl Display for EssenceParseError

    source§

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

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

    impl Error for EssenceParseError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl From<Error> for EssenceParseError

    source§

    fn from(e: ParseErr) -> Self

    Converts to this type from the input type.

    Auto Trait Implementations§

    Blanket Implementations§

    source§

    impl<T> Any for T
    where +}

    Variants§

    §

    ConjurePrettyError(String)

    §

    ParseError(Error)

    Trait Implementations§

    source§

    impl Debug for EssenceParseError

    source§

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

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

    impl Display for EssenceParseError

    source§

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

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

    impl Error for EssenceParseError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl From<Error> for EssenceParseError

    source§

    fn from(e: ParseErr) -> Self

    Converts to this type from the input type.

    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.

    @@ -9,8 +9,8 @@ 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> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for T
    where - T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

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

    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for T
    where + T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

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

    §

    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>,

    §

    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.
    §

    impl<V, T> VZip<V> for T
    where V: MultiLane<T>,

    §

    fn vzip(self) -> V

    \ No newline at end of file diff --git a/docs/conjure_oxide/utils/conjure/fn.get_minion_solutions.html b/docs/conjure_oxide/utils/conjure/fn.get_minion_solutions.html index 2af0e2b662..bfd5f721ac 100644 --- a/docs/conjure_oxide/utils/conjure/fn.get_minion_solutions.html +++ b/docs/conjure_oxide/utils/conjure/fn.get_minion_solutions.html @@ -1,3 +1,3 @@ -get_minion_solutions in conjure_oxide::utils::conjure - Rust

    Function conjure_oxide::utils::conjure::get_minion_solutions

    source ·
    pub fn get_minion_solutions(
    +get_minion_solutions in conjure_oxide::utils::conjure - Rust

    Function conjure_oxide::utils::conjure::get_minion_solutions

    source ·
    pub fn get_minion_solutions(
         model: Model
     ) -> Result<Vec<HashMap<Name, Constant>>, Error>
    \ No newline at end of file diff --git a/docs/conjure_oxide/utils/conjure/fn.minion_solutions_to_json.html b/docs/conjure_oxide/utils/conjure/fn.minion_solutions_to_json.html index 42087ebe46..7edac92b5c 100644 --- a/docs/conjure_oxide/utils/conjure/fn.minion_solutions_to_json.html +++ b/docs/conjure_oxide/utils/conjure/fn.minion_solutions_to_json.html @@ -1,3 +1,3 @@ -minion_solutions_to_json in conjure_oxide::utils::conjure - Rust

    Function conjure_oxide::utils::conjure::minion_solutions_to_json

    source ·
    pub fn minion_solutions_to_json(
    +minion_solutions_to_json in conjure_oxide::utils::conjure - Rust

    Function conjure_oxide::utils::conjure::minion_solutions_to_json

    source ·
    pub fn minion_solutions_to_json(
         solutions: &Vec<HashMap<Name, Constant>>
     ) -> Value
    \ No newline at end of file diff --git a/docs/conjure_oxide/utils/conjure/fn.parse_essence_file.html b/docs/conjure_oxide/utils/conjure/fn.parse_essence_file.html index 9fb90d1797..2de2bbe13f 100644 --- a/docs/conjure_oxide/utils/conjure/fn.parse_essence_file.html +++ b/docs/conjure_oxide/utils/conjure/fn.parse_essence_file.html @@ -1,4 +1,4 @@ -parse_essence_file in conjure_oxide::utils::conjure - Rust

    Function conjure_oxide::utils::conjure::parse_essence_file

    source ·
    pub fn parse_essence_file(
    +parse_essence_file in conjure_oxide::utils::conjure - Rust

    Function conjure_oxide::utils::conjure::parse_essence_file

    source ·
    pub fn parse_essence_file(
         path: &str,
         filename: &str,
         context: Arc<RwLock<Context<'static>>>
    diff --git a/docs/conjure_oxide/utils/conjure/index.html b/docs/conjure_oxide/utils/conjure/index.html
    index 66ab85022f..eee8f0a3df 100644
    --- a/docs/conjure_oxide/utils/conjure/index.html
    +++ b/docs/conjure_oxide/utils/conjure/index.html
    @@ -1 +1 @@
    -conjure_oxide::utils::conjure - Rust
    \ No newline at end of file +conjure_oxide::utils::conjure - Rust
    \ No newline at end of file diff --git a/docs/conjure_oxide/utils/index.html b/docs/conjure_oxide/utils/index.html index 47538fd718..fb2458cc01 100644 --- a/docs/conjure_oxide/utils/index.html +++ b/docs/conjure_oxide/utils/index.html @@ -1 +1 @@ -conjure_oxide::utils - Rust

    Module conjure_oxide::utils

    source ·

    Modules§

    \ No newline at end of file +conjure_oxide::utils - Rust

    Module conjure_oxide::utils

    source ·

    Modules§

    \ No newline at end of file diff --git a/docs/conjure_oxide/utils/json/fn.sort_json_object.html b/docs/conjure_oxide/utils/json/fn.sort_json_object.html index f564c634c2..74e0fad75b 100644 --- a/docs/conjure_oxide/utils/json/fn.sort_json_object.html +++ b/docs/conjure_oxide/utils/json/fn.sort_json_object.html @@ -1,4 +1,4 @@ -sort_json_object in conjure_oxide::utils::json - Rust

    Function conjure_oxide::utils::json::sort_json_object

    source ·
    pub fn sort_json_object(value: &Value, sort_arrays: bool) -> Value
    Expand description

    Recursively sorts the keys of all JSON objects within the provided JSON value.

    +sort_json_object in conjure_oxide::utils::json - Rust

    Function conjure_oxide::utils::json::sort_json_object

    source ·
    pub fn sort_json_object(value: &Value, sort_arrays: bool) -> Value
    Expand description

    Recursively sorts the keys of all JSON objects within the provided JSON value.

    serde_json will output JSON objects in an arbitrary key order. this is normally fine, except in our use case we wouldn’t want to update the expected output again and again. so a consistent (sorted) ordering of the keys is desirable.

    diff --git a/docs/conjure_oxide/utils/json/fn.sort_json_variables.html b/docs/conjure_oxide/utils/json/fn.sort_json_variables.html index 3cfc578e48..1cb684a0b6 100644 --- a/docs/conjure_oxide/utils/json/fn.sort_json_variables.html +++ b/docs/conjure_oxide/utils/json/fn.sort_json_variables.html @@ -1,3 +1,3 @@ -sort_json_variables in conjure_oxide::utils::json - Rust

    Function conjure_oxide::utils::json::sort_json_variables

    source ·
    pub fn sort_json_variables(value: &Value) -> Value
    Expand description

    Sort the “variables” field by name. +sort_json_variables in conjure_oxide::utils::json - Rust

    Function conjure_oxide::utils::json::sort_json_variables

    source ·
    pub fn sort_json_variables(value: &Value) -> Value
    Expand description

    Sort the “variables” field by name. We have to do this separately because that field is not a JSON object, instead it’s an array of tuples.

    \ No newline at end of file diff --git a/docs/conjure_oxide/utils/json/index.html b/docs/conjure_oxide/utils/json/index.html index 3085c9314a..239b4ab1e6 100644 --- a/docs/conjure_oxide/utils/json/index.html +++ b/docs/conjure_oxide/utils/json/index.html @@ -1,2 +1,2 @@ -conjure_oxide::utils::json - Rust

    Module conjure_oxide::utils::json

    source ·

    Functions§

    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> ToString for T
    where - T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

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

    source§

    impl<T> ToString for T
    where + T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

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

    §

    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>,

    §

    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/docs/minion_rs/error/enum.RuntimeError.html b/docs/minion_rs/error/enum.RuntimeError.html index 960cc23d56..2f07f3fc42 100644 --- a/docs/minion_rs/error/enum.RuntimeError.html +++ b/docs/minion_rs/error/enum.RuntimeError.html @@ -1,4 +1,4 @@ -RuntimeError in minion_rs::error - Rust

    Enum minion_rs::error::RuntimeError

    source ·
    #[non_exhaustive]
    pub enum RuntimeError { +RuntimeError in minion_rs::error - Rust

    Enum minion_rs::error::RuntimeError

    source ·
    #[non_exhaustive]
    pub enum RuntimeError { InvalidInstance, UnknownError, }
    Expand description

    Errors thrown by Minion during execution.

    @@ -8,7 +8,7 @@ Github if these occur regularly!

    Variants (Non-exhaustive)§

    This enum is marked as non-exhaustive
    Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
    §

    InvalidInstance

    The model given to Minion is invalid.

    §

    UnknownError

    An unknown error has occurred.

    -

    Trait Implementations§

    source§

    impl Debug for RuntimeError

    source§

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

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

    impl Display for RuntimeError

    source§

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

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

    impl Error for RuntimeError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl From<RuntimeError> for MinionError

    source§

    fn from(source: RuntimeError) -> Self

    Converts to this type from the input type.
    source§

    impl From<u32> for RuntimeError

    source§

    fn from(return_code: u32) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for RuntimeError

    source§

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

    This method tests for self and other values to be equal, and is used +

    Trait Implementations§

    source§

    impl Debug for RuntimeError

    source§

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

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

    impl Display for RuntimeError

    source§

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

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

    impl Error for RuntimeError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl From<RuntimeError> for MinionError

    source§

    fn from(source: RuntimeError) -> Self

    Converts to this type from the input type.
    source§

    impl From<u32> for RuntimeError

    source§

    fn from(return_code: u32) -> Self

    Converts to this type from the input type.
    source§

    impl PartialEq for RuntimeError

    source§

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

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

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

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

    impl Eq for RuntimeError

    source§

    impl StructuralPartialEq for RuntimeError

    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 @@ -18,7 +18,7 @@ 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> ToString for T
    where - T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

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

    source§

    impl<T> ToString for T
    where + T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

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

    §

    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>,

    §

    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/docs/minion_rs/error/index.html b/docs/minion_rs/error/index.html index 5c78a24113..1b1108b314 100644 --- a/docs/minion_rs/error/index.html +++ b/docs/minion_rs/error/index.html @@ -1,2 +1,2 @@ -minion_rs::error - Rust

    Module minion_rs::error

    source ·
    Expand description

    Error types.

    +minion_rs::error - Rust

    Module minion_rs::error

    source ·
    Expand description

    Error types.

    Enums§

    \ No newline at end of file diff --git a/docs/minion_rs/fn.get_from_table.html b/docs/minion_rs/fn.get_from_table.html index 26d0ba6188..ad7532812a 100644 --- a/docs/minion_rs/fn.get_from_table.html +++ b/docs/minion_rs/fn.get_from_table.html @@ -1,2 +1,2 @@ -get_from_table in minion_rs - Rust

    Function minion_rs::get_from_table

    source ·
    pub fn get_from_table(key: String) -> Option<String>
    Expand description

    Gets a given value from Minion’s TableOut (where it stores run statistics).

    +get_from_table in minion_rs - Rust

    Function minion_rs::get_from_table

    source ·
    pub fn get_from_table(key: String) -> Option<String>
    Expand description

    Gets a given value from Minion’s TableOut (where it stores run statistics).

    \ No newline at end of file diff --git a/docs/minion_rs/fn.run_minion.html b/docs/minion_rs/fn.run_minion.html index ffc19dda90..aafd0b2442 100644 --- a/docs/minion_rs/fn.run_minion.html +++ b/docs/minion_rs/fn.run_minion.html @@ -1,3 +1,3 @@ -run_minion in minion_rs - Rust

    Function minion_rs::run_minion

    source ·
    pub fn run_minion(model: Model, callback: Callback) -> Result<(), MinionError>
    Expand description

    Run Minion on the given Model.

    +run_minion in minion_rs - Rust

    Function minion_rs::run_minion

    source ·
    pub fn run_minion(model: Model, callback: Callback) -> Result<(), MinionError>
    Expand description

    Run Minion on the given Model.

    The given callback is ran whenever a new solution set is found.

    \ No newline at end of file diff --git a/docs/minion_rs/index.html b/docs/minion_rs/index.html index 52c45ee820..f2e8ea7b93 100644 --- a/docs/minion_rs/index.html +++ b/docs/minion_rs/index.html @@ -1,4 +1,4 @@ -minion_rs - Rust

    Crate minion_rs

    source ·
    Expand description

    This crate provides low level Rust bindings to the Minion +minion_rs - Rust

    Crate minion_rs

    source ·
    Expand description

    This crate provides low level Rust bindings to the Minion constraint solver.

    §Examples

    Consider the following Minion problem:

    diff --git a/docs/minion_rs/type.Callback.html b/docs/minion_rs/type.Callback.html index d68bd92f87..583806e5db 100644 --- a/docs/minion_rs/type.Callback.html +++ b/docs/minion_rs/type.Callback.html @@ -1,4 +1,4 @@ -Callback in minion_rs - Rust

    Type Alias minion_rs::Callback

    source ·
    pub type Callback = fn(solution_set: HashMap<VarName, Constant>) -> bool;
    Expand description

    The callback function used to capture results from Minion as they are generated.

    +Callback in minion_rs - Rust

    Type Alias minion_rs::Callback

    source ·
    pub type Callback = fn(solution_set: HashMap<VarName, Constant>) -> bool;
    Expand description

    The callback function used to capture results from Minion as they are generated.

    This function is called by Minion whenever a solution is found. The input to this function is aHashMap of all named variables along with their value.

    Callbacks should return true if search is to continue, false otherwise.

    diff --git a/docs/search-index.js b/docs/search-index.js index c86fb168f7..d672cb2165 100644 --- a/docs/search-index.js +++ b/docs/search-index.js @@ -1,11 +1,11 @@ var searchIndex = new Map(JSON.parse('[\ -["chuffed_rs",{"t":"CCFHHHFFFHISSSSFFFHFHHHIIHHFSSHFHHHHHHHHHHHFISSSSSFFFUFFFISSSSSSSSFISSSSSSSSSSSSSSSSISSSSSFFOOOOOOOOOOOHONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHHOOONNNNNNNNNNNNNNNNNNNNNNNNNNNHHHHHONNOONNNHNONNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNHNOOONHNNNNNNNNNNNNNNNNNNNNNNONHOOOONNNNNHHHHOHHHNNOOOOOOOOOONNNNNNNNNOOONHNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOHFOONOHHHHHHH","n":["bindings","wrappers","BoolView","BoolView_attach","BoolView_detach","BoolView_getScore","Branching","Branching__bindgen_vtable","Clause","Clause_debug","ConLevel","ConLevel_CL_BND","ConLevel_CL_DEF","ConLevel_CL_DOM","ConLevel_CL_VAL","DecInfo","DummyProblem","IntVar","IntVar_IntVar","IntVar_PropInfo","IntVar_allowSet","IntVar_attach","IntVar_branch","IntVar_const_iterator","IntVar_const_reverse_iterator","IntVar_getScore","IntVar_initVals","IntVar_iterator","IntVar_max_limit","IntVar_min_limit","IntVar_remVal","IntVar_reverse_iterator","IntVar_setMax","IntVar_setMin","IntVar_setVal","IntVar_simplifyWatches","IntVar_specialiseToEL","IntVar_specialiseToLL","IntVar_specialiseToSL","IntVar_updateFixed","IntVar_updateMax","IntVar_updateMin","IntVar_wakePropagators","Lit","PreferredVal","PreferredVal_PV_MAX","PreferredVal_PV_MEDIAN","PreferredVal_PV_MIN","PreferredVal_PV_SPLIT_MAX","PreferredVal_PV_SPLIT_MIN","Propagator","Propagator__bindgen_vtable","Reason","Reason__bindgen_ty_1","Reason__bindgen_ty_1__bindgen_ty_1","Tchar","Tint","ValBranch","ValBranch_VAL_DEFAULT","ValBranch_VAL_MAX","ValBranch_VAL_MEDIAN","ValBranch_VAL_MIDDLE","ValBranch_VAL_MIN","ValBranch_VAL_RANDOM","ValBranch_VAL_SPLIT_MAX","ValBranch_VAL_SPLIT_MIN","Var","VarBranch","VarBranch_VAR_ACTIVITY","VarBranch_VAR_DEFAULT","VarBranch_VAR_DEGREE_MAX","VarBranch_VAR_DEGREE_MIN","VarBranch_VAR_INORDER","VarBranch_VAR_MAX_MAX","VarBranch_VAR_MAX_MIN","VarBranch_VAR_MIN_MAX","VarBranch_VAR_MIN_MIN","VarBranch_VAR_PSEUDO_COST","VarBranch_VAR_RANDOM","VarBranch_VAR_REDUCED_COST","VarBranch_VAR_REGRET_MAX_MAX","VarBranch_VAR_REGRET_MIN_MAX","VarBranch_VAR_SIZE_MAX","VarBranch_VAR_SIZE_MIN","VarType","VarType_BOOL_VAR","VarType_INT_VAR","VarType_INT_VAR_EL","VarType_INT_VAR_LL","VarType_INT_VAR_SL","__BindgenBitfieldUnit","__IncompleteArrayField","__bindgen_anon_1","_base","_base","_base","_bitfield_1","_bitfield_1","_bitfield_align_1","_bitfield_align_1","_phantom_0","a","activity","all_different","all_in_scip","as_mut_ptr","as_mut_slice","as_ptr","as_slice","attach","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","branch","branch_IntVar","callback","cap","changes","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","createVar","createVars","createVars1","createVars2","createVars3","d","d1","d2","data","data","debug","default","default","destroy_vec_intvar","detach","eflags","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","forward","forward","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","get","get_bit","get_idx","hash","in_queue","in_queue","in_scip","initVals","int_plus","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","last_solution_value","learnt","make_vec_intvar","max","max0","min","min0","new","new","new","new_bitfield_1","new_bitfield_1","new_dummy_problem","new_xyz_problem","output_vars","output_vars1","p","p_addVars","p_print","p_setcallback","padding","partial_cmp","pinfo","pos","preferred_val","priority","prop_id","pt","s","satisfied","sbps_value_selection","searchVars","set","set_bit","set_d1","set_d2","set_learnt","set_padding","set_sz","set_temp_expl","set_type","shadow_val","should_be_decidable","should_be_learnable","simplifyWatches","solve_xyz","specialiseToEL","specialiseToLL","specialiseToSL","sz","sz","temp_expl","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_","type_","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","updateFixed","updateMax","updateMin","v","v","v","val","val","val","vals","var","var","var","var_id","var_sym_break","vec","vtable_","vtable_","wakePropagators","x","all_different_wrapper","branch_wrapper","create_var","create_vars","int_plus_wrapper","output_vars_wrapper","var_sym_break_wrapper"],"q":[[0,"chuffed_rs"],[2,"chuffed_rs::bindings"],[429,"chuffed_rs::wrappers"],[436,"std::os::raw"],[437,"core::clone"],[438,"core::cmp"],[439,"core::default"],[440,"core::fmt"],[441,"core::convert"],[442,"core::hash"],[443,"core::option"],[444,"core::result"],[445,"core::any"]],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,33,4,34,25,17,25,17,32,16,34,0,34,1,1,1,1,4,50,51,8,1,32,10,11,12,13,14,25,15,16,17,5,33,4,34,18,19,20,21,50,51,8,1,32,10,11,12,13,14,25,15,16,17,5,33,4,34,18,19,20,21,0,0,21,32,34,8,10,11,12,13,14,15,16,17,18,19,20,21,8,10,11,12,13,14,15,16,17,18,19,20,21,8,0,0,0,0,0,16,17,17,32,25,25,8,1,0,4,18,8,8,1,32,10,11,12,13,14,25,17,5,33,4,34,18,19,20,21,52,20,50,51,8,1,32,10,11,12,13,14,25,15,16,17,5,33,4,34,18,19,20,21,8,8,0,8,5,34,34,34,0,50,51,8,1,32,10,11,12,13,14,25,15,16,17,5,33,4,34,18,19,20,21,34,25,0,34,34,34,34,8,1,34,25,17,0,0,0,0,18,0,0,0,25,8,34,18,34,5,5,16,4,5,34,21,8,8,17,17,25,25,25,25,17,34,34,34,34,0,34,34,34,25,32,25,8,10,11,12,13,14,15,16,17,18,19,20,21,50,51,8,1,32,10,11,12,13,14,25,15,16,17,5,33,4,34,18,19,20,21,50,51,8,1,32,10,11,12,13,14,25,15,16,17,5,33,4,34,18,19,20,21,17,12,50,51,8,1,32,10,11,12,13,14,25,15,16,17,5,33,4,34,18,19,20,21,34,34,34,10,11,4,53,12,19,34,53,12,19,34,0,0,13,5,34,14,0,0,0,0,0,0,0],"f":"`````````````````````````````````````````````````````````````````````````````````````````````````````````{{{b{c}}}{}{}}{{{b{c}}d}{{f{c}}}{}}10{{hjll}n}{ce{}{}}0000000000000000000000000000000000000000000`````{{{A`{c}}}{{A`{c}}}Ab}{AdAd}{AfAf}{AhAh}{AjAj}{AlAl}{AnAn}{B`B`}{BbBb}{BdBd}{BfBf}{BhBh}{BjBj}{{ce}n{}{}}000000000000{{{A`{c}}{A`{c}}}BlBn}``````{BbC`}0``{Cbn}{{}{{A`{c}}}Cd}{{}{{b{c}}}Cd}`{{hjll}n}`{{{A`{c}}{A`{c}}}CfCh}{{{A`{c}}Cj}ClCn}{{{b{c}}Cj}Cl{}}{{{D`{c}}Cj}ClCn}{{AdCj}Cl}{{AfCj}Cl}{{AhCj}Cl}{{AjCj}Cl}{{AlCj}Cl}{{CbCj}Cl}{{BbCj}Cl}{{jCj}Cl}{{DbCj}Cl}{{hCj}Cl}{{DdCj}Cl}{{BdCj}Cl}{{BfCj}Cl}{{BhCj}Cl}{{BjCj}Cl}``{cc{}}000000000000000000000{{{A`{c}}dDf}Dh{{Dj{{f{Df}}}}{Dl{{f{Df}}}}}}{{{A`{c}}d}Cf{{Dj{{f{Df}}}}{Dl{{f{Df}}}}}}`{{{A`{c}}e}nDnE`}```{{DdCf}n}`{ce{}{}}000000000000000000000`{CbC`}`````{c{{A`{c}}}{}}{{}{{b{c}}}{}}{{ll}Dd}{{C`C`C`C`}{{A`{{Eb{Df}}}}}}{{C`C`C`}{{A`{{Eb{Df}}}}}}````````5{{{A`{c}}{A`{c}}}{{Ed{Bl}}}Ef}``````````{{{A`{c}}dDfDh}n{{Dj{{f{Df}}}}{Dl{{f{Df}}}}}}{{{A`{c}}dCf}n{{Dj{{f{Df}}}}{Dl{{f{Df}}}}}}{{BbC`}n}0{{CbC`}n}0001```{Ddl}`{Ddn}0{{DdD`}n}=`=>>>>>>>>>>>>>{c{{Eh{e}}}{}{}}0000000000000000000000000000000000000000000{BbC`}`{cEj{}}000000000000000000000444```````````````4`{{D`El}n}{{D`EnF`}n}{{FbFbCf}Dd}{{FbFbFbCf}D`}{{DdDdDd}n}{D`n}0","D":"Eh","p":[[5,"__IncompleteArrayField",2],[1,"usize"],[1,"slice"],[5,"BoolView",2],[5,"Propagator",2],[8,"c_int",436],[1,"unit"],[5,"__BindgenBitfieldUnit",2],[10,"Clone",437],[5,"Tchar",2],[5,"Tint",2],[5,"DecInfo",2],[5,"Branching",2],[5,"Lit",2],[5,"Reason",2],[20,"Reason__bindgen_ty_1",2],[5,"Reason__bindgen_ty_1__bindgen_ty_1",2],[5,"IntVar_PropInfo",2],[5,"IntVar_iterator",2],[5,"IntVar_reverse_iterator",2],[5,"DummyProblem",2],[6,"Ordering",438],[10,"Ord",438],[8,"c_uint",436],[5,"Clause",2],[10,"Default",439],[1,"bool"],[10,"PartialEq",438],[5,"Formatter",440],[8,"Result",440],[10,"Debug",440],[5,"vec",2],[5,"Var",2],[5,"IntVar",2],[1,"u8"],[1,"u64"],[10,"AsRef",441],[10,"AsMut",441],[10,"Hash",442],[10,"Hasher",442],[1,"array"],[6,"Option",443],[10,"PartialOrd",438],[6,"Result",444],[5,"TypeId",445],[8,"ConLevel",2],[8,"VarBranch",2],[8,"ValBranch",2],[1,"i32"],[5,"Branching__bindgen_vtable",2],[5,"Propagator__bindgen_vtable",2],[8,"IntVar_const_reverse_iterator",2],[8,"IntVar_const_iterator",2]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAIgBAwAAAN8A9gAIABUBnwA="}],\ -["conjure_core",{"t":"ECDCCCCCCCCCPPPPPPGPFPGPGPPPPPPPPPGPPPPGPEPPPPPPIPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNPPGNNNNNNNNNNNNNNNNNNFNNNNNNNNNOONNNNNNOONNNOONNNNNPGPPPPPINNNNNNNNNNNNNNFNNNONNNNNNNNONNNNNNNNNNNNFNNNNNNNNOONNNNNNNNNNNNNNNNNNNNONHHHGIPPPFPGFPFNNNCONNNNNNNNNNNNNNNNNNXNNNNNNNNNNNNNNNNNHHHHHHNHNNNNNNNOONNNOOONXQHHOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXEHPPPPPPPPPPPPPGGGFFKIGGFIPPNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNMNCNNNNNNNNNMNMNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPKGFPPNNNNNNNNNNNNNNNNNNFFFFKOONNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNOFFFNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNONNNNOOOOOOOONNNNNNNNNOOONNNNNNNNNNNNNNNN","n":["Model","ast","conjure_core","context","error","metadata","model","parse","rule_engine","rules","solver","stats","AllDiff","And","Bool","BoolDomain","Bounded","Bubble","Constant","Constant","DecisionVariable","DivEq","Domain","Eq","Expression","Geq","Gt","Ineq","Int","IntDomain","Leq","Lt","MachineName","Min","Name","Neq","Not","Nothing","Or","Range","Reference","ReturnType","SafeDiv","Single","Sum","SumEq","SumGeq","SumLeq","SymbolTable","UnsafeDiv","UserName","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","apply_i32","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","can_be_undefined","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","do_erased_serialize","do_erased_serialize","do_erased_serialize","do_erased_serialize","do_erased_serialize","do_erased_serialize","domain","domain_of","eq","eq","eq","eq","eq","eq","erased_serialize","erased_serialize","erased_serialize","erased_serialize","erased_serialize","erased_serialize","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","hash","into","into","into","into","into","into","is_all_diff","is_and","is_bubble","is_clean","is_constant","is_div_eq","is_eq","is_geq","is_gt","is_ineq","is_leq","is_lt","is_min","is_neq","is_not","is_nothing","is_or","is_reference","is_safe_div","is_sum","is_sum_eq","is_sum_geq","is_sum_leq","is_unsafe_div","new","partial_cmp","return_type","serialize","serialize","serialize","serialize","serialize","serialize","set_clean","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","types","uniplate","values_i32","vzip","vzip","vzip","vzip","vzip","vzip","Bool","Int","ReturnType","__clone_box","borrow","borrow_mut","clone","clone_into","deserialize","do_erased_serialize","eq","erased_serialize","fmt","from","into","serialize","to_owned","try_from","try_into","type_id","vzip","Context","__clone_box","borrow","borrow_mut","clone","clone_into","default","do_erased_serialize","eq","erased_serialize","extra_rule_set_names","file_name","fmt","from","into","json_schema","new","new_ptr","rule_sets","rules","schema_id","schema_name","serialize","stats","target_solver_family","to_owned","try_from","try_into","type_id","vzip","Err","Error","JSON","NotImplemented","Ok","Other","Parse","Result","borrow","borrow_mut","fmt","fmt","from","from","from","into","source","to_string","try_from","try_into","type_id","vzip","Metadata","__clone_box","borrow","borrow_mut","clean","clone","clone_dirty","clone_into","default","deserialize","do_erased_serialize","eq","erased_serialize","etype","fmt","fmt","from","into","new","serialize","to_owned","to_string","try_from","try_into","type_id","vzip","Model","__clone_box","add_constraint","add_constraints","add_variable","borrow","borrow_mut","clone","clone_into","constraints","context","deserialize","do_erased_serialize","eq","erased_serialize","fmt","from","gensym","get_constraints_vec","get_domain","into","new","new_empty","serialize","set_constraints","set_context","to_owned","try_from","try_into","type_id","update_domain","variables","vzip","get_example_model","get_example_model_by_path","model_from_json","ApplicationError","ApplicationResult","DomainError","Err","Ok","Reduction","ResolveRulesError","RewriteError","Rule","RuleNotApplicable","RuleSet","__clone_box","__clone_box","__clone_box","_dependencies","application","apply","apply","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","distributed_slice","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","get_dependencies","get_rule_by_name","get_rule_priorities","get_rule_set_by_name","get_rule_sets","get_rule_sets_for_solver_family","get_rules","get_rules","get_rules_vec","hash","hash","into","into","into","into","into","name","name","new","new","new","new_expression","new_top","order","pure","register_rule","register_rule_set","resolve_rule_sets","rewrite_model","rule_sets","solver_families","symbols","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","with_dependencies","with_symbols","with_top","distributed_slice","linkme","eval_constant","Complete","HasSolutions","Incomplete","Minion","ModelFeatureNotImplemented","ModelFeatureNotSupported","ModelInvalid","NoSolutions","OpNotImplemented","OpNotSupported","Runtime","RuntimeNotImplemented","SAT","SearchComplete","SearchIncomplete","SearchStatus","SolveSuccess","Solver","SolverAdaptor","SolverCallback","SolverError","SolverFamily","SolverFamilyIter","SolverMutCallback","Timeout","UserTerminated","__clone_box","__clone_box","__clone_box","__clone_box","adaptors","add_adaptor_info_to_stats","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","deserialize","do_erased_serialize","eq","erased_serialize","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from_str","get_family","get_family","get_name","hash","init_solver","into","into","into","into","into","into","into","into","into_iter","iter","json_schema","len","load_model","load_model","model_modifier","new","next","next_back","nth","save_stats_to_context","schema_id","schema_name","serialize","size_hint","solve","solve","solve_mut","solve_mut","states","stats","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wall_time_s","Kissat","Minion","borrow","borrow","borrow_mut","borrow_mut","default","default","from","from","get_family","get_family","get_name","into","into","load_model","load_model","new","new","solve","solve","solve_mut","solve_mut","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","ArgsInvalid","Error","ModelModifier","ModificationFailure","NotModifiable","OpNotImplemented","OpNotSupported","add_constraint","add_variable","borrow","borrow","borrow_mut","borrow_mut","from","from","into","into","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","ExecutionFailure","ExecutionSuccess","Init","ModelLoaded","SolverState","_sealed","_sealed","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","from","from","from","from","into","into","into","into","stats","status","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","why","RewriterStats","SolverStats","Stats","__clone_box","__clone_box","__clone_box","add_rewriter_run","add_solver_run","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","conjure_solver_wall_time_s","default","default","default","do_erased_serialize","do_erased_serialize","do_erased_serialize","erased_serialize","erased_serialize","erased_serialize","from","from","from","into","into","into","is_optimization_enabled","json_schema","json_schema","json_schema","new","nodes","rewriter_rule_application_attempts","rewriter_rule_applications","rewriter_run_time","rewriter_runs","sat_clauses","sat_vars","satisfiable","schema_id","schema_id","schema_id","schema_name","schema_name","schema_name","serialize","serialize","serialize","solver_adaptor","solver_family","solver_runs","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","with_timings"],"q":[[0,"conjure_core"],[12,"conjure_core::ast"],[208,"conjure_core::ast::types"],[229,"conjure_core::context"],[259,"conjure_core::error"],[281,"conjure_core::metadata"],[307,"conjure_core::model"],[340,"conjure_core::parse"],[343,"conjure_core::rule_engine"],[456,"conjure_core::rule_engine::_dependencies"],[458,"conjure_core::rules"],[459,"conjure_core::solver"],[608,"conjure_core::solver::adaptors"],[639,"conjure_core::solver::model_modifier"],[664,"conjure_core::solver::states"],[706,"conjure_core::stats"],[783,"dyn_clone::sealed"],[784,"conjure_core::ast::domains"],[785,"core::option"],[786,"conjure_core::ast::expressions"],[787,"conjure_core::ast::constants"],[788,"core::cmp"],[789,"core::clone"],[790,"conjure_core::ast::symbol_table"],[791,"conjure_core::ast::variables"],[792,"core::result"],[793,"serde::de"],[794,"erased_serde::ser"],[795,"erased_serde::error"],[796,"core::fmt"],[797,"core::hash"],[798,"serde::ser"],[799,"alloc::string"],[800,"core::any"],[801,"alloc::vec"],[802,"core::ops::function"],[803,"alloc::boxed"],[804,"schemars::gen"],[805,"schemars::schema"],[806,"conjure_core::rule_engine::rule"],[807,"conjure_core::rule_engine::rule_set"],[808,"std::sync::rwlock"],[809,"alloc::sync"],[810,"alloc::borrow"],[811,"serde_json::error"],[812,"anyhow"],[813,"core::error"],[814,"conjure_core::rule_engine::rewrite"],[815,"std::collections::hash::set"],[816,"std::collections::hash::map"],[817,"conjure_core::stats::solver_stats"],[818,"conjure_core::solver::adaptors::kissat"],[819,"conjure_core::solver::adaptors::minion"],[820,"conjure_core::stats::rewriter_stats"],[821,"conjure_core::parse::example_models"],[822,"conjure_core::parse::parse_model"],[823,"linkme_impl"],[824,"conjure_core::rule_engine::resolve_rules"],[825,"conjure_macros"],[826,"conjure_core::rules::constant"]],"i":[0,0,0,0,0,0,0,0,0,0,0,0,8,8,10,3,11,8,0,8,0,8,0,8,0,8,8,8,10,3,8,8,14,8,0,8,8,8,8,0,8,0,8,11,8,8,8,8,0,8,14,10,11,3,8,14,15,3,10,11,3,8,14,15,10,11,3,8,14,15,8,10,11,3,8,14,15,10,11,3,8,14,15,14,10,11,3,8,14,15,10,11,3,8,14,15,15,8,10,11,3,8,14,15,10,11,3,8,14,15,10,10,11,3,8,8,14,14,15,15,10,10,10,11,3,8,8,8,14,15,14,10,11,3,8,14,15,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,15,14,8,10,11,3,8,14,15,8,10,11,3,8,14,15,10,8,14,15,10,11,3,8,14,15,10,11,3,8,14,15,10,11,3,8,14,15,0,8,3,10,11,3,8,14,15,29,29,0,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,29,0,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,38,54,0,48,48,54,48,48,0,48,48,48,48,48,48,48,48,48,48,48,48,48,48,0,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,52,0,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,53,0,0,0,0,0,58,56,56,0,57,0,0,58,0,55,42,43,0,42,55,42,57,58,55,42,43,57,58,55,42,43,55,42,43,55,42,43,0,42,43,57,57,58,58,55,42,42,43,43,57,58,55,42,43,43,0,0,0,0,0,0,43,0,42,43,57,58,55,42,43,42,43,55,42,43,55,55,43,55,0,0,0,0,42,43,55,55,42,43,57,58,42,43,57,58,55,42,43,57,58,55,42,43,57,58,55,42,43,57,58,55,42,43,43,55,55,0,0,0,84,85,84,41,68,68,68,85,68,68,68,68,41,0,0,0,0,0,0,0,0,0,0,0,86,86,41,65,66,68,0,63,75,84,86,85,41,65,66,68,75,84,86,85,41,65,66,68,41,65,66,68,41,65,66,68,41,41,41,41,41,41,65,68,68,75,84,86,85,41,65,66,68,41,63,66,63,41,63,75,84,86,85,41,65,66,68,65,41,41,65,63,66,0,66,65,65,65,66,41,41,41,65,63,66,63,66,0,66,41,65,66,68,41,68,75,84,86,85,41,41,65,66,68,75,84,86,85,41,65,66,68,75,84,86,85,41,65,66,68,75,84,86,85,41,65,66,68,66,0,0,78,79,78,79,78,79,78,79,78,79,79,78,79,78,79,78,79,78,79,78,79,78,79,78,79,78,79,78,79,81,81,0,0,0,81,81,80,80,87,81,87,81,87,81,87,81,87,81,87,81,87,81,87,81,0,0,0,0,0,73,88,71,72,73,88,71,72,73,88,71,72,73,88,71,72,73,88,73,73,71,72,73,88,71,72,73,88,71,72,73,88,71,72,73,88,88,0,0,0,83,64,82,82,82,83,64,82,83,64,82,83,64,82,83,64,82,64,83,64,82,83,64,82,83,64,82,83,64,82,83,64,82,83,83,64,82,82,64,83,83,83,82,64,64,64,83,64,82,83,64,82,83,64,82,64,64,82,83,64,82,83,64,82,83,64,82,83,64,82,83,64,82,64],"f":"```````````````````````````````````````````````````{{cb}d{}}00000{{f{n{hh}{{j{{l{h}}}}}}f}{{l{f}}}}{ce{}{}}00000000000{A`Ab}{AdAd}{{{Af{c}}}{{Af{c}}}{AhAj}}{ff}{A`A`}{AlAl}{AnAn}{{ce}d{}{}}00000{{AlAl}B`}{c{{Bb{Ad}}}Bd}{c{{Bb{{Af{e}}}}}Bd{AhBf}}{c{{Bb{f}}}Bd}{c{{Bb{A`}}}Bd}{c{{Bb{Al}}}Bd}{c{{Bb{An}}}Bd}{{cBh}{{Bb{dBj}}}{}}00000`{{A`Bl}{{l{f}}}}{{AdAd}Ab}{{{Af{c}}{Af{c}}}Ab{AhBn}}{{ff}Ab}{{A`A`}Ab}{{AlAl}Ab}{{AnAn}Ab}{{cBh}{{Bb{dC`}}}{}}00000{{AdCb}Cd}0{{{Af{c}}Cb}Cd{AhCf}}{{fCb}Cd}{{A`Cb}Cd}0{{AlCb}Cd}0{{AnCb}Cd}0{hAd}{AbAd}{cc{}}000{AbA`}{hA`}22{{Alc}dCh}{ce{}{}}00000{A`Ab}00000000000000000000000{fAn}{{AlAl}{{l{B`}}}}{A`{{l{Cj}}}}{{Adc}BbCl}{{{Af{c}}e}Bb{AhCn}Cl}{{fc}BbCl}{{A`c}BbCl}{{Alc}BbCl}{{Anc}BbCl}{{A`Ab}d};;;;;;{cD`{}}000{c{{Bb{e}}}{}{}}00000000000{cDb{}}00000`{A`{{Dj{{Dd{A`}}{Dh{Df}}}}}}{f{{l{{Dd{h}}}}}}{ce{}{}}00000```{{cb}d{}}11{CjCj}{{ce}d{}{}}{c{{Bb{Cj}}}Bd}{{cBh}{{Bb{dBj}}}{}}{{CjCj}Ab}{{cBh}{{Bb{dC`}}}{}}{{CjCb}Cd}{cc{}}9{{Cjc}BbCl}:>>=:`9::{DlDl}8{{}Dl}7{{DlDl}Ab}6``{{DlCb}Cd}5>{DnE`}{{Eb{Dd{D`}}{Dd{Ed}}{Dd{Ef}}}Dl}{{Eb{Dd{D`}}{Dd{Ed}}{Dd{Ef}}}{{Ej{{Eh{Dl}}}}}}``{{}{{En{El}}}}{{}D`}{{Dlc}BbCl}``{ce{}{}}{c{{Bb{e}}}{}{}}0{cDb{}}2````````22{{F`Cb}Cd}0{FbF`}{FdF`}{cc{}}6{F`{{l{Ff}}}}{cD`{}}7768`{{cb}d{}}99`{FhFh}0{{ce}d{}{}}{{}Fh}{c{{Bb{Fh}}}Bd}{{cBh}{{Bb{dBj}}}{}}{{FhFh}Ab}{{cBh}{{Bb{dC`}}}{}}`{{FhCb}Cd}0;{ce{}{}}6{{Fhc}BbCl}1;{c{{Bb{e}}}{}{}}0{cDb{}}3`<{{FjA`}d}{{Fj{Dd{A`}}}d}{{FjAlAn}d}66{FjFj}>``{c{{Bb{Fj}}}Bd}<{{FjFj}Ab};{{FjCb}Cd}{cc{}}{FjAl}{Fj{{Dd{A`}}}}{{FjAl}{{l{f}}}}>{{BlA`{Ej{{Eh{Dl}}}}}Fj}{{{Ej{{Eh{Dl}}}}}Fj}{{Fjc}BbCl}<{{Fj{Ej{{Eh{Dl}}}}}d}{ce{}{}}{c{{Bb{e}}}{}{}}0{cDb{}}{{FjAlf}d}`3{El{{Bb{FjFd}}}}0{{El{Ej{{Eh{Dl}}}}}{{Fl{Fj}}}}```````````{{cb}d{}}00``{{FnFj}d}{{EdA`Fj}G`}8888888888{FnFn}{EdEd}{EfEf}{{ce}d{}{}}00`{{EdEd}Ab}{{EfEf}Ab}{{GbCb}Cd}0{{GdCb}Cd}0{{FnCb}Cd}{{EdCb}Cd}0{{EfCb}Cd}0{cc{}}0000{Ef{{Gf{Ef}}}}{El{{l{Ed}}}}{{{Dd{Ef}}}{{Bb{{Gj{EdGh}}`}}}}{El{{l{Ef}}}}{{}{{Dd{Ef}}}}{Eb{{Dd{Ef}}}}{{}{{Dd{Ed}}}}{Ef{{Gj{EdGh}}}}{{{Gj{EdGh}}}{{Dd{Ed}}}}{{Edc}dCh}{{Efc}dCh}{ce{}{}}0000``{{A`A`Bl}Fn}{{El{n{A`Fj}{{j{G`}}}}{Gl{{Dj{ElGh}}}}}Ed}{{ElGh{Gl{El}}{Gl{Eb}}}Ef}```{A`Fn}``{{Eb{Dd{D`}}}{{Bb{{Dd{Ef}}`}}}}{{Fj{Dd{Ef}}}{{Bb{FjGb}}}}```666{cD`{}}000{c{{Bb{e}}}{}{}}000000000{cDb{}}000099999{Ef{{Gf{Ef}}}}{{A`Bl}Fn}{{A`A`}Fn}``{A`{{l{Ad}}}}``````````````````````````{{cb}d{}}000`{{GnH`}H`}????????????????{EbEb}{HbHb}{{{Hd{ce}}}{{Hd{ce}}}{AjGn}{AjHf}}{HhHh}{{ce}d{}{}}000{c{{Bb{Eb}}}Bd}{{cBh}{{Bb{dBj}}}{}}{{EbEb}Ab}{{cBh}{{Bb{dC`}}}{}}{{EbCb}Cd}{{EbCb}{{Bb{dHj}}}}{{HbCb}Cd}{{HhCb}Cd}0{cc{}}0000000{El{{Bb{Ebc}}}{}}{GnEb}{{{Hd{c}}}EbGn}{Gn{{l{D`}}}}{{Ebc}dCh}`{ce{}{}}00000000{{}Hb}{DnE`}{HbHl}`{{{Hd{cHn}}Fj}{{Bb{{Hd{cI`}}Hh}}}Gn}`{c{{Hd{c}}}Gn}{Hb{{l{c}}}{}}0{{HbHl}{{l{c}}}{}}{{{Hd{cIb}}}dGn}{{}{{En{El}}}}{{}D`}{{Ebc}BbCl}{Hb{{Dj{Hl{l{Hl}}}}}}`{{{Hd{cI`}}Id}{{Bb{{Hd{cIb}}Hh}}}Gn}`{{{Hd{cI`}}Ih}{{Bb{{Hd{cIb}}Hh}}}Gn}`{{{Hd{cIb}}}H`Gn}????{cD`{}}0{c{{Bb{e}}}{}{}}000{El{{Bb{Ebc}}}{}}111111111111{cDb{}}0000000{ce{}{}}0000000{{{Hd{cIb}}}IjGn}``1111{{}Il}{{}In}{cc{}}0{IlEb}{InEb}{In{{l{D`}}}}77``54````::::8877```````{{J`A`}{{Bb{dJb}}}}{{J`Alf}{{Bb{dJb}}}}99995599<<<<::99```````9999999955559999``<<<<<<<<::::9999````{{cb}d{}}00{{JdJf}d}{{JdH`}d}<<<<<<{JfJf}{H`H`}{JdJd}{{ce}d{}{}}00`{{}Jf}{{}H`}{{}Jd}{{cBh}{{Bb{dBj}}}{}}00{{cBh}{{Bb{dC`}}}{}}00{cc{}}00{ce{}{}}00`{DnE`}005````````{{}{{En{El}}}}00{{}D`}00{{Jfc}BbCl}{{H`c}BbCl}{{Jdc}BbCl}```666{c{{Bb{e}}}{}{}}00000{cDb{}}00888{{H`Ij}H`}","D":"AGd","p":[[5,"Private",783],[1,"unit"],[6,"Domain",12,784],[1,"i32"],[17,"Output"],[6,"Option",785],[1,"fn"],[6,"Expression",12,786],[1,"bool"],[6,"Constant",12,787],[6,"Range",12,784],[10,"Ord",788],[10,"Clone",789],[6,"Name",12,790],[5,"DecisionVariable",12,791],[6,"Ordering",788],[6,"Result",792],[10,"Deserializer",793],[10,"Deserialize",793],[10,"Serializer",794],[6,"ErrorImpl",794],[8,"SymbolTable",12,790],[10,"PartialEq",788],[5,"Error",795],[5,"Formatter",796],[8,"Result",796],[10,"Debug",796],[10,"Hasher",797],[6,"ReturnType",208],[10,"Serializer",798],[10,"Serialize",798],[5,"String",799],[5,"TypeId",800],[5,"Vec",801],[10,"Fn",802],[5,"Box",803],[1,"tuple"],[5,"Context",229],[5,"SchemaGenerator",804],[6,"Schema",805],[6,"SolverFamily",459],[5,"Rule",343,806],[5,"RuleSet",343,807],[5,"RwLock",808],[5,"Arc",809],[1,"str"],[6,"Cow",810],[6,"Error",259],[5,"Error",811],[5,"Error",812],[10,"Error",813],[5,"Metadata",281],[5,"Model",307],[8,"Result",259],[5,"Reduction",343,806],[8,"ApplicationResult",343,806],[6,"RewriteError",343,814],[6,"ApplicationError",343,806],[5,"HashSet",815],[1,"u8"],[5,"HashMap",816],[1,"slice"],[10,"SolverAdaptor",459],[5,"SolverStats",706,817],[5,"SolverFamilyIter",459],[5,"Solver",459],[10,"SolverState",664],[6,"SolverError",459],[5,"Error",796],[1,"usize"],[5,"Init",664],[5,"ModelLoaded",664],[5,"ExecutionSuccess",664],[8,"SolverCallback",459],[5,"SolveSuccess",459],[8,"SolverMutCallback",459],[1,"f64"],[5,"Kissat",608,818],[5,"Minion",608,819],[10,"ModelModifier",639],[6,"ModificationFailure",639],[5,"Stats",706],[5,"RewriterStats",706,820],[6,"SearchStatus",459],[6,"SearchComplete",459],[6,"SearchIncomplete",459],[5,"NotModifiable",639],[5,"ExecutionFailure",664]],"r":[[0,307],[18,787],[20,791],[22,784],[24,786],[34,790],[39,784],[41,208],[48,790],[340,821],[341,821],[342,822],[343,806],[344,806],[348,806],[350,814],[351,806],[353,807],[377,823],[396,824],[402,824],[419,825],[420,825],[421,824],[422,814],[456,823],[458,826],[608,818],[609,819],[706,820],[707,817]],"b":[[110,"impl-Debug-for-Constant"],[111,"impl-Display-for-Constant"],[114,"impl-Debug-for-Expression"],[115,"impl-Display-for-Expression"],[116,"impl-Display-for-Name"],[117,"impl-Debug-for-Name"],[118,"impl-Display-for-DecisionVariable"],[119,"impl-Debug-for-DecisionVariable"],[120,"impl-From%3Ci32%3E-for-Constant"],[121,"impl-From%3Cbool%3E-for-Constant"],[126,"impl-From%3Cbool%3E-for-Expression"],[127,"impl-From%3Ci32%3E-for-Expression"],[269,"impl-Debug-for-Error"],[270,"impl-Display-for-Error"],[271,"impl-From%3CError%3E-for-Error"],[272,"impl-From%3CError%3E-for-Error"],[295,"impl-Debug-for-Metadata"],[296,"impl-Display-for-Metadata"],[380,"impl-Display-for-RewriteError"],[381,"impl-Debug-for-RewriteError"],[382,"impl-Debug-for-ApplicationError"],[383,"impl-Display-for-ApplicationError"],[385,"impl-Display-for-Rule%3C\'a%3E"],[386,"impl-Debug-for-Rule%3C\'a%3E"],[387,"impl-Debug-for-RuleSet%3C\'a%3E"],[388,"impl-Display-for-RuleSet%3C\'a%3E"],[519,"impl-Debug-for-SolverFamily"],[520,"impl-Display-for-SolverFamily"],[522,"impl-Display-for-SolverError"],[523,"impl-Debug-for-SolverError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAFUCQgAAAAQABgAEAAwAAAAPAAIAEwAAABUAAAAXAAAAHQABACEAAAAjAAAAKAAAACoAAAAsAAAALgAAADEAAAAzAAYAOwAmAGMAFwB/AAEAgwAAAI0AAACiACcAywASAOAAEgD1AA4ABQECAAkBCAAUARUALAEXAEYBAQBJAQsAVwEBAFoBAABeAQEAYQEAAGMBIgCUAQEAmwEAAJ0BBACoAQAAqgEbAMkBAQDNAQAAzwEMAOEBAADjAQYA7AEgABUCAAAXAgAAGQIBACMCBQAqAggANAIAADYCAAA4AigAYwIFAGsCAgBwAhAAhwIFAJECBwCbAgIAoAIHALICJADYAggA5wIVAP8CEAA="}],\ +["chuffed_rs",{"t":"CCFHHHFFFHISSSSFFFHFHHHIIHHFSSHFHHHHHHHHHHHFISSSSSFFFUFFFISSSSSSSSFISSSSSSSSSSSSSSSSISSSSSFFOOOOOOOOOOOHONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHHOOONNNNNNNNNNNNNNNNNNNNNNNNNNNHHHHHONNOONNNHNONNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNHNOOONHNNNNNNNNNNNNNNNNNNNNNNONHOOOONNNNNHHHHOHHHNNOOOOOOOOOONNNNNNNNNOOONHNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOOOOOHFOONOHHHHHHH","n":["bindings","wrappers","BoolView","BoolView_attach","BoolView_detach","BoolView_getScore","Branching","Branching__bindgen_vtable","Clause","Clause_debug","ConLevel","ConLevel_CL_BND","ConLevel_CL_DEF","ConLevel_CL_DOM","ConLevel_CL_VAL","DecInfo","DummyProblem","IntVar","IntVar_IntVar","IntVar_PropInfo","IntVar_allowSet","IntVar_attach","IntVar_branch","IntVar_const_iterator","IntVar_const_reverse_iterator","IntVar_getScore","IntVar_initVals","IntVar_iterator","IntVar_max_limit","IntVar_min_limit","IntVar_remVal","IntVar_reverse_iterator","IntVar_setMax","IntVar_setMin","IntVar_setVal","IntVar_simplifyWatches","IntVar_specialiseToEL","IntVar_specialiseToLL","IntVar_specialiseToSL","IntVar_updateFixed","IntVar_updateMax","IntVar_updateMin","IntVar_wakePropagators","Lit","PreferredVal","PreferredVal_PV_MAX","PreferredVal_PV_MEDIAN","PreferredVal_PV_MIN","PreferredVal_PV_SPLIT_MAX","PreferredVal_PV_SPLIT_MIN","Propagator","Propagator__bindgen_vtable","Reason","Reason__bindgen_ty_1","Reason__bindgen_ty_1__bindgen_ty_1","Tchar","Tint","ValBranch","ValBranch_VAL_DEFAULT","ValBranch_VAL_MAX","ValBranch_VAL_MEDIAN","ValBranch_VAL_MIDDLE","ValBranch_VAL_MIN","ValBranch_VAL_RANDOM","ValBranch_VAL_SPLIT_MAX","ValBranch_VAL_SPLIT_MIN","Var","VarBranch","VarBranch_VAR_ACTIVITY","VarBranch_VAR_DEFAULT","VarBranch_VAR_DEGREE_MAX","VarBranch_VAR_DEGREE_MIN","VarBranch_VAR_INORDER","VarBranch_VAR_MAX_MAX","VarBranch_VAR_MAX_MIN","VarBranch_VAR_MIN_MAX","VarBranch_VAR_MIN_MIN","VarBranch_VAR_PSEUDO_COST","VarBranch_VAR_RANDOM","VarBranch_VAR_REDUCED_COST","VarBranch_VAR_REGRET_MAX_MAX","VarBranch_VAR_REGRET_MIN_MAX","VarBranch_VAR_SIZE_MAX","VarBranch_VAR_SIZE_MIN","VarType","VarType_BOOL_VAR","VarType_INT_VAR","VarType_INT_VAR_EL","VarType_INT_VAR_LL","VarType_INT_VAR_SL","__BindgenBitfieldUnit","__IncompleteArrayField","__bindgen_anon_1","_base","_base","_base","_bitfield_1","_bitfield_1","_bitfield_align_1","_bitfield_align_1","_phantom_0","a","activity","all_different","all_in_scip","as_mut_ptr","as_mut_slice","as_ptr","as_slice","attach","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","branch","branch_IntVar","callback","cap","changes","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","createVar","createVars","createVars1","createVars2","createVars3","d","d1","d2","data","data","debug","default","default","destroy_vec_intvar","detach","eflags","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","forward","forward","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","from","get","get_bit","get_idx","hash","in_queue","in_queue","in_scip","initVals","int_plus","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","into","last_solution_value","learnt","make_vec_intvar","max","max0","min","min0","new","new","new","new_bitfield_1","new_bitfield_1","new_dummy_problem","new_xyz_problem","output_vars","output_vars1","p","p_addVars","p_print","p_setcallback","padding","partial_cmp","pinfo","pos","preferred_val","priority","prop_id","pt","s","satisfied","sbps_value_selection","searchVars","set","set_bit","set_d1","set_d2","set_learnt","set_padding","set_sz","set_temp_expl","set_type","shadow_val","should_be_decidable","should_be_learnable","simplifyWatches","solve_xyz","specialiseToEL","specialiseToLL","specialiseToSL","sz","sz","temp_expl","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_","type_","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","updateFixed","updateMax","updateMin","v","v","v","val","val","val","vals","var","var","var","var_id","var_sym_break","vec","vtable_","vtable_","wakePropagators","x","all_different_wrapper","branch_wrapper","create_var","create_vars","int_plus_wrapper","output_vars_wrapper","var_sym_break_wrapper"],"q":[[0,"chuffed_rs"],[2,"chuffed_rs::bindings"],[429,"chuffed_rs::wrappers"],[436,"std::os::raw"],[437,"core::clone"],[438,"core::cmp"],[439,"core::default"],[440,"core::fmt"],[441,"core::convert"],[442,"core::hash"],[443,"core::option"],[444,"core::result"],[445,"core::any"]],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,17,35,6,36,27,19,27,19,34,18,36,0,36,2,2,2,2,6,52,53,10,2,34,12,13,14,15,16,27,17,18,19,7,35,6,36,20,21,22,23,52,53,10,2,34,12,13,14,15,16,27,17,18,19,7,35,6,36,20,21,22,23,0,0,23,34,36,10,12,13,14,15,16,17,18,19,20,21,22,23,10,12,13,14,15,16,17,18,19,20,21,22,23,10,0,0,0,0,0,18,19,19,34,27,27,10,2,0,6,20,10,10,2,34,12,13,14,15,16,27,19,7,35,6,36,20,21,22,23,54,22,52,53,10,2,34,12,13,14,15,16,27,17,18,19,7,35,6,36,20,21,22,23,10,10,0,10,7,36,36,36,0,52,53,10,2,34,12,13,14,15,16,27,17,18,19,7,35,6,36,20,21,22,23,36,27,0,36,36,36,36,10,2,36,27,19,0,0,0,0,20,0,0,0,27,10,36,20,36,7,7,18,6,7,36,23,10,10,19,19,27,27,27,27,19,36,36,36,36,0,36,36,36,27,34,27,10,12,13,14,15,16,17,18,19,20,21,22,23,52,53,10,2,34,12,13,14,15,16,27,17,18,19,7,35,6,36,20,21,22,23,52,53,10,2,34,12,13,14,15,16,27,17,18,19,7,35,6,36,20,21,22,23,19,14,52,53,10,2,34,12,13,14,15,16,27,17,18,19,7,35,6,36,20,21,22,23,36,36,36,12,13,6,55,14,21,36,55,14,21,36,0,0,15,7,36,16,0,0,0,0,0,0,0],"f":"`````````````````````````````````````````````````````````````````````````````````````````````````````````{{{f{b{d{c}}}}}{}{}}{{{f{b{d{c}}}}h}{{f{b{j{c}}}}}{}}{{{f{{d{c}}}}}{}{}}{{{f{{d{c}}}}h}{{f{{j{c}}}}}{}}{{{f{l}}nA`A`}Ab}{{{f{c}}}{{f{e}}}{}{}}000000000000000000000{{{f{bc}}}{{f{be}}}{}{}}000000000000000000000`````{{{f{{Ad{c}}}}}{{Ad{c}}}Af}{{{f{Ah}}}Ah}{{{f{Aj}}}Aj}{{{f{Al}}}Al}{{{f{An}}}An}{{{f{B`}}}B`}{{{f{Bb}}}Bb}{{{f{Bd}}}Bd}{{{f{Bf}}}Bf}{{{f{Bh}}}Bh}{{{f{Bj}}}Bj}{{{f{Bl}}}Bl}{{{f{Bn}}}Bn}{{{f{c}}{f{be}}}Ab{}{}}000000000000{{{f{{Ad{c}}}}{f{{Ad{c}}}}}C`Cb}``````{{{f{Bf}}}Cd}0``{{{f{Cf}}}Ab}{{}{{Ad{c}}}Ch}{{}{{d{c}}}Ch}`{{{f{bl}}nA`A`}Ab}`{{{f{{Ad{c}}}}{f{{Ad{c}}}}}CjCl}{{{f{{Ad{c}}}}{f{bCn}}}D`Db}{{{f{{d{c}}}}{f{bCn}}}D`{}}{{{f{{Dd{c}}}}{f{bCn}}}D`Db}{{{f{Ah}}{f{bCn}}}D`}{{{f{Aj}}{f{bCn}}}D`}{{{f{Al}}{f{bCn}}}D`}{{{f{An}}{f{bCn}}}D`}{{{f{B`}}{f{bCn}}}D`}{{{f{Cf}}{f{bCn}}}D`}{{{f{Bf}}{f{bCn}}}D`}{{{f{n}}{f{bCn}}}D`}{{{f{Df}}{f{bCn}}}D`}{{{f{l}}{f{bCn}}}D`}{{{f{Dh}}{f{bCn}}}D`}{{{f{Bh}}{f{bCn}}}D`}{{{f{Bj}}{f{bCn}}}D`}{{{f{Bl}}{f{bCn}}}D`}{{{f{Bn}}{f{bCn}}}D`}``{cc{}}000000000000000000000{{{f{{Ad{c}}}}hDj}Dl{{Dn{{j{Dj}}}}{E`{{j{Dj}}}}}}{{{f{{Ad{c}}}}h}Cj{{Dn{{j{Dj}}}}{E`{{j{Dj}}}}}}`{{{f{{Ad{c}}}}{f{be}}}AbEbEd}```{{{f{bDh}}Cj}Ab}`{ce{}{}}000000000000000000000`{{{f{Cf}}}Cd}`````{c{{Ad{c}}}{}}{{}{{d{c}}}{}}{{A`A`}Dh}{{CdCdCdCd}{{Ad{{Ef{Dj}}}}}}{{CdCdCd}{{Ad{{Ef{Dj}}}}}}````````5{{{f{{Ad{c}}}}{f{{Ad{c}}}}}{{Eh{C`}}}Ej}``````````{{{f{b{Ad{c}}}}hDjDl}Ab{{Dn{{j{Dj}}}}{E`{{j{Dj}}}}}}{{{f{b{Ad{c}}}}hCj}Ab{{Dn{{j{Dj}}}}{E`{{j{Dj}}}}}}{{{f{bBf}}Cd}Ab}0{{{f{bCf}}Cd}Ab}0001```{{{f{bDh}}}A`}`{{{f{bDh}}}Ab}0{{{f{bDh}}Dd}Ab}=`={{{f{c}}}e{}{}}000000000000{c{{El{e}}}{}{}}0000000000000000000000000000000000000000000{{{f{Bf}}}Cd}`{{{f{c}}}En{}}000000000000000000000555```````````````5`{{DdF`}Ab}{{DdFbFd}Ab}{{FfFfCj}Dh}{{FfFfFfCj}Dd}{{DhDhDh}Ab}{DdAb}0","D":"Eh","p":[[0,"mut"],[5,"__IncompleteArrayField",2],[1,"reference"],[1,"usize"],[1,"slice"],[5,"BoolView",2],[5,"Propagator",2],[8,"c_int",436],[1,"unit"],[5,"__BindgenBitfieldUnit",2],[10,"Clone",437],[5,"Tchar",2],[5,"Tint",2],[5,"DecInfo",2],[5,"Branching",2],[5,"Lit",2],[5,"Reason",2],[20,"Reason__bindgen_ty_1",2],[5,"Reason__bindgen_ty_1__bindgen_ty_1",2],[5,"IntVar_PropInfo",2],[5,"IntVar_iterator",2],[5,"IntVar_reverse_iterator",2],[5,"DummyProblem",2],[6,"Ordering",438],[10,"Ord",438],[8,"c_uint",436],[5,"Clause",2],[10,"Default",439],[1,"bool"],[10,"PartialEq",438],[5,"Formatter",440],[8,"Result",440],[10,"Debug",440],[5,"vec",2],[5,"Var",2],[5,"IntVar",2],[1,"u8"],[1,"u64"],[10,"AsRef",441],[10,"AsMut",441],[10,"Hash",442],[10,"Hasher",442],[1,"array"],[6,"Option",443],[10,"PartialOrd",438],[6,"Result",444],[5,"TypeId",445],[8,"ConLevel",2],[8,"VarBranch",2],[8,"ValBranch",2],[1,"i32"],[5,"Branching__bindgen_vtable",2],[5,"Propagator__bindgen_vtable",2],[8,"IntVar_const_reverse_iterator",2],[8,"IntVar_const_iterator",2]],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAIgBAwAAAN8A9gAIABUBnwA="}],\ +["conjure_core",{"t":"ECDCCCCCCCCCPPPPPPGPFPGPGPPPPPPPPPGPPPPGPEPPPPPPIPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNPPGNNNNNNNNNNNNNNNNNNFNNNNNNNNNOONNNNNNOONNNOONNNNNPGPPPPPINNNNNNNNNNNNNNFNNNONNNNNNNNONNNNNNNNNNNNFNNNNNNNNOONNNNNNNNNNNNNNNNNNNNONHHHGIPPPFPGFPFNNNCONNNNNNNNNNNNNNNNNNXNNNNNNNNNNNNNNNNNHHHHHHNHNNNNNNNOONNNOOONXQHHOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNXEHPPPPPPPPPPPPPGGGFFKIGGFIPPNNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNMNCNNNNNNNNNMNMNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPKGFPPNNNNNNNNNNNNNNNNNNFFFFKOONNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNOFFFNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNONNNNOOOOOOOONNNNNNNNNOOONNNNNNNNNNNNNNNN","n":["Model","ast","conjure_core","context","error","metadata","model","parse","rule_engine","rules","solver","stats","AllDiff","And","Bool","BoolDomain","Bounded","Bubble","Constant","Constant","DecisionVariable","DivEq","Domain","Eq","Expression","Geq","Gt","Ineq","Int","IntDomain","Leq","Lt","MachineName","Min","Name","Neq","Not","Nothing","Or","Range","Reference","ReturnType","SafeDiv","Single","Sum","SumEq","SumGeq","SumLeq","SymbolTable","UnsafeDiv","UserName","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","apply_i32","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","can_be_undefined","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","do_erased_serialize","do_erased_serialize","do_erased_serialize","do_erased_serialize","do_erased_serialize","do_erased_serialize","domain","domain_of","eq","eq","eq","eq","eq","eq","erased_serialize","erased_serialize","erased_serialize","erased_serialize","erased_serialize","erased_serialize","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","hash","into","into","into","into","into","into","is_all_diff","is_and","is_bubble","is_clean","is_constant","is_div_eq","is_eq","is_geq","is_gt","is_ineq","is_leq","is_lt","is_min","is_neq","is_not","is_nothing","is_or","is_reference","is_safe_div","is_sum","is_sum_eq","is_sum_geq","is_sum_leq","is_unsafe_div","new","partial_cmp","return_type","serialize","serialize","serialize","serialize","serialize","serialize","set_clean","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","types","uniplate","values_i32","vzip","vzip","vzip","vzip","vzip","vzip","Bool","Int","ReturnType","__clone_box","borrow","borrow_mut","clone","clone_into","deserialize","do_erased_serialize","eq","erased_serialize","fmt","from","into","serialize","to_owned","try_from","try_into","type_id","vzip","Context","__clone_box","borrow","borrow_mut","clone","clone_into","default","do_erased_serialize","eq","erased_serialize","extra_rule_set_names","file_name","fmt","from","into","json_schema","new","new_ptr","rule_sets","rules","schema_id","schema_name","serialize","stats","target_solver_family","to_owned","try_from","try_into","type_id","vzip","Err","Error","JSON","NotImplemented","Ok","Other","Parse","Result","borrow","borrow_mut","fmt","fmt","from","from","from","into","source","to_string","try_from","try_into","type_id","vzip","Metadata","__clone_box","borrow","borrow_mut","clean","clone","clone_dirty","clone_into","default","deserialize","do_erased_serialize","eq","erased_serialize","etype","fmt","fmt","from","into","new","serialize","to_owned","to_string","try_from","try_into","type_id","vzip","Model","__clone_box","add_constraint","add_constraints","add_variable","borrow","borrow_mut","clone","clone_into","constraints","context","deserialize","do_erased_serialize","eq","erased_serialize","fmt","from","gensym","get_constraints_vec","get_domain","into","new","new_empty","serialize","set_constraints","set_context","to_owned","try_from","try_into","type_id","update_domain","variables","vzip","get_example_model","get_example_model_by_path","model_from_json","ApplicationError","ApplicationResult","DomainError","Err","Ok","Reduction","ResolveRulesError","RewriteError","Rule","RuleNotApplicable","RuleSet","__clone_box","__clone_box","__clone_box","_dependencies","application","apply","apply","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","distributed_slice","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","get_dependencies","get_rule_by_name","get_rule_priorities","get_rule_set_by_name","get_rule_sets","get_rule_sets_for_solver_family","get_rules","get_rules","get_rules_vec","hash","hash","into","into","into","into","into","name","name","new","new","new","new_expression","new_top","order","pure","register_rule","register_rule_set","resolve_rule_sets","rewrite_model","rule_sets","solver_families","symbols","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","with_dependencies","with_symbols","with_top","distributed_slice","linkme","eval_constant","Complete","HasSolutions","Incomplete","Minion","ModelFeatureNotImplemented","ModelFeatureNotSupported","ModelInvalid","NoSolutions","OpNotImplemented","OpNotSupported","Runtime","RuntimeNotImplemented","SAT","SearchComplete","SearchIncomplete","SearchStatus","SolveSuccess","Solver","SolverAdaptor","SolverCallback","SolverError","SolverFamily","SolverFamilyIter","SolverMutCallback","Timeout","UserTerminated","__clone_box","__clone_box","__clone_box","__clone_box","adaptors","add_adaptor_info_to_stats","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","deserialize","do_erased_serialize","eq","erased_serialize","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from_str","get_family","get_family","get_name","hash","init_solver","into","into","into","into","into","into","into","into","into_iter","iter","json_schema","len","load_model","load_model","model_modifier","new","next","next_back","nth","save_stats_to_context","schema_id","schema_name","serialize","size_hint","solve","solve","solve_mut","solve_mut","states","stats","to_owned","to_owned","to_owned","to_owned","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wall_time_s","Kissat","Minion","borrow","borrow","borrow_mut","borrow_mut","default","default","from","from","get_family","get_family","get_name","into","into","load_model","load_model","new","new","solve","solve","solve_mut","solve_mut","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","ArgsInvalid","Error","ModelModifier","ModificationFailure","NotModifiable","OpNotImplemented","OpNotSupported","add_constraint","add_variable","borrow","borrow","borrow_mut","borrow_mut","from","from","into","into","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","ExecutionFailure","ExecutionSuccess","Init","ModelLoaded","SolverState","_sealed","_sealed","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","from","from","from","from","into","into","into","into","stats","status","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","why","RewriterStats","SolverStats","Stats","__clone_box","__clone_box","__clone_box","add_rewriter_run","add_solver_run","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","conjure_solver_wall_time_s","default","default","default","do_erased_serialize","do_erased_serialize","do_erased_serialize","erased_serialize","erased_serialize","erased_serialize","from","from","from","into","into","into","is_optimization_enabled","json_schema","json_schema","json_schema","new","nodes","rewriter_rule_application_attempts","rewriter_rule_applications","rewriter_run_time","rewriter_runs","sat_clauses","sat_vars","satisfiable","schema_id","schema_id","schema_id","schema_name","schema_name","schema_name","serialize","serialize","serialize","solver_adaptor","solver_family","solver_runs","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","vzip","vzip","vzip","with_timings"],"q":[[0,"conjure_core"],[12,"conjure_core::ast"],[208,"conjure_core::ast::types"],[229,"conjure_core::context"],[259,"conjure_core::error"],[281,"conjure_core::metadata"],[307,"conjure_core::model"],[340,"conjure_core::parse"],[343,"conjure_core::rule_engine"],[456,"conjure_core::rule_engine::_dependencies"],[458,"conjure_core::rules"],[459,"conjure_core::solver"],[608,"conjure_core::solver::adaptors"],[639,"conjure_core::solver::model_modifier"],[664,"conjure_core::solver::states"],[706,"conjure_core::stats"],[783,"dyn_clone::sealed"],[784,"conjure_core::ast::domains"],[785,"core::option"],[786,"conjure_core::ast::expressions"],[787,"conjure_core::ast::constants"],[788,"core::cmp"],[789,"core::clone"],[790,"conjure_core::ast::symbol_table"],[791,"conjure_core::ast::variables"],[792,"core::result"],[793,"serde::de"],[794,"erased_serde::ser"],[795,"erased_serde::error"],[796,"core::fmt"],[797,"core::hash"],[798,"serde::ser"],[799,"alloc::string"],[800,"core::any"],[801,"alloc::vec"],[802,"core::ops::function"],[803,"alloc::boxed"],[804,"schemars::gen"],[805,"schemars::schema"],[806,"conjure_core::rule_engine::rule"],[807,"conjure_core::rule_engine::rule_set"],[808,"std::sync::rwlock"],[809,"alloc::sync"],[810,"alloc::borrow"],[811,"anyhow"],[812,"serde_json::error"],[813,"core::error"],[814,"conjure_core::rule_engine::rewrite"],[815,"std::collections::hash::set"],[816,"std::collections::hash::map"],[817,"conjure_core::stats::solver_stats"],[818,"conjure_core::solver::adaptors::kissat"],[819,"conjure_core::solver::adaptors::minion"],[820,"conjure_core::stats::rewriter_stats"],[821,"conjure_core::parse::example_models"],[822,"conjure_core::parse::parse_model"],[823,"linkme_impl"],[824,"conjure_core::rule_engine::resolve_rules"],[825,"conjure_macros"],[826,"conjure_core::rules::constant"]],"i":[0,0,0,0,0,0,0,0,0,0,0,0,10,10,12,4,13,10,0,10,0,10,0,10,0,10,10,10,12,4,10,10,16,10,0,10,10,10,10,0,10,0,10,13,10,10,10,10,0,10,16,12,13,4,10,16,17,4,12,13,4,10,16,17,12,13,4,10,16,17,10,12,13,4,10,16,17,12,13,4,10,16,17,16,12,13,4,10,16,17,12,13,4,10,16,17,17,10,12,13,4,10,16,17,12,13,4,10,16,17,12,12,13,4,10,10,16,16,17,17,12,12,12,13,4,10,10,10,16,17,16,12,13,4,10,16,17,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,17,16,10,12,13,4,10,16,17,10,12,13,4,10,16,17,12,10,16,17,12,13,4,10,16,17,12,13,4,10,16,17,12,13,4,10,16,17,0,10,4,12,13,4,10,16,17,31,31,0,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,31,0,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,56,0,50,50,56,50,50,0,50,50,50,50,50,50,50,50,50,50,50,50,50,50,0,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,54,0,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,55,0,0,0,0,0,60,58,58,0,59,0,0,60,0,57,44,45,0,44,57,44,59,60,57,44,45,59,60,57,44,45,57,44,45,57,44,45,0,44,45,59,59,60,60,57,44,44,45,45,59,60,57,44,45,45,0,0,0,0,0,0,45,0,44,45,59,60,57,44,45,44,45,57,44,45,57,57,45,57,0,0,0,0,44,45,57,57,44,45,59,60,44,45,59,60,57,44,45,59,60,57,44,45,59,60,57,44,45,59,60,57,44,45,45,57,57,0,0,0,86,87,86,43,70,70,70,87,70,70,70,70,43,0,0,0,0,0,0,0,0,0,0,0,88,88,43,67,68,70,0,65,77,86,88,87,43,67,68,70,77,86,88,87,43,67,68,70,43,67,68,70,43,67,68,70,43,43,43,43,43,43,67,70,70,77,86,88,87,43,67,68,70,43,65,68,65,43,65,77,86,88,87,43,67,68,70,67,43,43,67,65,68,0,68,67,67,67,68,43,43,43,67,65,68,65,68,0,68,43,67,68,70,43,70,77,86,88,87,43,43,67,68,70,77,86,88,87,43,67,68,70,77,86,88,87,43,67,68,70,77,86,88,87,43,67,68,70,68,0,0,80,81,80,81,80,81,80,81,80,81,81,80,81,80,81,80,81,80,81,80,81,80,81,80,81,80,81,80,81,83,83,0,0,0,83,83,82,82,89,83,89,83,89,83,89,83,89,83,89,83,89,83,89,83,0,0,0,0,0,75,90,73,74,75,90,73,74,75,90,73,74,75,90,73,74,75,90,75,75,73,74,75,90,73,74,75,90,73,74,75,90,73,74,75,90,90,0,0,0,85,66,84,84,84,85,66,84,85,66,84,85,66,84,85,66,84,66,85,66,84,85,66,84,85,66,84,85,66,84,85,66,84,85,85,66,84,84,66,85,85,85,84,66,66,66,85,66,84,85,66,84,85,66,84,66,66,84,85,66,84,85,66,84,85,66,84,85,66,84,85,66,84,66],"f":"```````````````````````````````````````````````````{{{b{c}}d}f{}}00000{{{b{h}}{A`{jj}{{l{{n{j}}}}}}{b{h}}}{{n{h}}}}{{{b{c}}}{{b{e}}}{}{}}00000{{{b{Abc}}}{{b{Abe}}}{}{}}00000{{{b{Ad}}}Af}{{{b{Ah}}}Ah}{{{b{{Aj{c}}}}}{{Aj{c}}}{AlAn}}{{{b{h}}}h}{{{b{Ad}}}Ad}{{{b{B`}}}B`}{{{b{Bb}}}Bb}{{{b{c}}{b{Abe}}}f{}{}}00000{{{b{B`}}{b{B`}}}Bd}{c{{Bf{Ah}}}Bh}{c{{Bf{{Aj{e}}}}}Bh{AlBj}}{c{{Bf{h}}}Bh}{c{{Bf{Ad}}}Bh}{c{{Bf{B`}}}Bh}{c{{Bf{Bb}}}Bh}{{{b{c}}{b{AbBl}}}{{Bf{fBn}}}{}}00000`{{{b{Ad}}{b{C`}}}{{n{h}}}}{{{b{Ah}}{b{Ah}}}Af}{{{b{{Aj{c}}}}{b{{Aj{c}}}}}Af{AlCb}}{{{b{h}}{b{h}}}Af}{{{b{Ad}}{b{Ad}}}Af}{{{b{B`}}{b{B`}}}Af}{{{b{Bb}}{b{Bb}}}Af}{{{b{c}}{b{AbBl}}}{{Bf{fCd}}}{}}00000{{{b{Ah}}{b{AbCf}}}Ch}0{{{b{{Aj{c}}}}{b{AbCf}}}Ch{AlCj}}{{{b{h}}{b{AbCf}}}Ch}{{{b{Ad}}{b{AbCf}}}Ch}0{{{b{B`}}{b{AbCf}}}Ch}0{{{b{Bb}}{b{AbCf}}}Ch}0{AfAh}{cc{}}{jAh}11{jAd}2{AfAd}33{{{b{B`}}{b{Abc}}}fCl}{ce{}{}}00000{{{b{Ad}}}Af}00000000000000000000000{hBb}{{{b{B`}}{b{B`}}}{{n{Bd}}}}{{{b{Ad}}}{{n{Cn}}}}{{{b{Ah}}c}BfD`}{{{b{{Aj{c}}}}e}Bf{AlDb}D`}{{{b{h}}c}BfD`}{{{b{Ad}}c}BfD`}{{{b{B`}}c}BfD`}{{{b{Bb}}c}BfD`}{{{b{AbAd}}Af}f}{{{b{c}}}e{}{}}00000{{{b{c}}}Dd{}}000{c{{Bf{e}}}{}{}}00000000000{{{b{c}}}Df{}}00000`{{{b{Ad}}}{{Dn{{Dh{Ad}}{Dl{Dj}}}}}}{{{b{h}}}{{n{{Dh{j}}}}}}{ce{}{}}00000```{{{b{c}}d}f{}}{{{b{c}}}{{b{e}}}{}{}}{{{b{Abc}}}{{b{Abe}}}{}{}}{{{b{Cn}}}Cn}{{{b{c}}{b{Abe}}}f{}{}}{c{{Bf{Cn}}}Bh}{{{b{c}}{b{AbBl}}}{{Bf{fBn}}}{}}{{{b{Cn}}{b{Cn}}}Af}{{{b{c}}{b{AbBl}}}{{Bf{fCd}}}{}}{{{b{Cn}}{b{AbCf}}}Ch}{cc{}};{{{b{Cn}}c}BfD`}{{{b{c}}}e{}{}}{c{{Bf{e}}}{}{}}0{{{b{c}}}Df{}}?`>=<{{{b{E`}}}E`};{{}E`}:{{{b{E`}}{b{E`}}}Af}9``{{{b{E`}}{b{AbCf}}}Ch}8{ce{}{}}{{{b{AbEb}}}Ed}{{Ef{Dh{Dd}}{Dh{{b{Eh}}}}{Dh{{b{Ej}}}}}E`}{{Ef{Dh{Dd}}{Dh{{b{Eh}}}}{Dh{{b{Ej}}}}}{{En{{El{E`}}}}}}``{{}{{Fb{F`}}}}{{}Dd}{{{b{E`}}c}BfD`}``=<<;6````````{{{b{c}}}{{b{e}}}{}{}}{{{b{Abc}}}{{b{Abe}}}{}{}}{{{b{Fd}}{b{AbCf}}}Ch}0{FfFd}{FhFd}{cc{}}<{{{b{Fd}}}{{n{{b{Fj}}}}}}{{{b{c}}}Dd{}}{c{{Bf{e}}}{}{}}0{{{b{c}}}Df{}}{ce{}{}}`{{{b{c}}d}f{}};:`{{{b{Fl}}}Fl}0{{{b{c}}{b{Abe}}}f{}{}}{{}Fl}{c{{Bf{Fl}}}Bh}{{{b{c}}{b{AbBl}}}{{Bf{fBn}}}{}}{{{b{Fl}}{b{Fl}}}Af}{{{b{c}}{b{AbBl}}}{{Bf{fCd}}}{}}`{{{b{Fl}}{b{AbCf}}}Ch}0>95{{{b{Fl}}c}BfD`}{{{b{c}}}e{}{}}>==<;`:{{{b{AbFn}}Ad}f}{{{b{AbFn}}{Dh{Ad}}}f}{{{b{AbFn}}B`Bb}f}{{{b{c}}}{{b{e}}}{}{}}{{{b{Abc}}}{{b{Abe}}}{}{}}{{{b{Fn}}}Fn}>``{c{{Bf{Fn}}}Bh}<{{{b{Fn}}{b{Fn}}}Af};{{{b{Fn}}{b{AbCf}}}Ch}{cc{}}{{{b{Fn}}}B`}{{{b{Fn}}}{{Dh{Ad}}}}{{{b{Fn}}{b{B`}}}{{n{{b{h}}}}}}{ce{}{}}{{C`Ad{En{{El{E`}}}}}Fn}{{{En{{El{E`}}}}}Fn}{{{b{Fn}}c}BfD`}?{{{b{AbFn}}{En{{El{E`}}}}}f}{{{b{c}}}e{}{}}{c{{Bf{e}}}{}{}}0{{{b{c}}}Df{}}{{{b{AbFn}}{b{B`}}h}f}`8{{{b{F`}}}{{Bf{FnFf}}}}0{{{b{F`}}{En{{El{E`}}}}}{{G`{Fn}}}}```````````{{{b{c}}d}f{}}00``{{Gb{b{AbFn}}}f}{{{b{Eh}}{b{Ad}}{b{Fn}}}Gd}{{{b{c}}}{{b{e}}}{}{}}0000{{{b{Abc}}}{{b{Abe}}}{}{}}0000{{{b{Gb}}}Gb}{{{b{Eh}}}Eh}{{{b{Ej}}}Ej}{{{b{c}}{b{Abe}}}f{}{}}00`{{{b{Eh}}{b{Eh}}}Af}{{{b{Ej}}{b{Ej}}}Af}{{{b{Gf}}{b{AbCf}}}Ch}0{{{b{Gh}}{b{AbCf}}}Ch}0{{{b{Gb}}{b{AbCf}}}Ch}{{{b{Eh}}{b{AbCf}}}Ch}0{{{b{Ej}}{b{AbCf}}}Ch}0{cc{}}0000{{{b{Ej}}}{{b{{Gj{{b{Ej}}}}}}}}{{{b{F`}}}{{n{{b{Eh}}}}}}{{{b{{Dh{{b{Ej}}}}}}}{{Bf{{Gn{{b{Eh}}Gl}}`}}}}{{{b{F`}}}{{n{{b{Ej}}}}}}{{}{{Dh{{b{Ej}}}}}}{Ef{{Dh{{b{Ej}}}}}}{{}{{Dh{{b{Eh}}}}}}{{{b{Ej}}}{{b{{Gn{{b{Eh}}Gl}}}}}}{{{b{{Gn{{b{Eh}}Gl}}}}}{{Dh{{b{Eh}}}}}}{{{b{Eh}}{b{Abc}}}fCl}{{{b{Ej}}{b{Abc}}}fCl}{ce{}{}}0000``{{AdAdC`}Gb}{{{b{F`}}{A`{{b{Ad}}{b{Fn}}}{{l{Gd}}}}{b{{H`{{Dn{{b{F`}}Gl}}}}}}}Eh}{{{b{F`}}Gl{b{{H`{{b{F`}}}}}}{b{{H`{Ef}}}}}Ej}```{AdGb}``{{Ef{b{{Dh{Dd}}}}}{{Bf{{Dh{{b{Ej}}}}`}}}}{{{b{Fn}}{b{{Dh{{b{Ej}}}}}}}{{Bf{FnGf}}}}```{{{b{c}}}e{}{}}00{{{b{c}}}Dd{}}000{c{{Bf{e}}}{}{}}000000000{{{b{c}}}Df{}}0000:::::{{{b{Ej}}}{{Gj{{b{Ej}}}}}}{{AdC`}Gb}{{AdAd}Gb}``{{{b{Ad}}}{{n{Ah}}}}``````````````````````````{{{b{c}}d}f{}}000`{{{b{Hb}}Hd}Hd}{{{b{c}}}{{b{e}}}{}{}}0000000{{{b{Abc}}}{{b{Abe}}}{}{}}0000000{{{b{Ef}}}Ef}{{{b{Hf}}}Hf}{{{b{{Hh{ce}}}}}{{Hh{ce}}}{AnHb}{AnHj}}{{{b{Hl}}}Hl}{{{b{c}}{b{Abe}}}f{}{}}000{c{{Bf{Ef}}}Bh}{{{b{c}}{b{AbBl}}}{{Bf{fBn}}}{}}{{{b{Ef}}{b{Ef}}}Af}{{{b{c}}{b{AbBl}}}{{Bf{fCd}}}{}}{{{b{Ef}}{b{AbCf}}}Ch}{{{b{Ef}}{b{AbCf}}}{{Bf{fHn}}}}{{{b{Hf}}{b{AbCf}}}Ch}{{{b{Hl}}{b{AbCf}}}Ch}0{cc{}}0000000{{{b{F`}}}{{Bf{Efc}}}{}}{{{b{Hb}}}Ef}{{{b{{Hh{c}}}}}EfHb}{{{b{Hb}}}{{n{Dd}}}}{{{b{Ef}}{b{Abc}}}fCl}`{ce{}{}}00000000{{}Hf}{{{b{AbEb}}}Ed}{{{b{Hf}}}I`}`{{{Hh{cIb}}Fn}{{Bf{{Hh{cId}}Hl}}}Hb}`{c{{Hh{c}}}Hb}{{{b{AbHf}}}{{n{c}}}{}}0{{{b{AbHf}}I`}{{n{c}}}{}}{{{b{{Hh{cIf}}}}}fHb}{{}{{Fb{F`}}}}{{}Dd}{{{b{Ef}}c}BfD`}{{{b{Hf}}}{{Dn{I`{n{I`}}}}}}`{{{Hh{cId}}Ih}{{Bf{{Hh{cIf}}Hl}}}Hb}`{{{Hh{cId}}Il}{{Bf{{Hh{cIf}}Hl}}}Hb}`{{{b{{Hh{cIf}}}}}HdHb}{{{b{c}}}e{}{}}000{{{b{c}}}Dd{}}0{c{{Bf{e}}}{}{}}000{{{b{F`}}}{{Bf{Efc}}}{}}111111111111{{{b{c}}}Df{}}0000000{ce{}{}}0000000{{{b{{Hh{cIf}}}}}InHb}``{{{b{c}}}{{b{e}}}{}{}}0{{{b{Abc}}}{{b{Abe}}}{}{}}0{{}J`}{{}Jb}{cc{}}0{{{b{J`}}}Ef}{{{b{Jb}}}Ef}{{{b{Jb}}}{{n{Dd}}}}99``54````<<<<::99```````{{{b{Jd}}Ad}{{Bf{fJf}}}}{{{b{Jd}}B`h}{{Bf{fJf}}}}998855;;>>>><<;;```````999988885555;;;;``>>>>>>>><<<<;;;;````{{{b{c}}d}f{}}00{{{b{AbJh}}Jj}f}{{{b{AbJh}}Hd}f}<<<;;;{{{b{Jj}}}Jj}{{{b{Hd}}}Hd}{{{b{Jh}}}Jh}{{{b{c}}{b{Abe}}}f{}{}}00`{{}Jj}{{}Hd}{{}Jh}{{{b{c}}{b{AbBl}}}{{Bf{fBn}}}{}}00{{{b{c}}{b{AbBl}}}{{Bf{fCd}}}{}}00{cc{}}00{ce{}{}}00`{{{b{AbEb}}}Ed}005````````{{}{{Fb{F`}}}}00{{}Dd}00{{{b{Jj}}c}BfD`}{{{b{Hd}}c}BfD`}{{{b{Jh}}c}BfD`}```{{{b{c}}}e{}{}}00{c{{Bf{e}}}{}{}}00000{{{b{c}}}Df{}}00999{{HdIn}Hd}","D":"AGd","p":[[1,"reference"],[5,"Private",783],[1,"unit"],[6,"Domain",12,784],[1,"i32"],[17,"Output"],[6,"Option",785],[1,"fn"],[0,"mut"],[6,"Expression",12,786],[1,"bool"],[6,"Constant",12,787],[6,"Range",12,784],[10,"Ord",788],[10,"Clone",789],[6,"Name",12,790],[5,"DecisionVariable",12,791],[6,"Ordering",788],[6,"Result",792],[10,"Deserializer",793],[10,"Deserialize",793],[10,"Serializer",794],[6,"ErrorImpl",794],[8,"SymbolTable",12,790],[10,"PartialEq",788],[5,"Error",795],[5,"Formatter",796],[8,"Result",796],[10,"Debug",796],[10,"Hasher",797],[6,"ReturnType",208],[10,"Serializer",798],[10,"Serialize",798],[5,"String",799],[5,"TypeId",800],[5,"Vec",801],[10,"Fn",802],[5,"Box",803],[1,"tuple"],[5,"Context",229],[5,"SchemaGenerator",804],[6,"Schema",805],[6,"SolverFamily",459],[5,"Rule",343,806],[5,"RuleSet",343,807],[5,"RwLock",808],[5,"Arc",809],[1,"str"],[6,"Cow",810],[6,"Error",259],[5,"Error",811],[5,"Error",812],[10,"Error",813],[5,"Metadata",281],[5,"Model",307],[8,"Result",259],[5,"Reduction",343,806],[8,"ApplicationResult",343,806],[6,"RewriteError",343,814],[6,"ApplicationError",343,806],[5,"HashSet",815],[1,"u8"],[5,"HashMap",816],[1,"slice"],[10,"SolverAdaptor",459],[5,"SolverStats",706,817],[5,"SolverFamilyIter",459],[5,"Solver",459],[10,"SolverState",664],[6,"SolverError",459],[5,"Error",796],[1,"usize"],[5,"Init",664],[5,"ModelLoaded",664],[5,"ExecutionSuccess",664],[8,"SolverCallback",459],[5,"SolveSuccess",459],[8,"SolverMutCallback",459],[1,"f64"],[5,"Kissat",608,818],[5,"Minion",608,819],[10,"ModelModifier",639],[6,"ModificationFailure",639],[5,"Stats",706],[5,"RewriterStats",706,820],[6,"SearchStatus",459],[6,"SearchComplete",459],[6,"SearchIncomplete",459],[5,"NotModifiable",639],[5,"ExecutionFailure",664]],"r":[[0,307],[18,787],[20,791],[22,784],[24,786],[34,790],[39,784],[41,208],[48,790],[340,821],[341,821],[342,822],[343,806],[344,806],[348,806],[350,814],[351,806],[353,807],[377,823],[396,824],[402,824],[419,825],[420,825],[421,824],[422,814],[456,823],[458,826],[608,818],[609,819],[706,820],[707,817]],"b":[[110,"impl-Display-for-Constant"],[111,"impl-Debug-for-Constant"],[114,"impl-Display-for-Expression"],[115,"impl-Debug-for-Expression"],[116,"impl-Debug-for-Name"],[117,"impl-Display-for-Name"],[118,"impl-Debug-for-DecisionVariable"],[119,"impl-Display-for-DecisionVariable"],[120,"impl-From%3Cbool%3E-for-Constant"],[122,"impl-From%3Ci32%3E-for-Constant"],[125,"impl-From%3Ci32%3E-for-Expression"],[127,"impl-From%3Cbool%3E-for-Expression"],[269,"impl-Display-for-Error"],[270,"impl-Debug-for-Error"],[271,"impl-From%3CError%3E-for-Error"],[272,"impl-From%3CError%3E-for-Error"],[295,"impl-Debug-for-Metadata"],[296,"impl-Display-for-Metadata"],[380,"impl-Debug-for-RewriteError"],[381,"impl-Display-for-RewriteError"],[382,"impl-Display-for-ApplicationError"],[383,"impl-Debug-for-ApplicationError"],[385,"impl-Debug-for-Rule%3C\'a%3E"],[386,"impl-Display-for-Rule%3C\'a%3E"],[387,"impl-Display-for-RuleSet%3C\'a%3E"],[388,"impl-Debug-for-RuleSet%3C\'a%3E"],[519,"impl-Debug-for-SolverFamily"],[520,"impl-Display-for-SolverFamily"],[522,"impl-Debug-for-SolverError"],[523,"impl-Display-for-SolverError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAFUCRAAAAAQABgAEAAwAAAAPAAIAEwAAABUAAAAXAAAAHQABACEAAAAjAAAAKAAAACoAAAAsAAAALgAAADEAAAAzAAYAOwAmAGMAFgB7AAAAfgAAAIAAAACDAAAAjQAAAKIAJwDLABIA4AASAPUADgAFAQIACQEIABQBFQAsARcARgEBAEkBCwBXAQEAWgEAAF4BAQBhAQAAYwEiAJQBAQCbAQAAnQEEAKgBAACqARsAyQEBAM0BAADPAQwA4QEAAOMBBgDsASAAFQIAABcCAAAZAgEAIwIFACoCCAA0AgAANgIAADgCKABjAgUAawICAHACEACHAgUAkQIHAJsCAgCgAgcAsgIkANgCCADnAhUA/wIQAA=="}],\ ["conjure_macros",{"t":"XQ","n":["register_rule","register_rule_set"],"q":[[0,"conjure_macros"]],"i":[0,0],"f":"``","D":"d","p":[],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAEAAAAAAAAAEAAAAAAA"}],\ -["conjure_oxide",{"t":"GIPPGPFPFPPPPFFPFPGNNNNNNNNNONNCNNNNNNNNNNNNNNNNONNNNNNNNNNNNNOONNNNNNNNNNNNNNNOCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHHHHHHHNNNNNNNNNNNNNNHOONNNNNNOOONXQCOCNNNNNNNCONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCONNNNNNNNNNNPPPPPPPGPFPGPGPPPPPPPPPPGPPPPGPGPPPPPPIPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNPPGHGIPPPFPGFPFCONNXNNNNHHHHHHHNOOOOOXQHHOOONNNNNXFNNNNNNXNNNNNNNNNHPPPPPPPPPPPPPGGGFFKIGGFIPPNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNMNCNNNNNNMNMNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPKGFPPNNNNNNNNNNNNNNNNNNFFFFKOONNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNOCCCCPGPNNNNNNHNHHNNNNNHHHHHHHHHHH","n":["ApplicationError","ApplicationResult","DomainError","Err","Error","JSON","Metadata","Minion","Model","NotImplemented","Ok","Other","Parse","Reduction","Rule","RuleNotApplicable","RuleSet","SAT","SolverFamily","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","add_constraint","add_constraints","add_variable","application","apply","apply","ast","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clean","clone","clone","clone","clone","clone","clone","clone_dirty","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","constraints","context","default","deserialize","deserialize","deserialize","do_erased_serialize","do_erased_serialize","do_erased_serialize","eq","eq","eq","eq","eq","erased_serialize","erased_serialize","erased_serialize","etype","find_conjure","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from_str","gensym","get_constraints_vec","get_dependencies","get_domain","get_example_model","get_example_model_by_path","get_rule_by_name","get_rule_set_by_name","get_rule_sets","get_rule_sets_for_solver_family","get_rules","get_rules","hash","hash","hash","into","into","into","into","into","into","into","into","iter","json_schema","model_from_json","name","name","new","new","new","new","new","new_empty","new_expression","new_top","order","pure","register_rule","register_rule_set","rule_engine","rule_sets","rules","schema_id","schema_name","serialize","serialize","serialize","set_constraints","set_context","solver","solver_families","source","symbols","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_domain","utils","variables","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","with_dependencies","with_symbols","with_top","AllDiff","And","Bool","Bool","BoolDomain","Bounded","Bubble","Constant","Constant","DecisionVariable","DivEq","Domain","Eq","Expression","Geq","Gt","Ineq","Int","Int","IntDomain","Leq","Lt","MachineName","Min","Name","Neq","Not","Nothing","Or","Range","Reference","ReturnType","SafeDiv","Single","Sum","SumEq","SumGeq","SumLeq","SymbolTable","UnsafeDiv","UserName","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","apply_i32","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","can_be_undefined","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","do_erased_serialize","do_erased_serialize","do_erased_serialize","do_erased_serialize","do_erased_serialize","do_erased_serialize","do_erased_serialize","domain","domain_of","eq","eq","eq","eq","eq","eq","eq","erased_serialize","erased_serialize","erased_serialize","erased_serialize","erased_serialize","erased_serialize","erased_serialize","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","hash","into","into","into","into","into","into","into","is_all_diff","is_and","is_bubble","is_clean","is_constant","is_div_eq","is_eq","is_geq","is_gt","is_ineq","is_leq","is_lt","is_min","is_neq","is_not","is_nothing","is_or","is_reference","is_safe_div","is_sum","is_sum_eq","is_sum_geq","is_sum_leq","is_unsafe_div","new","partial_cmp","return_type","serialize","serialize","serialize","serialize","serialize","serialize","serialize","set_clean","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","types","uniplate","values_i32","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Bool","Int","ReturnType","conjure_executable","ApplicationError","ApplicationResult","DomainError","Err","Ok","Reduction","ResolveRulesError","RewriteError","Rule","RuleNotApplicable","RuleSet","_dependencies","application","borrow","borrow_mut","distributed_slice","fmt","fmt","from","from","get_rule_by_name","get_rule_priorities","get_rule_set_by_name","get_rule_sets","get_rule_sets_for_solver_family","get_rules","get_rules_vec","into","name","name","new_expression","new_top","order","register_rule","register_rule_set","resolve_rule_sets","rewrite_model","rule_sets","solver_families","symbols","to_string","try_from","try_into","type_id","vzip","distributed_slice","DistributedSlice","__clone_box","borrow","borrow_mut","clone","clone_into","deref","distributed_slice","from","into","into_iter","static_slice","to_owned","try_from","try_into","type_id","vzip","eval_constant","Complete","HasSolutions","Incomplete","Minion","ModelFeatureNotImplemented","ModelFeatureNotSupported","ModelInvalid","NoSolutions","OpNotImplemented","OpNotSupported","Runtime","RuntimeNotImplemented","SAT","SearchComplete","SearchIncomplete","SearchStatus","SolveSuccess","Solver","SolverAdaptor","SolverCallback","SolverError","SolverFamily","SolverFamilyIter","SolverMutCallback","Timeout","UserTerminated","__clone_box","__clone_box","__clone_box","adaptors","add_adaptor_info_to_stats","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","fmt","fmt","fmt","from","from","from","from","from","from","from","get_family","get_family","get_name","init_solver","into","into","into","into","into","into","into","into_iter","len","load_model","load_model","model_modifier","new","next","next_back","nth","save_stats_to_context","size_hint","solve","solve","solve_mut","solve_mut","states","stats","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wall_time_s","Kissat","Minion","borrow","borrow","borrow_mut","borrow_mut","default","default","from","from","get_family","get_family","get_name","into","into","load_model","load_model","new","new","solve","solve","solve_mut","solve_mut","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","ArgsInvalid","Error","ModelModifier","ModificationFailure","NotModifiable","OpNotImplemented","OpNotSupported","add_constraint","add_variable","borrow","borrow","borrow_mut","borrow_mut","from","from","into","into","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","ExecutionFailure","ExecutionSuccess","Init","ModelLoaded","SolverState","_sealed","_sealed","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","from","from","from","from","into","into","into","into","stats","status","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","why","conjure","json","misc","testing","ConjurePrettyError","EssenceParseError","ParseError","borrow","borrow_mut","fmt","fmt","from","from","get_minion_solutions","into","minion_solutions_to_json","parse_essence_file","to_string","try_from","try_into","type_id","vzip","sort_json_object","sort_json_variables","to_set","assert_eq_any_order","minion_solutions_from_json","read_minion_solutions_json","read_model_json","save_minion_solutions_json","save_model_json","save_stats_json","serialise_model"],"q":[[0,"conjure_oxide"],[211,"conjure_oxide::ast"],[427,"conjure_oxide::ast::types"],[430,"conjure_oxide::find_conjure"],[431,"conjure_oxide::rule_engine"],[476,"conjure_oxide::rule_engine::_dependencies"],[477,"conjure_oxide::rule_engine::_dependencies::linkme"],[494,"conjure_oxide::rules"],[495,"conjure_oxide::solver"],[617,"conjure_oxide::solver::adaptors"],[648,"conjure_oxide::solver::model_modifier"],[673,"conjure_oxide::solver::states"],[715,"conjure_oxide::utils"],[719,"conjure_oxide::utils::conjure"],[737,"conjure_oxide::utils::json"],[739,"conjure_oxide::utils::misc"],[740,"conjure_oxide::utils::testing"],[748,"dyn_clone::sealed"],[749,"conjure_core::model"],[750,"conjure_core::ast::expressions"],[751,"alloc::vec"],[752,"conjure_core::ast::symbol_table"],[753,"conjure_core::ast::variables"],[754,"conjure_core::rule_engine::rule"],[755,"core::result"],[756,"conjure_core::metadata"],[757,"conjure_core::rule_engine::rule_set"],[758,"conjure_core::solver"],[759,"serde::de"],[760,"erased_serde::ser"],[761,"erased_serde::error"],[762,"conjure_core::error"],[763,"core::fmt"],[764,"anyhow"],[765,"serde_json::error"],[766,"std::collections::hash::set"],[767,"conjure_core::ast::domains"],[768,"core::option"],[769,"std::collections::hash::map"],[770,"core::hash"],[771,"schemars::gen"],[772,"schemars::schema"],[773,"conjure_core::context"],[774,"std::sync::rwlock"],[775,"alloc::sync"],[776,"alloc::borrow"],[777,"alloc::string"],[778,"serde::ser"],[779,"core::error"],[780,"core::any"],[781,"conjure_core::ast::constants"],[782,"core::clone"],[783,"core::cmp"],[784,"conjure_core::ast::types"],[785,"core::ops::function"],[786,"alloc::boxed"],[787,"conjure_core::rule_engine::rewrite"],[788,"conjure_core::rule_engine::resolve_rules"],[789,"linkme::distributed_slice"],[790,"conjure_core::stats::solver_stats"],[791,"conjure_core::solver::states"],[792,"conjure_core::solver::private"],[793,"conjure_core::solver::adaptors::kissat"],[794,"conjure_core::solver::adaptors::minion"],[795,"conjure_core::solver::model_modifier"],[796,"serde_json::value"],[797,"std::io::error"],[798,"conjure_core"],[799,"conjure_core::parse::example_models"],[800,"conjure_core::rule_engine"],[801,"conjure_core::parse::parse_model"],[802,"conjure_macros"],[803,"conjure_core::ast"],[804,"linkme_impl"],[805,"conjure_core::rules::constant"]],"i":[0,0,10,85,0,20,0,14,0,20,85,20,20,0,0,10,0,14,0,12,3,8,9,13,14,3,3,3,9,8,9,0,20,12,3,10,8,9,13,14,20,12,3,10,8,9,13,14,12,12,3,8,9,13,14,12,12,3,8,9,13,14,3,3,12,12,3,14,12,3,14,12,3,9,13,14,12,3,14,12,0,20,20,12,12,3,10,10,8,9,9,13,13,14,14,20,20,20,12,3,10,8,9,13,14,14,3,3,13,3,0,0,0,0,0,0,0,13,9,13,14,20,12,3,10,8,9,13,14,14,14,0,9,13,12,3,8,9,13,3,8,8,13,8,0,0,0,9,0,14,14,12,3,14,3,3,0,13,20,8,12,3,8,9,13,14,20,12,10,9,13,14,20,12,3,10,8,9,13,14,14,20,12,3,10,8,9,13,14,20,12,3,10,8,9,13,14,3,0,3,20,12,3,10,8,9,13,14,13,8,8,4,4,48,52,27,49,4,0,4,0,4,0,4,0,4,4,4,48,52,27,4,4,6,4,0,4,4,4,4,0,4,0,4,49,4,4,4,4,0,4,6,48,49,27,4,6,52,7,27,48,49,27,4,6,52,7,48,49,27,4,6,52,7,4,48,49,27,4,6,52,7,48,49,27,4,6,52,7,6,48,49,27,4,6,52,7,48,49,27,4,6,52,7,7,4,48,49,27,4,6,52,7,48,49,27,4,6,52,7,48,48,49,27,4,4,6,6,52,7,7,48,48,48,49,27,4,4,4,6,52,7,6,48,49,27,4,6,52,7,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,7,6,4,48,49,27,4,6,52,7,4,48,49,27,4,6,52,7,48,4,6,7,48,49,27,4,6,52,7,48,49,27,4,6,52,7,48,49,27,4,6,52,7,0,4,27,48,49,27,4,6,52,7,52,52,0,0,0,0,10,85,85,0,61,0,0,10,0,0,9,61,61,0,61,61,61,61,0,0,0,0,0,0,0,61,9,13,8,8,13,0,0,0,0,9,13,8,61,61,61,61,61,0,0,63,63,63,63,63,63,0,63,63,63,63,63,63,63,63,63,0,86,87,86,14,68,68,68,87,68,68,68,68,14,0,0,0,0,0,0,0,0,0,0,0,88,88,32,66,68,0,64,73,86,88,87,32,66,68,73,86,88,87,32,66,68,32,66,68,32,66,68,32,68,68,73,86,88,87,32,66,68,64,66,64,64,73,86,88,87,32,66,68,32,32,64,66,0,66,32,32,32,66,32,64,66,64,66,0,66,32,66,68,68,73,86,88,87,32,66,68,73,86,88,87,32,66,68,73,86,88,87,32,66,68,73,86,88,87,32,66,68,66,0,0,75,76,75,76,75,76,75,76,75,76,76,75,76,75,76,75,76,75,76,75,76,75,76,75,76,75,76,75,76,78,78,0,0,0,78,78,77,77,89,78,89,78,89,78,89,78,89,78,89,78,89,78,89,78,0,0,0,0,0,72,90,91,71,72,90,91,71,72,90,91,71,72,90,91,71,72,90,72,72,91,71,72,90,91,71,72,90,91,71,72,90,91,71,72,90,90,0,0,0,0,79,0,79,79,79,79,79,79,79,0,79,0,0,79,79,79,79,79,0,0,0,0,0,0,0,0,0,0,0],"f":"```````````````````{{cb}d{}}00000{{fh}d}{{f{j{h}}}d}{{fln}d}`{{A`f}d}{{Abhf}{{Af{A`Ad}}}}`{ce{}{}}000000000000000`{AhAh}{ff}{A`A`}{AbAb}{AjAj}{AlAl}5{{ce}d{}{}}00000``{{}Ah}{c{{Af{Ah}}}An}{c{{Af{f}}}An}{c{{Af{Al}}}An}{{cB`}{{Af{dBb}}}{}}00{{AhAh}Bd}{{ff}Bd}{{AbAb}Bd}{{AjAj}Bd}{{AlAl}Bd}{{cB`}{{Af{dBf}}}{}}00``{{BhBj}{{Af{dBl}}}}0{{AhBj}{{Af{dBl}}}}0{{fBj}{{Af{dBl}}}}{{AdBj}{{Af{dBl}}}}0{{A`Bj}{{Af{dBl}}}}{{AbBj}{{Af{dBl}}}}0{{AjBj}{{Af{dBl}}}}0{{AlBj}{{Af{dBl}}}}0{BnBh}{cc{}}{C`Bh}1111111{Cb{{Af{Al}}}}{fl}{f{{j{h}}}}{Aj{{Cd{Aj}}}}{{fl}{{Ch{Cf}}}}{Cb{{Af{fBn}}}}0{Cb{{Ch{Ab}}}}{Cb{{Ch{Aj}}}}{{}{{j{Aj}}}}{Al{{j{Aj}}}}{{}{{j{Ab}}}}{Aj{{Cl{AbCj}}}}{{Abc}dCn}{{Ajc}dCn}{{Alc}dCn}{ce{}{}}0000000{{}D`}{DbDd}{{Cb{Dj{{Dh{Df}}}}}{{Af{fBh}}}}``{{}Ah}{{{Cl{ln}}h{Dj{{Dh{Df}}}}}f}{{hh{Cl{ln}}}A`}{{Cb{Dn{hf}{{Dl{{Af{A`Ad}}}}}}{Eb{{E`{CbCj}}}}}Ab}{{CbCj{Eb{Cb}}{Eb{Al}}}Aj}{{{Dj{{Dh{Df}}}}}f}```{hA`}`````{{}{{Ed{Cb}}}}{{}Ef}{{Ahc}AfEh}{{fc}AfEh}{{Alc}AfEh}{{f{j{h}}}d}{{f{Dj{{Dh{Df}}}}}d}``{Bh{{Ch{Ej}}}}`{ce{}{}}00000{cEf{}}00000{c{{Af{e}}}{}{}}000000{Cb{{Af{Al}}}}111111111{cEl{}}0000000{{flCf}d}``55555555{Aj{{Cd{Aj}}}}{{h{Cl{ln}}}A`}{{hh}A`}`````````````````````````````````````````{{cb}d{}}000000{{Cf{Dn{EnEn}{{Dl{{Ch{En}}}}}}Cf}{{Ch{Cf}}}}::::::::::::::{hBd}{F`F`}{{{Fb{c}}}{{Fb{c}}}{FdFf}}{CfCf}{hh}{ll}{FhFh}{nn}{{ce}d{}{}}000000{{ll}Fj}{c{{Af{F`}}}An}{c{{Af{{Fb{e}}}}}An{FfFl}}{c{{Af{Cf}}}An}{c{{Af{h}}}An}{c{{Af{l}}}An}{c{{Af{Fh}}}An}{c{{Af{n}}}An}{{cB`}{{Af{dBb}}}{}}000000`{{h{Cl{ln}}}{{Ch{Cf}}}}{{F`F`}Bd}{{{Fb{c}}{Fb{c}}}Bd{FnFf}}{{CfCf}Bd}{{hh}Bd}{{ll}Bd}{{FhFh}Bd}{{nn}Bd}{{cB`}{{Af{dBf}}}{}}000000{{F`Bj}{{Af{dBl}}}}0{{{Fb{c}}Bj}{{Af{dBl}}}{G`Ff}}{{CfBj}{{Af{dBl}}}}{{hBj}{{Af{dBl}}}}0{{lBj}{{Af{dBl}}}}0{{FhBj}{{Af{dBl}}}}{{nBj}{{Af{dBl}}}}0{cc{}}{EnF`}{BdF`}222{Enh}{Bdh}444{{lc}dCn}{ce{}{}}000000{hBd}00000000000000000000000{Cfn}{{ll}{{Ch{Fj}}}}{h{{Ch{Fh}}}}{{F`c}AfEh}{{{Fb{c}}e}Af{FfGb}Eh}{{Cfc}AfEh}{{hc}AfEh}{{lc}AfEh}{{Fhc}AfEh}{{nc}AfEh}{{hBd}d}<<<<<<<{cEf{}}000{c{{Af{e}}}{}{}}0000000000000{cEl{}}000000`{h{{E`{{j{h}}{Gf{Gd}}}}}}{Cf{{Ch{{j{En}}}}}}{ce{}{}}000000```{{}{{Gh{d}}}}`````````````11`{{GjBj}{{Af{dBl}}}}0{GlGj}{cc{}}{Cb{{Ch{Ab}}}}{{{j{Aj}}}{{Af{{Cl{AbCj}}Gl}}}}{Cb{{Ch{Aj}}}}{{}{{j{Aj}}}}{Al{{j{Aj}}}}{{}{{j{Ab}}}}{{{Cl{AbCj}}}{{j{Ab}}}};```````{{Al{j{Ef}}}{{Af{{j{Aj}}Gl}}}}{{f{j{Aj}}}{{Af{fGj}}}}```{cEf{}}{c{{Af{e}}}{}{}}0{cEl{}}{ce{}{}}``{{cb}d{}}11{{{Gn{{Eb{c}}}}}{{Gn{{Eb{c}}}}}{}}{{ce}d{}{}}{{{Gn{{Eb{c}}}}}{}{}}`{cc{}}51{{{Gn{{Eb{c}}}}}{{Eb{c}}}{}}68876{h{{Ch{F`}}}}``````````````````````````666`{{H`Hb}Hb}88888888888888{D`D`}{{{Hd{ce}}}{{Hd{ce}}}{FdH`}{FdHf}}{HhHh}888{{D`Bj}{{Af{dBl}}}}{{HhBj}{{Af{dBl}}}}08888888{H`Al}{{{Hd{c}}}AlH`}{H`{{Ch{Ef}}}}{{H`Hj}d}{ce{}{}}0000000{D`Hl}{{H`fHj}{{Af{dHh}}}}{{{Hd{c}}f}{{Af{{Hd{cHn}}Hh}}}H`}`{c{{Hd{c}}}H`}{D`Ch}0{{D`Hl}Ch}{{{Hd{cI`}}}dH`}{D`{{E`{Hl{Ch{Hl}}}}}}{{H`{Gf{Gd}}Hj}{{Af{IbHh}}}}{{{Hd{cHn}}{Gf{Gd}}}{{Af{{Hd{cI`}}Hh}}}H`}10`{{{Hd{cI`}}}HbH`};;;{cEf{}}{c{{Af{e}}}{}{}}0000000000000{cEl{}}000000>>>>>>>{{{Hd{cI`}}}IdH`}``????{{}If}{{}Ih}{cc{}}0{IfAl}{IhAl}{Ih{{Ch{Ef}}}}{ce{}{}}0{{IffHj}{{Af{dHh}}}}{{IhfHj}{{Af{dHh}}}}87{{If{Gf{Gd}}Hj}{{Af{IbHh}}}}{{Ih{Gf{Gd}}Hj}{{Af{IbHh}}}}10====<<44```````{{Ijh}{{Af{dIl}}}}{{IjlCf}{{Af{dIl}}}}6666::66????>>66```````66666666::::6666``????????>>>>6666````````66{{InBj}J`}0{BhIn}<{f{{Af{{j{{Cl{lF`}}}}Bn}}}}9{{{j{{Cl{lF`}}}}}Jb}{{CbCb{Dj{{Dh{Df}}}}}{{Af{fIn}}}}{cEf{}}{c{{Af{e}}}{}{}}0{cEl{}}>{{JbBd}Jb}{JbJb}{{{j{c}}}{{Cd{c}}}{JdJfG`Fd}}{{{j{{j{c}}}}{j{{j{c}}}}}d{JdJfG`Fd}}{Cb{{Af{{j{{Cl{lF`}}}}Bn}}}}{{CbCbCb}{{Af{JbBn}}}}{{CbCbCbCb}{{Af{fJh}}}}{{{j{{Cl{lF`}}}}CbCbBd}{{Af{JbJh}}}}{{fCbCbCbBd}{{Af{dJh}}}}{{{Dj{{Dh{Df}}}}CbCb}{{Af{dJh}}}}{f{{Af{EfC`}}}}","D":"AHj","p":[[5,"Private",748],[1,"unit"],[5,"Model",0,749],[6,"Expression",211,750],[5,"Vec",751],[6,"Name",211,752],[5,"DecisionVariable",211,753],[5,"Reduction",0,754],[5,"Rule",0,754],[6,"ApplicationError",0,754],[6,"Result",755],[5,"Metadata",0,756],[5,"RuleSet",0,757],[6,"SolverFamily",0,758],[10,"Deserializer",759],[10,"Serializer",760],[6,"ErrorImpl",760],[1,"bool"],[5,"Error",761],[6,"Error",0,762],[5,"Formatter",763],[5,"Error",763],[5,"Error",764],[5,"Error",765],[1,"str"],[5,"HashSet",766],[6,"Domain",211,767],[6,"Option",768],[1,"u8"],[5,"HashMap",769],[10,"Hasher",770],[5,"SolverFamilyIter",495,758],[5,"SchemaGenerator",771],[6,"Schema",772],[5,"Context",773],[5,"RwLock",774],[5,"Arc",775],[17,"Output"],[1,"fn"],[1,"tuple"],[1,"slice"],[6,"Cow",776],[5,"String",777],[10,"Serializer",778],[10,"Error",779],[5,"TypeId",780],[1,"i32"],[6,"Constant",211,781],[6,"Range",211,767],[10,"Clone",782],[10,"Ord",783],[6,"ReturnType",211,784],[6,"Ordering",783],[10,"Deserialize",759],[10,"PartialEq",783],[10,"Debug",763],[10,"Serialize",778],[10,"Fn",785],[5,"Box",786],[8,"Result",764],[6,"RewriteError",431,787],[6,"ResolveRulesError",788],[5,"DistributedSlice",477,789],[10,"SolverAdaptor",495,758],[5,"SolverStats",790],[5,"Solver",495,758],[10,"SolverState",673,791],[6,"SolverError",495,758],[5,"Internal",792],[1,"usize"],[5,"ModelLoaded",673,791],[5,"ExecutionSuccess",673,791],[5,"SolveSuccess",495,758],[1,"f64"],[5,"Kissat",617,793],[5,"Minion",617,794],[10,"ModelModifier",648,795],[6,"ModificationFailure",648,795],[6,"EssenceParseError",719],[8,"Result",763],[6,"Value",796],[10,"Eq",783],[10,"Hash",770],[5,"Error",797],[8,"ApplicationResult",0],[6,"SearchStatus",495],[6,"SearchComplete",495],[6,"SearchIncomplete",495],[5,"NotModifiable",648],[5,"ExecutionFailure",673],[5,"Init",673]],"r":[[0,754],[1,754],[4,762],[6,756],[8,749],[13,754],[14,754],[16,757],[18,758],[31,798],[110,799],[111,799],[112,800],[113,800],[114,800],[115,800],[116,800],[131,801],[144,802],[145,802],[146,798],[148,798],[156,798],[218,781],[220,753],[222,767],[224,750],[235,752],[240,767],[242,784],[249,752],[417,803],[429,784],[431,754],[432,754],[436,754],[438,787],[439,754],[441,757],[442,800],[446,804],[451,800],[452,788],[453,800],[454,800],[455,800],[456,800],[457,788],[464,802],[465,802],[466,788],[467,787],[476,804],[477,789],[484,804],[494,805],[508,758],[509,758],[510,758],[511,758],[512,758],[513,758],[514,758],[515,758],[516,758],[517,758],[518,758],[524,758],[571,758],[582,758],[617,793],[618,794],[650,795],[651,795],[652,795],[673,791],[674,791],[675,791],[676,791],[677,791]],"b":[[81,"impl-Debug-for-Error"],[82,"impl-Display-for-Error"],[83,"impl-Debug-for-Metadata"],[84,"impl-Display-for-Metadata"],[86,"impl-Debug-for-ApplicationError"],[87,"impl-Display-for-ApplicationError"],[89,"impl-Display-for-Rule%3C\'a%3E"],[90,"impl-Debug-for-Rule%3C\'a%3E"],[91,"impl-Display-for-RuleSet%3C\'a%3E"],[92,"impl-Debug-for-RuleSet%3C\'a%3E"],[93,"impl-Display-for-SolverFamily"],[94,"impl-Debug-for-SolverFamily"],[95,"impl-From%3CError%3E-for-Error"],[97,"impl-From%3CError%3E-for-Error"],[320,"impl-Debug-for-Constant"],[321,"impl-Display-for-Constant"],[324,"impl-Debug-for-Expression"],[325,"impl-Display-for-Expression"],[326,"impl-Debug-for-Name"],[327,"impl-Display-for-Name"],[329,"impl-Debug-for-DecisionVariable"],[330,"impl-Display-for-DecisionVariable"],[332,"impl-From%3Ci32%3E-for-Constant"],[333,"impl-From%3Cbool%3E-for-Constant"],[337,"impl-From%3Ci32%3E-for-Expression"],[338,"impl-From%3Cbool%3E-for-Expression"],[447,"impl-Debug-for-RewriteError"],[448,"impl-Display-for-RewriteError"],[547,"impl-Debug-for-SolverError"],[548,"impl-Display-for-SolverError"],[724,"impl-Display-for-EssenceParseError"],[725,"impl-Debug-for-EssenceParseError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAACcCRwAAAAEAAwAAAAUABQAMAAEAEAAAABIATgBiAAAAagAAAGwAAABuAAAAdwACAIIAAwCHAAcAkwAJAJ8AMQDWAAMA2wAAAN0AAADfAAAA5QACAOoAAADsAAAA8QAAAPMAAAD1AAAA9wAAAPoAAAD8AAcABQEsADMBGABNAQEAUgEBAFcBAABiAQAAdwEsAKUBCQCwAQAAsgEAALYBAQC5AQAAuwEHAMwBAADOAQEA1QEAANcBBgDfAQYA6AEAAOoBBADxAQAA8wEMAAUCAAAHAgUADwIWAC4CAAAwAgAAOAIDAD0CBQBEAgAARgIAAEgCIQBsAgUAdAICAHkCEACQAgUAmgIHAKQCAgCpAgcAuwIcANkCAADbAgYA5AIIAA=="}],\ +["conjure_oxide",{"t":"GIPPGPFPFPPPPFFPFPGNNNNNNNNNONNCNNNNNNNNNNNNNNNNONNNNNNNNNNNNNOONNNNNNNNNNNNNNNOCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNHHHHHHHNNNNNNNNNNNNNNHOONNNNNNOOONXQCOCNNNNNNNCONONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCONNNNNNNNNNNPPPPPPPGPFPGPGPPPPPPPPPPGPPPPGPGPPPPPPIPPNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNCNNNNNNNNNPPGHGIPPPFPGFPFCONNXNNNNHHHHHHHNOOOOOXQHHOOONNNNNXFNNNNNNXNNNNNNNNNHPPPPPPPPPPPPPGGGFFKIGGFIPPNNNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNMNCNNNNNNMNMNCNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNFFNNNNNNNNNNNNNNNNNNNNNNNNNNNNNPPKGFPPNNNNNNNNNNNNNNNNNNFFFFKOONNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNOCCCCPGPNNNNNNHNHHNNNNNHHHHHHHHHHH","n":["ApplicationError","ApplicationResult","DomainError","Err","Error","JSON","Metadata","Minion","Model","NotImplemented","Ok","Other","Parse","Reduction","Rule","RuleNotApplicable","RuleSet","SAT","SolverFamily","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","add_constraint","add_constraints","add_variable","application","apply","apply","ast","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clean","clone","clone","clone","clone","clone","clone","clone_dirty","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","constraints","context","default","deserialize","deserialize","deserialize","do_erased_serialize","do_erased_serialize","do_erased_serialize","eq","eq","eq","eq","eq","erased_serialize","erased_serialize","erased_serialize","etype","find_conjure","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from_str","gensym","get_constraints_vec","get_dependencies","get_domain","get_example_model","get_example_model_by_path","get_rule_by_name","get_rule_set_by_name","get_rule_sets","get_rule_sets_for_solver_family","get_rules","get_rules","hash","hash","hash","into","into","into","into","into","into","into","into","iter","json_schema","model_from_json","name","name","new","new","new","new","new","new_empty","new_expression","new_top","order","pure","register_rule","register_rule_set","rule_engine","rule_sets","rules","schema_id","schema_name","serialize","serialize","serialize","set_constraints","set_context","solver","solver_families","source","symbols","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","update_domain","utils","variables","vzip","vzip","vzip","vzip","vzip","vzip","vzip","vzip","with_dependencies","with_symbols","with_top","AllDiff","And","Bool","Bool","BoolDomain","Bounded","Bubble","Constant","Constant","DecisionVariable","DivEq","Domain","Eq","Expression","Geq","Gt","Ineq","Int","Int","IntDomain","Leq","Lt","MachineName","Min","Name","Neq","Not","Nothing","Or","Range","Reference","ReturnType","SafeDiv","Single","Sum","SumEq","SumGeq","SumLeq","SymbolTable","UnsafeDiv","UserName","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","__clone_box","apply_i32","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","can_be_undefined","clone","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","deserialize","do_erased_serialize","do_erased_serialize","do_erased_serialize","do_erased_serialize","do_erased_serialize","do_erased_serialize","do_erased_serialize","domain","domain_of","eq","eq","eq","eq","eq","eq","eq","erased_serialize","erased_serialize","erased_serialize","erased_serialize","erased_serialize","erased_serialize","erased_serialize","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","hash","into","into","into","into","into","into","into","is_all_diff","is_and","is_bubble","is_clean","is_constant","is_div_eq","is_eq","is_geq","is_gt","is_ineq","is_leq","is_lt","is_min","is_neq","is_not","is_nothing","is_or","is_reference","is_safe_div","is_sum","is_sum_eq","is_sum_geq","is_sum_leq","is_unsafe_div","new","partial_cmp","return_type","serialize","serialize","serialize","serialize","serialize","serialize","serialize","set_clean","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","to_string","to_string","to_string","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","types","uniplate","values_i32","vzip","vzip","vzip","vzip","vzip","vzip","vzip","Bool","Int","ReturnType","conjure_executable","ApplicationError","ApplicationResult","DomainError","Err","Ok","Reduction","ResolveRulesError","RewriteError","Rule","RuleNotApplicable","RuleSet","_dependencies","application","borrow","borrow_mut","distributed_slice","fmt","fmt","from","from","get_rule_by_name","get_rule_priorities","get_rule_set_by_name","get_rule_sets","get_rule_sets_for_solver_family","get_rules","get_rules_vec","into","name","name","new_expression","new_top","order","register_rule","register_rule_set","resolve_rule_sets","rewrite_model","rule_sets","solver_families","symbols","to_string","try_from","try_into","type_id","vzip","distributed_slice","DistributedSlice","__clone_box","borrow","borrow_mut","clone","clone_into","deref","distributed_slice","from","into","into_iter","static_slice","to_owned","try_from","try_into","type_id","vzip","eval_constant","Complete","HasSolutions","Incomplete","Minion","ModelFeatureNotImplemented","ModelFeatureNotSupported","ModelInvalid","NoSolutions","OpNotImplemented","OpNotSupported","Runtime","RuntimeNotImplemented","SAT","SearchComplete","SearchIncomplete","SearchStatus","SolveSuccess","Solver","SolverAdaptor","SolverCallback","SolverError","SolverFamily","SolverFamilyIter","SolverMutCallback","Timeout","UserTerminated","__clone_box","__clone_box","__clone_box","adaptors","add_adaptor_info_to_stats","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone_into","clone_into","clone_into","fmt","fmt","fmt","from","from","from","from","from","from","from","get_family","get_family","get_name","init_solver","into","into","into","into","into","into","into","into_iter","len","load_model","load_model","model_modifier","new","next","next_back","nth","save_stats_to_context","size_hint","solve","solve","solve_mut","solve_mut","states","stats","to_owned","to_owned","to_owned","to_string","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","vzip","vzip","vzip","wall_time_s","Kissat","Minion","borrow","borrow","borrow_mut","borrow_mut","default","default","from","from","get_family","get_family","get_name","into","into","load_model","load_model","new","new","solve","solve","solve_mut","solve_mut","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","ArgsInvalid","Error","ModelModifier","ModificationFailure","NotModifiable","OpNotImplemented","OpNotSupported","add_constraint","add_variable","borrow","borrow","borrow_mut","borrow_mut","from","from","into","into","try_from","try_from","try_into","try_into","type_id","type_id","vzip","vzip","ExecutionFailure","ExecutionSuccess","Init","ModelLoaded","SolverState","_sealed","_sealed","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","from","from","from","from","into","into","into","into","stats","status","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","vzip","vzip","vzip","vzip","why","conjure","json","misc","testing","ConjurePrettyError","EssenceParseError","ParseError","borrow","borrow_mut","fmt","fmt","from","from","get_minion_solutions","into","minion_solutions_to_json","parse_essence_file","to_string","try_from","try_into","type_id","vzip","sort_json_object","sort_json_variables","to_set","assert_eq_any_order","minion_solutions_from_json","read_minion_solutions_json","read_model_json","save_minion_solutions_json","save_model_json","save_stats_json","serialise_model"],"q":[[0,"conjure_oxide"],[211,"conjure_oxide::ast"],[427,"conjure_oxide::ast::types"],[430,"conjure_oxide::find_conjure"],[431,"conjure_oxide::rule_engine"],[476,"conjure_oxide::rule_engine::_dependencies"],[477,"conjure_oxide::rule_engine::_dependencies::linkme"],[494,"conjure_oxide::rules"],[495,"conjure_oxide::solver"],[617,"conjure_oxide::solver::adaptors"],[648,"conjure_oxide::solver::model_modifier"],[673,"conjure_oxide::solver::states"],[715,"conjure_oxide::utils"],[719,"conjure_oxide::utils::conjure"],[737,"conjure_oxide::utils::json"],[739,"conjure_oxide::utils::misc"],[740,"conjure_oxide::utils::testing"],[748,"dyn_clone::sealed"],[749,"conjure_core::model"],[750,"conjure_core::ast::expressions"],[751,"alloc::vec"],[752,"conjure_core::ast::symbol_table"],[753,"conjure_core::ast::variables"],[754,"conjure_core::rule_engine::rule"],[755,"core::result"],[756,"conjure_core::metadata"],[757,"conjure_core::rule_engine::rule_set"],[758,"conjure_core::solver"],[759,"serde::de"],[760,"erased_serde::ser"],[761,"erased_serde::error"],[762,"conjure_core::error"],[763,"core::fmt"],[764,"serde_json::error"],[765,"anyhow"],[766,"std::collections::hash::set"],[767,"conjure_core::ast::domains"],[768,"core::option"],[769,"std::collections::hash::map"],[770,"core::hash"],[771,"schemars::gen"],[772,"schemars::schema"],[773,"conjure_core::context"],[774,"std::sync::rwlock"],[775,"alloc::sync"],[776,"alloc::borrow"],[777,"alloc::string"],[778,"serde::ser"],[779,"core::error"],[780,"core::any"],[781,"conjure_core::ast::constants"],[782,"core::clone"],[783,"core::cmp"],[784,"conjure_core::ast::types"],[785,"core::ops::function"],[786,"alloc::boxed"],[787,"conjure_core::rule_engine::rewrite"],[788,"conjure_core::rule_engine::resolve_rules"],[789,"linkme::distributed_slice"],[790,"conjure_core::stats::solver_stats"],[791,"conjure_core::solver::states"],[792,"conjure_core::solver::private"],[793,"conjure_core::solver::adaptors::kissat"],[794,"conjure_core::solver::adaptors::minion"],[795,"conjure_core::solver::model_modifier"],[796,"serde_json::value"],[797,"std::io::error"],[798,"conjure_core"],[799,"conjure_core::parse::example_models"],[800,"conjure_core::rule_engine"],[801,"conjure_core::parse::parse_model"],[802,"conjure_macros"],[803,"conjure_core::ast"],[804,"linkme_impl"],[805,"conjure_core::rules::constant"]],"i":[0,0,12,87,0,22,0,16,0,22,87,22,22,0,0,12,0,16,0,14,5,10,11,15,16,5,5,5,11,10,11,0,22,14,5,12,10,11,15,16,22,14,5,12,10,11,15,16,14,14,5,10,11,15,16,14,14,5,10,11,15,16,5,5,14,14,5,16,14,5,16,14,5,11,15,16,14,5,16,14,0,22,22,14,14,5,12,12,10,11,11,15,15,16,16,22,22,22,14,5,12,10,11,15,16,16,5,5,15,5,0,0,0,0,0,0,0,15,11,15,16,22,14,5,12,10,11,15,16,16,16,0,11,15,14,5,10,11,15,5,10,10,15,10,0,0,0,11,0,16,16,14,5,16,5,5,0,15,22,10,14,5,10,11,15,16,22,14,12,11,15,16,22,14,5,12,10,11,15,16,16,22,14,5,12,10,11,15,16,22,14,5,12,10,11,15,16,5,0,5,22,14,5,12,10,11,15,16,15,10,10,6,6,50,54,29,51,6,0,6,0,6,0,6,0,6,6,6,50,54,29,6,6,8,6,0,6,6,6,6,0,6,0,6,51,6,6,6,6,0,6,8,50,51,29,6,8,54,9,29,50,51,29,6,8,54,9,50,51,29,6,8,54,9,6,50,51,29,6,8,54,9,50,51,29,6,8,54,9,8,50,51,29,6,8,54,9,50,51,29,6,8,54,9,9,6,50,51,29,6,8,54,9,50,51,29,6,8,54,9,50,50,51,29,6,6,8,8,54,9,9,50,50,50,51,29,6,6,6,8,54,9,8,50,51,29,6,8,54,9,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,9,8,6,50,51,29,6,8,54,9,6,50,51,29,6,8,54,9,50,6,8,9,50,51,29,6,8,54,9,50,51,29,6,8,54,9,50,51,29,6,8,54,9,0,6,29,50,51,29,6,8,54,9,54,54,0,0,0,0,12,87,87,0,63,0,0,12,0,0,11,63,63,0,63,63,63,63,0,0,0,0,0,0,0,63,11,15,10,10,15,0,0,0,0,11,15,10,63,63,63,63,63,0,0,65,65,65,65,65,65,0,65,65,65,65,65,65,65,65,65,0,88,89,88,16,70,70,70,89,70,70,70,70,16,0,0,0,0,0,0,0,0,0,0,0,90,90,34,68,70,0,66,75,88,90,89,34,68,70,75,88,90,89,34,68,70,34,68,70,34,68,70,34,70,70,75,88,90,89,34,68,70,66,68,66,66,75,88,90,89,34,68,70,34,34,66,68,0,68,34,34,34,68,34,66,68,66,68,0,68,34,68,70,70,75,88,90,89,34,68,70,75,88,90,89,34,68,70,75,88,90,89,34,68,70,75,88,90,89,34,68,70,68,0,0,77,78,77,78,77,78,77,78,77,78,78,77,78,77,78,77,78,77,78,77,78,77,78,77,78,77,78,77,78,80,80,0,0,0,80,80,79,79,91,80,91,80,91,80,91,80,91,80,91,80,91,80,91,80,0,0,0,0,0,74,92,93,73,74,92,93,73,74,92,93,73,74,92,93,73,74,92,74,74,93,73,74,92,93,73,74,92,93,73,74,92,93,73,74,92,92,0,0,0,0,81,0,81,81,81,81,81,81,81,0,81,0,0,81,81,81,81,81,0,0,0,0,0,0,0,0,0,0,0],"f":"```````````````````{{{b{c}}d}f{}}00000{{{b{hj}}l}f}{{{b{hj}}{n{l}}}f}{{{b{hj}}A`Ab}f}`{{Ad{b{hj}}}f}{{{b{Af}}{b{l}}{b{j}}}{{Aj{AdAh}}}}`{{{b{c}}}{{b{e}}}{}{}}0000000{{{b{hc}}}{{b{he}}}{}{}}0000000`{{{b{Al}}}Al}{{{b{j}}}j}{{{b{Ad}}}Ad}{{{b{Af}}}Af}{{{b{An}}}An}{{{b{B`}}}B`}5{{{b{c}}{b{he}}}f{}{}}00000``{{}Al}{c{{Aj{Al}}}Bb}{c{{Aj{j}}}Bb}{c{{Aj{B`}}}Bb}{{{b{c}}{b{hBd}}}{{Aj{fBf}}}{}}00{{{b{Al}}{b{Al}}}Bh}{{{b{j}}{b{j}}}Bh}{{{b{Af}}{b{Af}}}Bh}{{{b{An}}{b{An}}}Bh}{{{b{B`}}{b{B`}}}Bh}{{{b{c}}{b{hBd}}}{{Aj{fBj}}}{}}00``{{{b{Bl}}{b{hBn}}}{{Aj{fC`}}}}0{{{b{Al}}{b{hBn}}}{{Aj{fC`}}}}0{{{b{j}}{b{hBn}}}{{Aj{fC`}}}}{{{b{Ah}}{b{hBn}}}{{Aj{fC`}}}}0{{{b{Ad}}{b{hBn}}}{{Aj{fC`}}}}{{{b{Af}}{b{hBn}}}{{Aj{fC`}}}}0{{{b{An}}{b{hBn}}}{{Aj{fC`}}}}0{{{b{B`}}{b{hBn}}}{{Aj{fC`}}}}0{cc{}}{CbBl}{CdBl}2222222{{{b{Cf}}}{{Aj{B`}}}}{{{b{j}}}A`}{{{b{j}}}{{n{l}}}}{{{b{An}}}{{b{{Ch{{b{An}}}}}}}}{{{b{j}}{b{A`}}}{{Cl{{b{Cj}}}}}}{{{b{Cf}}}{{Aj{jCd}}}}0{{{b{Cf}}}{{Cl{{b{Af}}}}}}{{{b{Cf}}}{{Cl{{b{An}}}}}}{{}{{n{{b{An}}}}}}{B`{{n{{b{An}}}}}}{{}{{n{{b{Af}}}}}}{{{b{An}}}{{b{{D`{{b{Af}}Cn}}}}}}{{{b{Af}}{b{hc}}}fDb}{{{b{An}}{b{hc}}}fDb}{{{b{B`}}{b{hc}}}fDb}{ce{}{}}0000000{{}Dd}{{{b{hDf}}}Dh}{{{b{Cf}}{Dn{{Dl{Dj}}}}}{{Aj{jBl}}}}``{{}Al}{{{D`{A`Ab}}l{Dn{{Dl{Dj}}}}}j}{{ll{D`{A`Ab}}}Ad}{{{b{Cf}}{Eb{{b{l}}{b{j}}}{{E`{{Aj{AdAh}}}}}}{b{{Ef{{Ed{{b{Cf}}Cn}}}}}}}Af}{{{b{Cf}}Cn{b{{Ef{{b{Cf}}}}}}{b{{Ef{B`}}}}}An}{{{Dn{{Dl{Dj}}}}}j}```{lAd}`````{{}{{Eh{Cf}}}}{{}Ej}{{{b{Al}}c}AjEl}{{{b{j}}c}AjEl}{{{b{B`}}c}AjEl}{{{b{hj}}{n{l}}}f}{{{b{hj}}{Dn{{Dl{Dj}}}}}f}``{{{b{Bl}}}{{Cl{{b{En}}}}}}`{{{b{c}}}e{}{}}00000{{{b{c}}}Ej{}}00000{c{{Aj{e}}}{}{}}0000000{{{b{Cf}}}{{Aj{B`}}}}11111111{{{b{c}}}F`{}}0000000{{{b{hj}}{b{A`}}Cj}f}``{ce{}{}}0000000{{{b{An}}}{{Ch{{b{An}}}}}}{{l{D`{A`Ab}}}Ad}{{ll}Ad}`````````````````````````````````````````{{{b{c}}d}f{}}000000{{{b{Cj}}{Eb{FbFb}{{E`{{Cl{Fb}}}}}}{b{Cj}}}{{Cl{Cj}}}}{{{b{c}}}{{b{e}}}{}{}}000000{{{b{hc}}}{{b{he}}}{}{}}000000{{{b{l}}}Bh}{{{b{Fd}}}Fd}{{{b{{Ff{c}}}}}{{Ff{c}}}{FhFj}}{{{b{Cj}}}Cj}{{{b{l}}}l}{{{b{A`}}}A`}{{{b{Fl}}}Fl}{{{b{Ab}}}Ab}{{{b{c}}{b{he}}}f{}{}}000000{{{b{A`}}{b{A`}}}Fn}{c{{Aj{Fd}}}Bb}{c{{Aj{{Ff{e}}}}}Bb{FjG`}}{c{{Aj{Cj}}}Bb}{c{{Aj{l}}}Bb}{c{{Aj{A`}}}Bb}{c{{Aj{Fl}}}Bb}{c{{Aj{Ab}}}Bb}{{{b{c}}{b{hBd}}}{{Aj{fBf}}}{}}000000`{{{b{l}}{b{{D`{A`Ab}}}}}{{Cl{Cj}}}}{{{b{Fd}}{b{Fd}}}Bh}{{{b{{Ff{c}}}}{b{{Ff{c}}}}}Bh{GbFj}}{{{b{Cj}}{b{Cj}}}Bh}{{{b{l}}{b{l}}}Bh}{{{b{A`}}{b{A`}}}Bh}{{{b{Fl}}{b{Fl}}}Bh}{{{b{Ab}}{b{Ab}}}Bh}{{{b{c}}{b{hBd}}}{{Aj{fBj}}}{}}000000{{{b{Fd}}{b{hBn}}}{{Aj{fC`}}}}0{{{b{{Ff{c}}}}{b{hBn}}}{{Aj{fC`}}}{GdFj}}{{{b{Cj}}{b{hBn}}}{{Aj{fC`}}}}{{{b{l}}{b{hBn}}}{{Aj{fC`}}}}0{{{b{A`}}{b{hBn}}}{{Aj{fC`}}}}0{{{b{Fl}}{b{hBn}}}{{Aj{fC`}}}}{{{b{Ab}}{b{hBn}}}{{Aj{fC`}}}}0{cc{}}{BhFd}{FbFd}22{Bhl}{Fbl}4444{{{b{A`}}{b{hc}}}fDb}{ce{}{}}000000{{{b{l}}}Bh}00000000000000000000000{CjAb}{{{b{A`}}{b{A`}}}{{Cl{Fn}}}}{{{b{l}}}{{Cl{Fl}}}}{{{b{Fd}}c}AjEl}{{{b{{Ff{c}}}}e}Aj{FjGf}El}{{{b{Cj}}c}AjEl}{{{b{l}}c}AjEl}{{{b{A`}}c}AjEl}{{{b{Fl}}c}AjEl}{{{b{Ab}}c}AjEl}{{{b{hl}}Bh}f}{{{b{c}}}e{}{}}000000{{{b{c}}}Ej{}}000{c{{Aj{e}}}{}{}}0000000000000{{{b{c}}}F`{}}000000`{{{b{l}}}{{Ed{{n{l}}{Gj{Gh}}}}}}{{{b{Cj}}}{{Cl{{n{Fb}}}}}}{ce{}{}}000000```{{}{{Gl{f}}}}`````````````{{{b{c}}}{{b{e}}}{}{}}{{{b{hc}}}{{b{he}}}{}{}}`{{{b{Gn}}{b{hBn}}}{{Aj{fC`}}}}0{cc{}}{H`Gn}{{{b{Cf}}}{{Cl{{b{Af}}}}}}{{{b{{n{{b{An}}}}}}}{{Aj{{D`{{b{Af}}Cn}}H`}}}}{{{b{Cf}}}{{Cl{{b{An}}}}}}{{}{{n{{b{An}}}}}}{B`{{n{{b{An}}}}}}{{}{{n{{b{Af}}}}}}{{{b{{D`{{b{Af}}Cn}}}}}{{n{{b{Af}}}}}}=```````{{B`{b{{n{Ej}}}}}{{Aj{{n{{b{An}}}}H`}}}}{{{b{j}}{b{{n{{b{An}}}}}}}{{Aj{jGn}}}}```{{{b{c}}}Ej{}}{c{{Aj{e}}}{}{}}0{{{b{c}}}F`{}}{ce{}{}}``{{{b{c}}d}f{}}{{{b{c}}}{{b{e}}}{}{}}{{{b{hc}}}{{b{he}}}{}{}}{{{b{{Hb{{Ef{c}}}}}}}{{Hb{{Ef{c}}}}}{}}{{{b{c}}{b{he}}}f{}{}}{{{b{{Hb{{Ef{c}}}}}}}b{}}`{cc{}}7{{{Hb{{Ef{c}}}}}{}{}}{{{Hb{{Ef{c}}}}}{{b{{Ef{c}}}}}{}}{{{b{c}}}e{}{}}<<;:{{{b{l}}}{{Cl{Fd}}}}``````````````````````````:::`{{{b{Hd}}Hf}Hf}:::::::9999999{{{b{Dd}}}Dd}{{{b{{Hh{ce}}}}}{{Hh{ce}}}{FhHd}{FhHj}}{{{b{Hl}}}Hl}:::{{{b{Dd}}{b{hBn}}}{{Aj{fC`}}}}{{{b{Hl}}{b{hBn}}}{{Aj{fC`}}}}0:::::::{{{b{Hd}}}B`}{{{b{{Hh{c}}}}}B`Hd}{{{b{Hd}}}{{Cl{Ej}}}}{{{b{hHd}}Hn}f}{ce{}{}}0000000{{{b{Dd}}}I`}{{{b{hHd}}jHn}{{Aj{fHl}}}}{{{Hh{c}}j}{{Aj{{Hh{cIb}}Hl}}}Hd}`{c{{Hh{c}}}Hd}{{{b{hDd}}}Cl}0{{{b{hDd}}I`}Cl}{{{b{{Hh{cId}}}}}fHd}{{{b{Dd}}}{{Ed{I`{Cl{I`}}}}}}{{{b{hHd}}{Gj{Gh}}Hn}{{Aj{IfHl}}}}{{{Hh{cIb}}{Gj{Gh}}}{{Aj{{Hh{cId}}Hl}}}Hd}10`{{{b{{Hh{cId}}}}}HfHd}{{{b{c}}}e{}{}}00{{{b{c}}}Ej{}}{c{{Aj{e}}}{}{}}0000000000000{{{b{c}}}F`{}}000000???????{{{b{{Hh{cId}}}}}IhHd}``{{{b{c}}}{{b{e}}}{}{}}0{{{b{hc}}}{{b{he}}}{}{}}0{{}Ij}{{}Il}{cc{}}0{{{b{Ij}}}B`}{{{b{Il}}}B`}{{{b{Il}}}{{Cl{Ej}}}}{ce{}{}}0{{{b{hIj}}jHn}{{Aj{fHl}}}}{{{b{hIl}}jHn}{{Aj{fHl}}}}87{{{b{hIj}}{Gj{Gh}}Hn}{{Aj{IfHl}}}}{{{b{hIl}}{Gj{Gh}}Hn}{{Aj{IfHl}}}}10????>>44```````{{{b{In}}l}{{Aj{fJ`}}}}{{{b{In}}A`Cj}{{Aj{fJ`}}}}>>==::66{c{{Aj{e}}}{}{}}000{{{b{c}}}F`{}}088```````{{{b{c}}}{{b{e}}}{}{}}000{{{b{hc}}}{{b{he}}}{}{}}000>>>>::::``333333332222::::````````10{{{b{Jb}}{b{hBn}}}Jd}0?{BlJb}{j{{Aj{{n{{D`{A`Fd}}}}Cd}}}}={{{b{{n{{D`{A`Fd}}}}}}}Jf}{{{b{Cf}}{b{Cf}}{Dn{{Dl{Dj}}}}}{{Aj{jJb}}}}{{{b{c}}}Ej{}}998{ce{}{}}{{{b{Jf}}Bh}Jf}{{{b{Jf}}}Jf}{{{b{{n{c}}}}}{{Ch{c}}}{JhJjGdFh}}{{{b{{n{{n{c}}}}}}{b{{n{{n{c}}}}}}}f{JhJjGdFh}}{{{b{Cf}}}{{Aj{{n{{D`{A`Fd}}}}Cd}}}}{{{b{Cf}}{b{Cf}}{b{Cf}}}{{Aj{JfCd}}}}{{{b{Cf}}{b{Cf}}{b{Cf}}{b{Cf}}}{{Aj{jJl}}}}{{{b{{n{{D`{A`Fd}}}}}}{b{Cf}}{b{Cf}}Bh}{{Aj{JfJl}}}}{{{b{j}}{b{Cf}}{b{Cf}}{b{Cf}}Bh}{{Aj{fJl}}}}{{{Dn{{Dl{Dj}}}}{b{Cf}}{b{Cf}}}{{Aj{fJl}}}}{{{b{j}}}{{Aj{EjCb}}}}","D":"AHj","p":[[1,"reference"],[5,"Private",748],[1,"unit"],[0,"mut"],[5,"Model",0,749],[6,"Expression",211,750],[5,"Vec",751],[6,"Name",211,752],[5,"DecisionVariable",211,753],[5,"Reduction",0,754],[5,"Rule",0,754],[6,"ApplicationError",0,754],[6,"Result",755],[5,"Metadata",0,756],[5,"RuleSet",0,757],[6,"SolverFamily",0,758],[10,"Deserializer",759],[10,"Serializer",760],[6,"ErrorImpl",760],[1,"bool"],[5,"Error",761],[6,"Error",0,762],[5,"Formatter",763],[5,"Error",763],[5,"Error",764],[5,"Error",765],[1,"str"],[5,"HashSet",766],[6,"Domain",211,767],[6,"Option",768],[1,"u8"],[5,"HashMap",769],[10,"Hasher",770],[5,"SolverFamilyIter",495,758],[5,"SchemaGenerator",771],[6,"Schema",772],[5,"Context",773],[5,"RwLock",774],[5,"Arc",775],[17,"Output"],[1,"fn"],[1,"tuple"],[1,"slice"],[6,"Cow",776],[5,"String",777],[10,"Serializer",778],[10,"Error",779],[5,"TypeId",780],[1,"i32"],[6,"Constant",211,781],[6,"Range",211,767],[10,"Clone",782],[10,"Ord",783],[6,"ReturnType",211,784],[6,"Ordering",783],[10,"Deserialize",759],[10,"PartialEq",783],[10,"Debug",763],[10,"Serialize",778],[10,"Fn",785],[5,"Box",786],[8,"Result",765],[6,"RewriteError",431,787],[6,"ResolveRulesError",788],[5,"DistributedSlice",477,789],[10,"SolverAdaptor",495,758],[5,"SolverStats",790],[5,"Solver",495,758],[10,"SolverState",673,791],[6,"SolverError",495,758],[5,"Internal",792],[1,"usize"],[5,"ModelLoaded",673,791],[5,"ExecutionSuccess",673,791],[5,"SolveSuccess",495,758],[1,"f64"],[5,"Kissat",617,793],[5,"Minion",617,794],[10,"ModelModifier",648,795],[6,"ModificationFailure",648,795],[6,"EssenceParseError",719],[8,"Result",763],[6,"Value",796],[10,"Eq",783],[10,"Hash",770],[5,"Error",797],[8,"ApplicationResult",0],[6,"SearchStatus",495],[6,"SearchComplete",495],[6,"SearchIncomplete",495],[5,"NotModifiable",648],[5,"ExecutionFailure",673],[5,"Init",673]],"r":[[0,754],[1,754],[4,762],[6,756],[8,749],[13,754],[14,754],[16,757],[18,758],[31,798],[110,799],[111,799],[112,800],[113,800],[114,800],[115,800],[116,800],[131,801],[144,802],[145,802],[146,798],[148,798],[156,798],[218,781],[220,753],[222,767],[224,750],[235,752],[240,767],[242,784],[249,752],[417,803],[429,784],[431,754],[432,754],[436,754],[438,787],[439,754],[441,757],[442,800],[446,804],[451,800],[452,788],[453,800],[454,800],[455,800],[456,800],[457,788],[464,802],[465,802],[466,788],[467,787],[476,804],[477,789],[484,804],[494,805],[508,758],[509,758],[510,758],[511,758],[512,758],[513,758],[514,758],[515,758],[516,758],[517,758],[518,758],[524,758],[571,758],[582,758],[617,793],[618,794],[650,795],[651,795],[652,795],[673,791],[674,791],[675,791],[676,791],[677,791]],"b":[[81,"impl-Display-for-Error"],[82,"impl-Debug-for-Error"],[83,"impl-Debug-for-Metadata"],[84,"impl-Display-for-Metadata"],[86,"impl-Display-for-ApplicationError"],[87,"impl-Debug-for-ApplicationError"],[89,"impl-Display-for-Rule%3C\'a%3E"],[90,"impl-Debug-for-Rule%3C\'a%3E"],[91,"impl-Display-for-RuleSet%3C\'a%3E"],[92,"impl-Debug-for-RuleSet%3C\'a%3E"],[93,"impl-Display-for-SolverFamily"],[94,"impl-Debug-for-SolverFamily"],[96,"impl-From%3CError%3E-for-Error"],[97,"impl-From%3CError%3E-for-Error"],[320,"impl-Debug-for-Constant"],[321,"impl-Display-for-Constant"],[324,"impl-Display-for-Expression"],[325,"impl-Debug-for-Expression"],[326,"impl-Display-for-Name"],[327,"impl-Debug-for-Name"],[329,"impl-Debug-for-DecisionVariable"],[330,"impl-Display-for-DecisionVariable"],[332,"impl-From%3Cbool%3E-for-Constant"],[333,"impl-From%3Ci32%3E-for-Constant"],[336,"impl-From%3Cbool%3E-for-Expression"],[337,"impl-From%3Ci32%3E-for-Expression"],[447,"impl-Display-for-RewriteError"],[448,"impl-Debug-for-RewriteError"],[547,"impl-Debug-for-SolverError"],[548,"impl-Display-for-SolverError"],[724,"impl-Debug-for-EssenceParseError"],[725,"impl-Display-for-EssenceParseError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAACcCSAAAAAEAAwAAAAUABQAMAAEAEAAAABIATQBhAAEAagAAAGwAAABuAAAAdwACAIIAAwCHAAcAkwAJAJ8AMQDWAAMA2wAAAN0AAADfAAAA5QACAOoAAADsAAAA8QAAAPMAAAD1AAAA9wAAAPoAAAD8AAcABQEsADMBGABNAQEAUQEBAFcBAABiAQAAdwEsAKUBCQCwAQAAsgEAALYBAQC5AQAAuwEGAMMBAADMAQAAzgEBANUBAADXAQYA3wEGAOgBAADqAQQA8QEAAPMBDAAFAgAABwIFAA8CFgAuAgAAMAIAADgCAwA9AgUARAIAAEYCAABIAiEAbAIFAHQCAgB5AhAAkAIFAJoCBwCkAgIAqQIHALsCGwDYAgEA2wIGAOQCCAA="}],\ ["enum_compatability_macro",{"t":"X","n":["document_compatibility"],"q":[[0,"enum_compatability_macro"]],"i":[0],"f":"`","D":"d","p":[],"r":[],"b":[],"c":"OjAAAAAAAAA=","e":"OjAAAAAAAAA="}],\ -["minion_rs",{"t":"ICCHHPPPPPPPPGPGPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPFPPPPPPPPPPPPPPPPPPPPFPIIGGIPPPPPPPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNPGPPGPPNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Callback","ast","error","get_from_table","run_minion","Abs","AllDiff","AllDiffMatrix","Bool","Bool","Bound","CheckAssign","CheckGsa","Constant","ConstantAsVar","Constraint","Difference","DisEq","Discrete","Div","DivUndefZero","Element","ElementOne","ElementUndefZero","Eq","ForwardChecking","FrameUpdate","GacAllDiff","GacEq","GacSchema","Gcc","GccWeak","Hamming","Ineq","Integer","LexLeq","LexLeqQuick","LexLeqRv","LexLess","LexLessQuick","LightTable","LitSumGeq","Max","Mddc","Min","MinusEq","Model","Modulo","ModuloUndefZero","NameRef","NegativeMddc","NegativeTable","NotHamming","NvalueGeq","NvalueLeq","Occurrence","OccurrenceGeq","OccurrenceLeq","Pow","Product","Reify","ReifyImply","ReifyImplyQuick","SparseBound","Str2Plus","SumGeq","SumLeq","SymbolTable","Table","Tuple","TwoVars","Var","VarDomain","VarName","WInIntervalSet","WInRange","WInset","WLiteral","WNotInRange","WNotInset","WNotLiteral","WatchElement","WatchElementOne","WatchElementOneUndefZero","WatchElementUndefZero","WatchLess","WatchNeq","WatchSumGeq","WatchSumLeq","WatchVecExistsLess","WatchVecNeq","WatchedAnd","WatchedOr","WeightedSumGeq","WeightedSumLeq","add_var","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","constraints","contains","default","eq","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","get_variable_order","get_vartype","into","into","into","into","into","into","named_variables","new","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","InvalidInstance","MinionError","NotImplemented","Other","RuntimeError","RuntimeError","UnknownError","borrow","borrow","borrow_mut","borrow_mut","eq","fmt","fmt","fmt","fmt","from","from","from","from","from","into","into","source","to_string","to_string","try_from","try_from","try_into","try_into","type_id","type_id"],"q":[[0,"minion_rs"],[5,"minion_rs::ast"],[175,"minion_rs::error"],[207,"alloc::string"],[208,"core::option"],[209,"minion_rs::run"],[210,"core::result"],[211,"core::fmt"],[212,"alloc::vec"],[213,"core::any"],[214,"anyhow"],[215,"core::error"],[216,"minion_rs::wrappers"]],"i":[0,0,0,0,0,11,11,11,13,10,10,11,11,0,12,0,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,13,11,11,11,11,11,11,11,11,11,11,11,0,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,0,11,0,0,0,0,0,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,3,11,12,13,10,8,3,11,12,13,10,8,3,11,12,13,10,8,3,11,12,13,10,8,3,8,3,3,11,12,13,10,8,3,11,12,13,10,8,3,11,12,13,10,8,8,8,3,11,12,13,10,8,3,3,3,11,12,13,10,8,3,11,12,13,10,8,3,11,12,13,10,8,3,11,12,13,10,8,19,0,6,6,0,6,19,6,19,6,19,19,6,6,19,19,6,6,6,19,19,6,19,6,6,19,6,19,6,19,6,19],"f":"```{b{{d{b}}}}{{fh}{{n{jl}}}}``````````````````````````````````````````````````````````````````````````````````````````{{A`AbAd}{{d{j}}}}{ce{}{}}00000000000{ff}{AfAf}{AhAh}{AjAj}{AdAd}{A`A`}{{ce}j{}{}}00000`{{A`Ab}Al}{{}f}{{ff}Al}{{AfAf}Al}{{AhAh}Al}{{AjAj}Al}{{AdAd}Al}{{A`A`}Al}{{fAn}B`}{{AfAn}B`}{{AhAn}B`}{{AjAn}B`}{{AdAn}B`}{{A`An}B`}{cc{}}00000{A`{{Bb{Ab}}}}{{A`Ab}{{d{Ad}}}}{ce{}{}}00000`{{}f}111111{c{{n{e}}}{}{}}00000000000{cBd{}}00000```````3333{{BfBf}Al}{{lAn}B`}0{{BfAn}B`}09{Bhl}{Bfl}{BjBf}<99{l{{d{Bl}}}}{cb{}}0999988","D":"Dn","p":[[5,"String",207],[6,"Option",208],[5,"Model",5],[8,"Callback",0,209],[1,"unit"],[6,"MinionError",175],[6,"Result",210],[5,"SymbolTable",5],[8,"VarName",5],[6,"VarDomain",5],[6,"Constraint",5],[6,"Var",5],[6,"Constant",5],[1,"bool"],[5,"Formatter",211],[8,"Result",211],[5,"Vec",212],[5,"TypeId",213],[6,"RuntimeError",175],[5,"Error",214],[1,"u32"],[10,"Error",215]],"r":[[0,209],[3,216],[4,209]],"b":[[187,"impl-Display-for-MinionError"],[188,"impl-Debug-for-MinionError"],[189,"impl-Debug-for-RuntimeError"],[190,"impl-Display-for-RuntimeError"],[192,"impl-From%3CError%3E-for-MinionError"],[193,"impl-From%3CRuntimeError%3E-for-MinionError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAKgADAAGAAcADwAAABEAHQAwABMARQACAEoAFQBhACYAlgAAAJgAFwC3AAgAwQACAMcACAA="}],\ -["uniplate",{"t":"PPGPCNNNNNNNNNNNNNNNCNKEKMNNNNNNNNMNNNKGPNNNNNNNNNNNNNNNNNMNNN","n":["Many","One","Tree","Zero","biplate","borrow","borrow_mut","clone","clone_into","eq","fmt","from","into","into_iter","list","map","to_owned","try_from","try_into","type_id","uniplate","vzip","Biplate","Tree","Uniplate","biplate","cata","children","children_bi","descend","descend_bi","rewrite","transform","transform_bi","uniplate","universe","universe_bi","with_children","Uniplate","UniplateError","WrongNumberOfChildren","borrow","borrow_mut","children","descend","eq","fmt","fmt","fold","from","into","one_holed_context","rewrite","to_string","transform","try_from","try_into","type_id","uniplate","universe","vzip","with_children"],"q":[[0,"uniplate"],[22,"uniplate::biplate"],[38,"uniplate::uniplate"],[62,"uniplate::tree"],[63,"core::clone"],[64,"core::marker"],[65,"core::cmp"],[66,"core::fmt"],[67,"im::vector"],[68,"core::ops::function"],[69,"alloc::boxed"],[70,"alloc::sync"],[71,"core::result"],[72,"core::any"],[73,"alloc::vec"],[74,"core::option"],[75,"alloc::string"]],"i":[1,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,0,0,0,18,19,19,18,19,18,19,19,18,19,19,18,19,0,0,24,24,24,20,20,24,24,24,20,24,24,20,20,24,20,24,24,24,20,20,24,20],"f":"`````{ce{}{}}0{{{b{c}}}{{b{c}}}{dfdh}}{{ce}j{}{}}{{{b{c}}{b{c}}}l{nfdh}}{{{b{c}}A`}Ab{Adfdh}}{cc{}}5{{{b{c}}}e{fdh}{}}{{{b{c}}}{{Al{{Af{c}}{Aj{Ah}}}}}{fdh}}{{{b{c}}{An{Ah}}}{{b{c}}}{fdh}}8{c{{B`{e}}}{}{}}0{cBb{}}`:```{Bd{{Al{{b{c}}{Aj{Ah}}}}}{fdhBf}}{{Bf{An{Ah}}}c{}}{Bf{{Af{Bf}}}}{Bd{{Af{c}}}{fdhBf}}{{Bf{An{Ah}}}Bf}{{Bd{An{Ah}}}Bd}110{Bf{{Al{{b{Bf}}{Aj{Ah}}}}}}43{{Bf{Af{Bf}}}Bf}```{ce{}{}}0{Bh{{Bj{Bh}}}}{{Bh{Bn{Bh}{{Bl{Bh}}}}}{{B`{BhC`}}}}{{C`C`}l}{{C`A`}Ab}0{{Bh{Bn{Bh{Bj{c}}}{{Bl{c}}}}}c{}}{cc{}}6{{BhCb}{{Cd{{Aj{Ah}}}}}}{{Bh{Bn{Bh}{{Bl{{Cd{Bh}}}}}}}{{B`{BhC`}}}}{cCf{}}7{c{{B`{e}}}{}{}}0{cBb{}}{Bh{{Al{{Bj{Bh}}{Aj{Ah}}}}}};<{{Bh{Bj{Bh}}}{{B`{BhC`}}}}","D":"C`","p":[[6,"Tree",0,62],[10,"Clone",63],[10,"Sized",64],[10,"Eq",65],[1,"unit"],[1,"bool"],[10,"PartialEq",65],[5,"Formatter",66],[8,"Result",66],[10,"Debug",66],[5,"Vector",67],[10,"Fn",68],[5,"Box",69],[1,"tuple"],[5,"Arc",70],[6,"Result",71],[5,"TypeId",72],[10,"Biplate",22],[10,"Uniplate",22],[10,"Uniplate",38],[5,"Vec",73],[17,"Output"],[1,"fn"],[6,"UniplateError",38],[1,"usize"],[6,"Option",74],[5,"String",75]],"r":[[2,62],[23,62]],"b":[[46,"impl-Debug-for-UniplateError"],[47,"impl-Display-for-UniplateError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAACYACwABAAoADgAAABAACQAeAAAAIgABACUAAAAnAAQALgACADYAAAA4AAIAPQAAAA=="}]\ +["minion_rs",{"t":"ICCHHPPPPPPPPGPGPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPFPPPPPPPPPPPPPPPPPPPPFPIIGGIPPPPPPPPPPPPPPPPPPPPPNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNPGPPGPPNNNNNNNNNNNNNNNNNNNNNNNNN","n":["Callback","ast","error","get_from_table","run_minion","Abs","AllDiff","AllDiffMatrix","Bool","Bool","Bound","CheckAssign","CheckGsa","Constant","ConstantAsVar","Constraint","Difference","DisEq","Discrete","Div","DivUndefZero","Element","ElementOne","ElementUndefZero","Eq","ForwardChecking","FrameUpdate","GacAllDiff","GacEq","GacSchema","Gcc","GccWeak","Hamming","Ineq","Integer","LexLeq","LexLeqQuick","LexLeqRv","LexLess","LexLessQuick","LightTable","LitSumGeq","Max","Mddc","Min","MinusEq","Model","Modulo","ModuloUndefZero","NameRef","NegativeMddc","NegativeTable","NotHamming","NvalueGeq","NvalueLeq","Occurrence","OccurrenceGeq","OccurrenceLeq","Pow","Product","Reify","ReifyImply","ReifyImplyQuick","SparseBound","Str2Plus","SumGeq","SumLeq","SymbolTable","Table","Tuple","TwoVars","Var","VarDomain","VarName","WInIntervalSet","WInRange","WInset","WLiteral","WNotInRange","WNotInset","WNotLiteral","WatchElement","WatchElementOne","WatchElementOneUndefZero","WatchElementUndefZero","WatchLess","WatchNeq","WatchSumGeq","WatchSumLeq","WatchVecExistsLess","WatchVecNeq","WatchedAnd","WatchedOr","WeightedSumGeq","WeightedSumLeq","add_var","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","clone_into","constraints","contains","default","eq","eq","eq","eq","eq","eq","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","get_variable_order","get_vartype","into","into","into","into","into","into","named_variables","new","to_owned","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","InvalidInstance","MinionError","NotImplemented","Other","RuntimeError","RuntimeError","UnknownError","borrow","borrow","borrow_mut","borrow_mut","eq","fmt","fmt","fmt","fmt","from","from","from","from","from","into","into","source","to_string","to_string","try_from","try_from","try_into","try_into","type_id","type_id"],"q":[[0,"minion_rs"],[5,"minion_rs::ast"],[175,"minion_rs::error"],[207,"alloc::string"],[208,"core::option"],[209,"minion_rs::run"],[210,"core::result"],[211,"core::fmt"],[212,"alloc::vec"],[213,"core::any"],[214,"anyhow"],[215,"core::error"],[216,"minion_rs::wrappers"]],"i":[0,0,0,0,0,13,13,13,15,12,12,13,13,0,14,0,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,15,13,13,13,13,13,13,13,13,13,13,13,0,13,13,14,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,0,13,0,0,0,0,0,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,9,3,13,14,15,12,9,3,13,14,15,12,9,3,13,14,15,12,9,3,13,14,15,12,9,3,9,3,3,13,14,15,12,9,3,13,14,15,12,9,3,13,14,15,12,9,9,9,3,13,14,15,12,9,3,3,3,13,14,15,12,9,3,13,14,15,12,9,3,13,14,15,12,9,3,13,14,15,12,9,21,0,6,6,0,6,21,6,21,6,21,21,6,6,21,21,6,6,6,21,21,6,21,6,6,21,6,21,6,21,6,21],"f":"```{b{{d{b}}}}{{fh}{{n{jl}}}}``````````````````````````````````````````````````````````````````````````````````````````{{{Ad{A`Ab}}AfAh}{{d{j}}}}{{{Ad{c}}}{{Ad{e}}}{}{}}00000{{{Ad{A`c}}}{{Ad{A`e}}}{}{}}00000{{{Ad{f}}}f}{{{Ad{Aj}}}Aj}{{{Ad{Al}}}Al}{{{Ad{An}}}An}{{{Ad{Ah}}}Ah}{{{Ad{Ab}}}Ab}{{{Ad{c}}{Ad{A`e}}}j{}{}}00000`{{{Ad{Ab}}Af}B`}{{}f}{{{Ad{f}}{Ad{f}}}B`}{{{Ad{Aj}}{Ad{Aj}}}B`}{{{Ad{Al}}{Ad{Al}}}B`}{{{Ad{An}}{Ad{An}}}B`}{{{Ad{Ah}}{Ad{Ah}}}B`}{{{Ad{Ab}}{Ad{Ab}}}B`}{{{Ad{f}}{Ad{A`Bb}}}Bd}{{{Ad{Aj}}{Ad{A`Bb}}}Bd}{{{Ad{Al}}{Ad{A`Bb}}}Bd}{{{Ad{An}}{Ad{A`Bb}}}Bd}{{{Ad{Ah}}{Ad{A`Bb}}}Bd}{{{Ad{Ab}}{Ad{A`Bb}}}Bd}{cc{}}00000{{{Ad{Ab}}}{{Bf{Af}}}}{{{Ad{Ab}}Af}{{d{Ah}}}}{ce{}{}}00000`{{}f}{{{Ad{c}}}e{}{}}00000{c{{n{e}}}{}{}}00000000000{{{Ad{c}}}Bh{}}00000```````{{{Ad{c}}}{{Ad{e}}}{}{}}0{{{Ad{A`c}}}{{Ad{A`e}}}{}{}}0{{{Ad{Bj}}{Ad{Bj}}}B`}{{{Ad{l}}{Ad{A`Bb}}}Bd}0{{{Ad{Bj}}{Ad{A`Bb}}}Bd}0{Bll}{Bjl}>>{BnBj}<<{{{Ad{l}}}{{d{{Ad{C`}}}}}}{{{Ad{c}}}b{}}0;;;;::","D":"Dn","p":[[5,"String",207],[6,"Option",208],[5,"Model",5],[8,"Callback",0,209],[1,"unit"],[6,"MinionError",175],[6,"Result",210],[0,"mut"],[5,"SymbolTable",5],[1,"reference"],[8,"VarName",5],[6,"VarDomain",5],[6,"Constraint",5],[6,"Var",5],[6,"Constant",5],[1,"bool"],[5,"Formatter",211],[8,"Result",211],[5,"Vec",212],[5,"TypeId",213],[6,"RuntimeError",175],[5,"Error",214],[1,"u32"],[10,"Error",215]],"r":[[0,209],[3,216],[4,209]],"b":[[187,"impl-Display-for-MinionError"],[188,"impl-Debug-for-MinionError"],[189,"impl-Debug-for-RuntimeError"],[190,"impl-Display-for-RuntimeError"],[191,"impl-From%3CError%3E-for-MinionError"],[192,"impl-From%3CRuntimeError%3E-for-MinionError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAAKgADAAGAAcADwAAABEAHQAwABMARQACAEoAFQBhACYAlgAAAJgAFwC3AAoAxAAAAMcACAA="}],\ +["uniplate",{"t":"PPGPCNNNNNNNNNNNNNNNCNKEKMNNNNNNNNMNNNKGPNNNNNNNNNNNNNNNNNMNNN","n":["Many","One","Tree","Zero","biplate","borrow","borrow_mut","clone","clone_into","eq","fmt","from","into","into_iter","list","map","to_owned","try_from","try_into","type_id","uniplate","vzip","Biplate","Tree","Uniplate","biplate","cata","children","children_bi","descend","descend_bi","rewrite","transform","transform_bi","uniplate","universe","universe_bi","with_children","Uniplate","UniplateError","WrongNumberOfChildren","borrow","borrow_mut","children","descend","eq","fmt","fmt","fold","from","into","one_holed_context","rewrite","to_string","transform","try_from","try_into","type_id","uniplate","universe","vzip","with_children"],"q":[[0,"uniplate"],[22,"uniplate::biplate"],[38,"uniplate::uniplate"],[62,"uniplate::tree"],[63,"core::clone"],[64,"core::marker"],[65,"core::cmp"],[66,"core::fmt"],[67,"im::vector"],[68,"core::ops::function"],[69,"alloc::boxed"],[70,"alloc::sync"],[71,"core::result"],[72,"core::any"],[73,"alloc::vec"],[74,"core::option"],[75,"alloc::string"]],"i":[3,3,0,3,0,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,3,0,0,0,20,21,21,20,21,20,21,21,20,21,21,20,21,0,0,26,26,26,22,22,26,26,26,22,26,26,22,22,26,22,26,26,26,22,22,26,22],"f":"`````{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{{f{c}}}}}{{f{c}}}{hjhl}}{{{b{c}}{b{de}}}n{}{}}{{{b{{f{c}}}}{b{{f{c}}}}}A`{Abjhl}}{{{b{{f{c}}}}{b{dAd}}}Af{Ahjhl}}{cc{}}{ce{}{}}{{{f{c}}}e{jhl}{}}{{{f{c}}}{{B`{{Aj{c}}{An{Al}}}}}{jhl}}{{{f{c}}{Bb{Al}}}{{f{c}}}{jhl}}{{{b{c}}}e{}{}}{c{{Bd{e}}}{}{}}0{{{b{c}}}Bf{}}`6```{{{b{Bh}}}{{B`{{f{c}}{An{Al}}}}}{jhlBj}}{{{b{Bj}}{Bb{Al}}}c{}}{{{b{Bj}}}{{Aj{Bj}}}}{{{b{Bh}}}{{Aj{c}}}{jhlBj}}{{{b{Bj}}{Bb{Al}}}Bj}{{{b{Bh}}{Bb{Al}}}Bh}110{{{b{Bj}}}{{B`{{f{Bj}}{An{Al}}}}}}43{{{b{Bj}}{Aj{Bj}}}Bj}```{{{b{c}}}{{b{e}}}{}{}}{{{b{dc}}}{{b{de}}}{}{}}{{{b{Bl}}}{{Bn{Bl}}}}{{{b{Bl}}{Cb{Bl}{{C`{Bl}}}}}{{Bd{BlCd}}}}{{{b{Cd}}{b{Cd}}}A`}{{{b{Cd}}{b{dAd}}}Af}0{{{b{Bl}}{Cb{Bl{Bn{c}}}{{C`{c}}}}}c{}}{cc{}}{ce{}{}}{{{b{Bl}}Cf}{{Ch{{An{Al}}}}}}{{{b{Bl}}{Cb{Bl}{{C`{{Ch{Bl}}}}}}}{{Bd{BlCd}}}}{{{b{c}}}Cj{}}8{c{{Bd{e}}}{}{}}0{{{b{c}}}Bf{}}{{{b{Bl}}}{{B`{{Bn{Bl}}{An{Al}}}}}}<6{{{b{Bl}}{Bn{Bl}}}{{Bd{BlCd}}}}","D":"C`","p":[[1,"reference"],[0,"mut"],[6,"Tree",0,62],[10,"Clone",63],[10,"Sized",64],[10,"Eq",65],[1,"unit"],[1,"bool"],[10,"PartialEq",65],[5,"Formatter",66],[8,"Result",66],[10,"Debug",66],[5,"Vector",67],[10,"Fn",68],[5,"Box",69],[1,"tuple"],[5,"Arc",70],[6,"Result",71],[5,"TypeId",72],[10,"Biplate",22],[10,"Uniplate",22],[10,"Uniplate",38],[5,"Vec",73],[17,"Output"],[1,"fn"],[6,"UniplateError",38],[1,"usize"],[6,"Option",74],[5,"String",75]],"r":[[2,62],[23,62]],"b":[[46,"impl-Debug-for-UniplateError"],[47,"impl-Display-for-UniplateError"]],"c":"OjAAAAAAAAA=","e":"OzAAAAEAACYACwABAAoADgAAABAACQAeAAAAIgABACUAAAAnAAQALgACADYAAAA4AAIAPQAAAA=="}]\ ]')); if (typeof exports !== 'undefined') exports.searchIndex = searchIndex; else if (window.initSearch) window.initSearch(searchIndex); diff --git a/docs/settings.html b/docs/settings.html index f09144ce90..244d8bfe30 100644 --- a/docs/settings.html +++ b/docs/settings.html @@ -1 +1 @@ -Settings

    Rustdoc settings

    Back
    \ No newline at end of file +Settings

    Rustdoc settings

    Back
    \ No newline at end of file diff --git a/docs/src/chuffed_rs/home/runner/work/conjure-oxide/conjure-oxide/target/debug/build/chuffed_rs-c21a922dc700d11f/out/chuffed_bindings.rs.html b/docs/src/chuffed_rs/home/runner/work/conjure-oxide/conjure-oxide/target/debug/build/chuffed_rs-c21a922dc700d11f/out/chuffed_bindings.rs.html index 1a64cf9b7a..98b6c1c618 100644 --- a/docs/src/chuffed_rs/home/runner/work/conjure-oxide/conjure-oxide/target/debug/build/chuffed_rs-c21a922dc700d11f/out/chuffed_bindings.rs.html +++ b/docs/src/chuffed_rs/home/runner/work/conjure-oxide/conjure-oxide/target/debug/build/chuffed_rs-c21a922dc700d11f/out/chuffed_bindings.rs.html @@ -1,4 +1,4 @@ -chuffed_bindings.rs - source
    1
    +chuffed_bindings.rs - source
    1
     2
     3
     
    /* automatically generated by rust-bindgen 0.69.4 */
    diff --git a/docs/src/chuffed_rs/lib.rs.html b/docs/src/chuffed_rs/lib.rs.html
    index 4391a572b7..362b90951b 100644
    --- a/docs/src/chuffed_rs/lib.rs.html
    +++ b/docs/src/chuffed_rs/lib.rs.html
    @@ -1,4 +1,4 @@
    -lib.rs - source
    1
    +lib.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_core/ast/constants.rs.html b/docs/src/conjure_core/ast/constants.rs.html
    index eb92ce2bfe..2ddc93b863 100644
    --- a/docs/src/conjure_core/ast/constants.rs.html
    +++ b/docs/src/conjure_core/ast/constants.rs.html
    @@ -1,4 +1,4 @@
    -constants.rs - source
    1
    +constants.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_core/ast/domains.rs.html b/docs/src/conjure_core/ast/domains.rs.html
    index eeac89f288..07f246ff52 100644
    --- a/docs/src/conjure_core/ast/domains.rs.html
    +++ b/docs/src/conjure_core/ast/domains.rs.html
    @@ -1,4 +1,4 @@
    -domains.rs - source
    1
    +domains.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_core/ast/expressions.rs.html b/docs/src/conjure_core/ast/expressions.rs.html
    index d368673fa7..0ee3d31a42 100644
    --- a/docs/src/conjure_core/ast/expressions.rs.html
    +++ b/docs/src/conjure_core/ast/expressions.rs.html
    @@ -1,4 +1,4 @@
    -expressions.rs - source
    1
    +expressions.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_core/ast/mod.rs.html b/docs/src/conjure_core/ast/mod.rs.html
    index 47eff9e001..be3533bb51 100644
    --- a/docs/src/conjure_core/ast/mod.rs.html
    +++ b/docs/src/conjure_core/ast/mod.rs.html
    @@ -1,4 +1,4 @@
    -mod.rs - source
    1
    +mod.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_core/ast/symbol_table.rs.html b/docs/src/conjure_core/ast/symbol_table.rs.html
    index ea9c7e7732..d90f20f395 100644
    --- a/docs/src/conjure_core/ast/symbol_table.rs.html
    +++ b/docs/src/conjure_core/ast/symbol_table.rs.html
    @@ -1,4 +1,4 @@
    -symbol_table.rs - source
    1
    +symbol_table.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_core/ast/types.rs.html b/docs/src/conjure_core/ast/types.rs.html
    index 72b26f938a..8c8c1c4343 100644
    --- a/docs/src/conjure_core/ast/types.rs.html
    +++ b/docs/src/conjure_core/ast/types.rs.html
    @@ -1,4 +1,4 @@
    -types.rs - source
    1
    +types.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_core/ast/variables.rs.html b/docs/src/conjure_core/ast/variables.rs.html
    index 0c35edecbd..7cf980bc1c 100644
    --- a/docs/src/conjure_core/ast/variables.rs.html
    +++ b/docs/src/conjure_core/ast/variables.rs.html
    @@ -1,4 +1,4 @@
    -variables.rs - source
    1
    +variables.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_core/context.rs.html b/docs/src/conjure_core/context.rs.html
    index 8f6b1de89b..9d7900a726 100644
    --- a/docs/src/conjure_core/context.rs.html
    +++ b/docs/src/conjure_core/context.rs.html
    @@ -1,4 +1,4 @@
    -context.rs - source
    1
    +context.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_core/error.rs.html b/docs/src/conjure_core/error.rs.html
    index 174118cda0..f347f6db6c 100644
    --- a/docs/src/conjure_core/error.rs.html
    +++ b/docs/src/conjure_core/error.rs.html
    @@ -1,4 +1,4 @@
    -error.rs - source
    1
    +error.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_core/lib.rs.html b/docs/src/conjure_core/lib.rs.html
    index 8fd08ce5e7..1042422b9e 100644
    --- a/docs/src/conjure_core/lib.rs.html
    +++ b/docs/src/conjure_core/lib.rs.html
    @@ -1,4 +1,4 @@
    -lib.rs - source
    1
    +lib.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_core/metadata.rs.html b/docs/src/conjure_core/metadata.rs.html
    index 7846c70e36..ae4e2de3d9 100644
    --- a/docs/src/conjure_core/metadata.rs.html
    +++ b/docs/src/conjure_core/metadata.rs.html
    @@ -1,4 +1,4 @@
    -metadata.rs - source
    1
    +metadata.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_core/model.rs.html b/docs/src/conjure_core/model.rs.html
    index fe1bab612a..e0de3d51d6 100644
    --- a/docs/src/conjure_core/model.rs.html
    +++ b/docs/src/conjure_core/model.rs.html
    @@ -1,4 +1,4 @@
    -model.rs - source
    1
    +model.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_core/parse/example_models.rs.html b/docs/src/conjure_core/parse/example_models.rs.html
    index 703dcc9fec..f6822a0057 100644
    --- a/docs/src/conjure_core/parse/example_models.rs.html
    +++ b/docs/src/conjure_core/parse/example_models.rs.html
    @@ -1,4 +1,4 @@
    -example_models.rs - source
    1
    +example_models.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_core/parse/mod.rs.html b/docs/src/conjure_core/parse/mod.rs.html
    index 5187eece32..6026c27431 100644
    --- a/docs/src/conjure_core/parse/mod.rs.html
    +++ b/docs/src/conjure_core/parse/mod.rs.html
    @@ -1,4 +1,4 @@
    -mod.rs - source
    1
    +mod.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_core/parse/parse_model.rs.html b/docs/src/conjure_core/parse/parse_model.rs.html
    index 0ba2f9f0dc..31c8aa50e7 100644
    --- a/docs/src/conjure_core/parse/parse_model.rs.html
    +++ b/docs/src/conjure_core/parse/parse_model.rs.html
    @@ -1,4 +1,4 @@
    -parse_model.rs - source
    1
    +parse_model.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_core/rule_engine/mod.rs.html b/docs/src/conjure_core/rule_engine/mod.rs.html
    index 5163ca8d4d..5daf4c4d3f 100644
    --- a/docs/src/conjure_core/rule_engine/mod.rs.html
    +++ b/docs/src/conjure_core/rule_engine/mod.rs.html
    @@ -1,4 +1,4 @@
    -mod.rs - source
    1
    +mod.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_core/rule_engine/resolve_rules.rs.html b/docs/src/conjure_core/rule_engine/resolve_rules.rs.html
    index 1578d35584..3eb0bb6c14 100644
    --- a/docs/src/conjure_core/rule_engine/resolve_rules.rs.html
    +++ b/docs/src/conjure_core/rule_engine/resolve_rules.rs.html
    @@ -1,4 +1,4 @@
    -resolve_rules.rs - source
    1
    +resolve_rules.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_core/rule_engine/rewrite.rs.html b/docs/src/conjure_core/rule_engine/rewrite.rs.html
    index 3f402e371d..eb255adb4d 100644
    --- a/docs/src/conjure_core/rule_engine/rewrite.rs.html
    +++ b/docs/src/conjure_core/rule_engine/rewrite.rs.html
    @@ -1,4 +1,4 @@
    -rewrite.rs - source
    1
    +rewrite.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_core/rule_engine/rule.rs.html b/docs/src/conjure_core/rule_engine/rule.rs.html
    index efce5fdabd..28612c8910 100644
    --- a/docs/src/conjure_core/rule_engine/rule.rs.html
    +++ b/docs/src/conjure_core/rule_engine/rule.rs.html
    @@ -1,4 +1,4 @@
    -rule.rs - source
    1
    +rule.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_core/rule_engine/rule_set.rs.html b/docs/src/conjure_core/rule_engine/rule_set.rs.html
    index c48dc97fa4..62b4575d81 100644
    --- a/docs/src/conjure_core/rule_engine/rule_set.rs.html
    +++ b/docs/src/conjure_core/rule_engine/rule_set.rs.html
    @@ -1,4 +1,4 @@
    -rule_set.rs - source
    1
    +rule_set.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_core/rules/base.rs.html b/docs/src/conjure_core/rules/base.rs.html
    index 72af7a786a..24a3cee50a 100644
    --- a/docs/src/conjure_core/rules/base.rs.html
    +++ b/docs/src/conjure_core/rules/base.rs.html
    @@ -1,4 +1,4 @@
    -base.rs - source
    1
    +base.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_core/rules/bubble.rs.html b/docs/src/conjure_core/rules/bubble.rs.html
    index b1ed3e956f..ab68ca130b 100644
    --- a/docs/src/conjure_core/rules/bubble.rs.html
    +++ b/docs/src/conjure_core/rules/bubble.rs.html
    @@ -1,4 +1,4 @@
    -bubble.rs - source
    1
    +bubble.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_core/rules/cnf.rs.html b/docs/src/conjure_core/rules/cnf.rs.html
    index 872c0f119f..139be3647e 100644
    --- a/docs/src/conjure_core/rules/cnf.rs.html
    +++ b/docs/src/conjure_core/rules/cnf.rs.html
    @@ -1,4 +1,4 @@
    -cnf.rs - source
    1
    +cnf.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_core/rules/constant.rs.html b/docs/src/conjure_core/rules/constant.rs.html
    index 3138916510..29221e8cb4 100644
    --- a/docs/src/conjure_core/rules/constant.rs.html
    +++ b/docs/src/conjure_core/rules/constant.rs.html
    @@ -1,4 +1,4 @@
    -constant.rs - source
    1
    +constant.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_core/rules/minion.rs.html b/docs/src/conjure_core/rules/minion.rs.html
    index 4b990c6444..aea7c03db9 100644
    --- a/docs/src/conjure_core/rules/minion.rs.html
    +++ b/docs/src/conjure_core/rules/minion.rs.html
    @@ -1,4 +1,4 @@
    -minion.rs - source
    1
    +minion.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_core/rules/mod.rs.html b/docs/src/conjure_core/rules/mod.rs.html
    index 1d54f19cfd..aba7317e78 100644
    --- a/docs/src/conjure_core/rules/mod.rs.html
    +++ b/docs/src/conjure_core/rules/mod.rs.html
    @@ -1,4 +1,4 @@
    -mod.rs - source
    1
    +mod.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_core/solver/adaptors/kissat.rs.html b/docs/src/conjure_core/solver/adaptors/kissat.rs.html
    index df50b2119f..c4ec50f788 100644
    --- a/docs/src/conjure_core/solver/adaptors/kissat.rs.html
    +++ b/docs/src/conjure_core/solver/adaptors/kissat.rs.html
    @@ -1,4 +1,4 @@
    -kissat.rs - source
    1
    +kissat.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_core/solver/adaptors/minion.rs.html b/docs/src/conjure_core/solver/adaptors/minion.rs.html
    index 2c27944f4f..1369926107 100644
    --- a/docs/src/conjure_core/solver/adaptors/minion.rs.html
    +++ b/docs/src/conjure_core/solver/adaptors/minion.rs.html
    @@ -1,4 +1,4 @@
    -minion.rs - source
    1
    +minion.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_core/solver/adaptors/mod.rs.html b/docs/src/conjure_core/solver/adaptors/mod.rs.html
    index d10a6afdca..c7b16fac51 100644
    --- a/docs/src/conjure_core/solver/adaptors/mod.rs.html
    +++ b/docs/src/conjure_core/solver/adaptors/mod.rs.html
    @@ -1,4 +1,4 @@
    -mod.rs - source
    1
    +mod.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_core/solver/adaptors/sat_common.rs.html b/docs/src/conjure_core/solver/adaptors/sat_common.rs.html
    index a24a145547..e10c742699 100644
    --- a/docs/src/conjure_core/solver/adaptors/sat_common.rs.html
    +++ b/docs/src/conjure_core/solver/adaptors/sat_common.rs.html
    @@ -1,4 +1,4 @@
    -sat_common.rs - source
    1
    +sat_common.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_core/solver/mod.rs.html b/docs/src/conjure_core/solver/mod.rs.html
    index 2c8082fb1f..5417b1456c 100644
    --- a/docs/src/conjure_core/solver/mod.rs.html
    +++ b/docs/src/conjure_core/solver/mod.rs.html
    @@ -1,4 +1,4 @@
    -mod.rs - source
    1
    +mod.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_core/solver/model_modifier.rs.html b/docs/src/conjure_core/solver/model_modifier.rs.html
    index e8b0d5869b..00a4f230e9 100644
    --- a/docs/src/conjure_core/solver/model_modifier.rs.html
    +++ b/docs/src/conjure_core/solver/model_modifier.rs.html
    @@ -1,4 +1,4 @@
    -model_modifier.rs - source
    1
    +model_modifier.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_core/solver/private.rs.html b/docs/src/conjure_core/solver/private.rs.html
    index 6d959b1d03..7c76c3cf1d 100644
    --- a/docs/src/conjure_core/solver/private.rs.html
    +++ b/docs/src/conjure_core/solver/private.rs.html
    @@ -1,4 +1,4 @@
    -private.rs - source
    1
    +private.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_core/solver/states.rs.html b/docs/src/conjure_core/solver/states.rs.html
    index 6e458f1e6c..5f94a533ef 100644
    --- a/docs/src/conjure_core/solver/states.rs.html
    +++ b/docs/src/conjure_core/solver/states.rs.html
    @@ -1,4 +1,4 @@
    -states.rs - source
    1
    +states.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_core/stats/mod.rs.html b/docs/src/conjure_core/stats/mod.rs.html
    index 245afad28a..55e961fabd 100644
    --- a/docs/src/conjure_core/stats/mod.rs.html
    +++ b/docs/src/conjure_core/stats/mod.rs.html
    @@ -1,4 +1,4 @@
    -mod.rs - source
    1
    +mod.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_core/stats/rewriter_stats.rs.html b/docs/src/conjure_core/stats/rewriter_stats.rs.html
    index 336b55f05e..efc15f90b3 100644
    --- a/docs/src/conjure_core/stats/rewriter_stats.rs.html
    +++ b/docs/src/conjure_core/stats/rewriter_stats.rs.html
    @@ -1,4 +1,4 @@
    -rewriter_stats.rs - source
    1
    +rewriter_stats.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_core/stats/solver_stats.rs.html b/docs/src/conjure_core/stats/solver_stats.rs.html
    index 8beccf88a0..5e5912ccb3 100644
    --- a/docs/src/conjure_core/stats/solver_stats.rs.html
    +++ b/docs/src/conjure_core/stats/solver_stats.rs.html
    @@ -1,4 +1,4 @@
    -solver_stats.rs - source
    1
    +solver_stats.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_macros/lib.rs.html b/docs/src/conjure_macros/lib.rs.html
    index 78c16f648e..36ca8cc3b6 100644
    --- a/docs/src/conjure_macros/lib.rs.html
    +++ b/docs/src/conjure_macros/lib.rs.html
    @@ -1,4 +1,4 @@
    -lib.rs - source
    1
    +lib.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_oxide/find_conjure.rs.html b/docs/src/conjure_oxide/find_conjure.rs.html
    index 7222fe483c..dd09e052a1 100644
    --- a/docs/src/conjure_oxide/find_conjure.rs.html
    +++ b/docs/src/conjure_oxide/find_conjure.rs.html
    @@ -1,4 +1,4 @@
    -find_conjure.rs - source
    1
    +find_conjure.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_oxide/lib.rs.html b/docs/src/conjure_oxide/lib.rs.html
    index ad3397ae38..40f44d04da 100644
    --- a/docs/src/conjure_oxide/lib.rs.html
    +++ b/docs/src/conjure_oxide/lib.rs.html
    @@ -1,4 +1,4 @@
    -lib.rs - source
    1
    +lib.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_oxide/unstable/mod.rs.html b/docs/src/conjure_oxide/unstable/mod.rs.html
    index 63f44f3f55..5a5eaae808 100644
    --- a/docs/src/conjure_oxide/unstable/mod.rs.html
    +++ b/docs/src/conjure_oxide/unstable/mod.rs.html
    @@ -1,3 +1,3 @@
    -mod.rs - source
    1
    +mod.rs - source
    1
     
    //! Unstable and in-development features of Conjure-Oxide.
     
    \ No newline at end of file diff --git a/docs/src/conjure_oxide/utils/conjure.rs.html b/docs/src/conjure_oxide/utils/conjure.rs.html index a57f7d694f..5865fd201d 100644 --- a/docs/src/conjure_oxide/utils/conjure.rs.html +++ b/docs/src/conjure_oxide/utils/conjure.rs.html @@ -1,4 +1,4 @@ -conjure.rs - source
    1
    +conjure.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_oxide/utils/json.rs.html b/docs/src/conjure_oxide/utils/json.rs.html
    index 522ec85541..f2b3982c5e 100644
    --- a/docs/src/conjure_oxide/utils/json.rs.html
    +++ b/docs/src/conjure_oxide/utils/json.rs.html
    @@ -1,4 +1,4 @@
    -json.rs - source
    1
    +json.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_oxide/utils/misc.rs.html b/docs/src/conjure_oxide/utils/misc.rs.html
    index c3588401e0..d08bc8d818 100644
    --- a/docs/src/conjure_oxide/utils/misc.rs.html
    +++ b/docs/src/conjure_oxide/utils/misc.rs.html
    @@ -1,4 +1,4 @@
    -misc.rs - source
    1
    +misc.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_oxide/utils/mod.rs.html b/docs/src/conjure_oxide/utils/mod.rs.html
    index 884df04ae5..813ae0ced0 100644
    --- a/docs/src/conjure_oxide/utils/mod.rs.html
    +++ b/docs/src/conjure_oxide/utils/mod.rs.html
    @@ -1,4 +1,4 @@
    -mod.rs - source
    1
    +mod.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/conjure_oxide/utils/testing.rs.html b/docs/src/conjure_oxide/utils/testing.rs.html
    index 3575ddff57..ce338bab81 100644
    --- a/docs/src/conjure_oxide/utils/testing.rs.html
    +++ b/docs/src/conjure_oxide/utils/testing.rs.html
    @@ -1,4 +1,4 @@
    -testing.rs - source
    1
    +testing.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/enum_compatability_macro/lib.rs.html b/docs/src/enum_compatability_macro/lib.rs.html
    index 81e7ece889..12bdade01e 100644
    --- a/docs/src/enum_compatability_macro/lib.rs.html
    +++ b/docs/src/enum_compatability_macro/lib.rs.html
    @@ -1,4 +1,4 @@
    -lib.rs - source
    1
    +lib.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/minion_rs/ast.rs.html b/docs/src/minion_rs/ast.rs.html
    index b774883174..d98460e3f5 100644
    --- a/docs/src/minion_rs/ast.rs.html
    +++ b/docs/src/minion_rs/ast.rs.html
    @@ -1,4 +1,4 @@
    -ast.rs - source
    1
    +ast.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/minion_rs/error.rs.html b/docs/src/minion_rs/error.rs.html
    index 4fdeb1fe91..59018b636d 100644
    --- a/docs/src/minion_rs/error.rs.html
    +++ b/docs/src/minion_rs/error.rs.html
    @@ -1,4 +1,4 @@
    -error.rs - source
    1
    +error.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/minion_rs/ffi.rs.html b/docs/src/minion_rs/ffi.rs.html
    index c09e723ce0..c4fe1381a1 100644
    --- a/docs/src/minion_rs/ffi.rs.html
    +++ b/docs/src/minion_rs/ffi.rs.html
    @@ -1,4 +1,4 @@
    -ffi.rs - source
    1
    +ffi.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/minion_rs/lib.rs.html b/docs/src/minion_rs/lib.rs.html
    index ce5f6d808b..468d216224 100644
    --- a/docs/src/minion_rs/lib.rs.html
    +++ b/docs/src/minion_rs/lib.rs.html
    @@ -1,4 +1,4 @@
    -lib.rs - source
    1
    +lib.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/minion_rs/run.rs.html b/docs/src/minion_rs/run.rs.html
    index ce45b62469..d372c812fc 100644
    --- a/docs/src/minion_rs/run.rs.html
    +++ b/docs/src/minion_rs/run.rs.html
    @@ -1,4 +1,4 @@
    -run.rs - source
    1
    +run.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/minion_rs/scoped_ptr.rs.html b/docs/src/minion_rs/scoped_ptr.rs.html
    index 91ae3584ed..2290bd274c 100644
    --- a/docs/src/minion_rs/scoped_ptr.rs.html
    +++ b/docs/src/minion_rs/scoped_ptr.rs.html
    @@ -1,4 +1,4 @@
    -scoped_ptr.rs - source
    1
    +scoped_ptr.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/minion_rs/wrappers.rs.html b/docs/src/minion_rs/wrappers.rs.html
    index 70e96586a4..c0ed3f669d 100644
    --- a/docs/src/minion_rs/wrappers.rs.html
    +++ b/docs/src/minion_rs/wrappers.rs.html
    @@ -1,4 +1,4 @@
    -wrappers.rs - source
    1
    +wrappers.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/uniplate/biplate.rs.html b/docs/src/uniplate/biplate.rs.html
    index 149a005ca1..0f43e036a1 100644
    --- a/docs/src/uniplate/biplate.rs.html
    +++ b/docs/src/uniplate/biplate.rs.html
    @@ -1,4 +1,4 @@
    -biplate.rs - source
    1
    +biplate.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/uniplate/lib.rs.html b/docs/src/uniplate/lib.rs.html
    index 03cd40dc35..243ddec537 100644
    --- a/docs/src/uniplate/lib.rs.html
    +++ b/docs/src/uniplate/lib.rs.html
    @@ -1,4 +1,4 @@
    -lib.rs - source
    1
    +lib.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/uniplate/test_common/mod.rs.html b/docs/src/uniplate/test_common/mod.rs.html
    index 49120e4cf6..d15356eda1 100644
    --- a/docs/src/uniplate/test_common/mod.rs.html
    +++ b/docs/src/uniplate/test_common/mod.rs.html
    @@ -1,3 +1,3 @@
    -mod.rs - source
    1
    +mod.rs - source
    1
     
    pub mod paper;
     
    \ No newline at end of file diff --git a/docs/src/uniplate/test_common/paper.rs.html b/docs/src/uniplate/test_common/paper.rs.html index dbc29d8cb5..c8fdff0ba1 100644 --- a/docs/src/uniplate/test_common/paper.rs.html +++ b/docs/src/uniplate/test_common/paper.rs.html @@ -1,4 +1,4 @@ -paper.rs - source
    1
    +paper.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/uniplate/tree.rs.html b/docs/src/uniplate/tree.rs.html
    index dd6c89adf7..fb981219aa 100644
    --- a/docs/src/uniplate/tree.rs.html
    +++ b/docs/src/uniplate/tree.rs.html
    @@ -1,4 +1,4 @@
    -tree.rs - source
    1
    +tree.rs - source
    1
     2
     3
     4
    diff --git a/docs/src/uniplate/uniplate.rs.html b/docs/src/uniplate/uniplate.rs.html
    index 2de71a5da9..c55e2090d4 100644
    --- a/docs/src/uniplate/uniplate.rs.html
    +++ b/docs/src/uniplate/uniplate.rs.html
    @@ -1,4 +1,4 @@
    -uniplate.rs - source
    1
    +uniplate.rs - source
    1
     2
     3
     4
    diff --git a/docs/static.files/noscript-09095024cf37855e.css b/docs/static.files/noscript-09095024cf37855e.css
    deleted file mode 100644
    index 59786941f9..0000000000
    --- a/docs/static.files/noscript-09095024cf37855e.css
    +++ /dev/null
    @@ -1 +0,0 @@
    - #main-content .attributes{margin-left:0 !important;}#copy-path,#sidebar-button,.sidebar-resizer{display:none !important;}nav.sub{display:none;}.src .sidebar{display:none;}.notable-traits{display:none;}:root,:root:not([data-theme]){--main-background-color:white;--main-color:black;--settings-input-color:#2196f3;--settings-input-border-color:#717171;--settings-button-color:#000;--settings-button-border-focus:#717171;--sidebar-background-color:#f5f5f5;--sidebar-background-color-hover:#e0e0e0;--code-block-background-color:#f5f5f5;--scrollbar-track-background-color:#dcdcdc;--scrollbar-thumb-background-color:rgba(36,37,39,0.6);--scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;--headings-border-bottom-color:#ddd;--border-color:#e0e0e0;--button-background-color:#fff;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:none;--mobile-sidebar-menu-filter:none;--search-input-focused-border-color:#66afe9;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(35%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ad378a;--trait-link-color:#6e4fc9;--assoc-item-link-color:#3873ad;--function-link-color:#ad7c37;--macro-link-color:#068000;--keyword-link-color:#3873ad;--mod-link-color:#3873ad;--link-color:#3873ad;--sidebar-link-color:#356da4;--sidebar-current-link-background-color:#fff;--search-result-link-focus-background-color:#ccc;--search-result-border-color:#aaa3;--search-color:#000;--search-error-code-background-color:#d0cccc;--search-results-alias-color:#000;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#e6e6e6;--search-tab-button-not-selected-background:#e6e6e6;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#fff;--stab-background-color:#fff5d6;--stab-code-color:#000;--code-highlight-kw-color:#8959a8;--code-highlight-kw-2-color:#4271ae;--code-highlight-lifetime-color:#b76514;--code-highlight-prelude-color:#4271ae;--code-highlight-prelude-val-color:#c82829;--code-highlight-number-color:#718c00;--code-highlight-string-color:#718c00;--code-highlight-literal-color:#c82829;--code-highlight-attribute-color:#c82829;--code-highlight-self-color:#c82829;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8e908c;--code-highlight-doc-comment-color:#4d4d4c;--src-line-numbers-span-color:#c67e2d;--src-line-number-highlighted-background-color:#fdffd3;--test-arrow-color:#f5f5f5;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#f5f5f5;--test-arrow-hover-background-color:rgb(78,139,202);--target-background-color:#fdffd3;--target-border-color:#ad7c37;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:initial;--crate-search-div-filter:invert(100%) sepia(0%) saturate(4223%) hue-rotate(289deg) brightness(114%) contrast(76%);--crate-search-div-hover-filter:invert(44%) sepia(18%) saturate(23%) hue-rotate(317deg) brightness(96%) contrast(93%);--crate-search-hover-border:#717171;--src-sidebar-background-selected:#fff;--src-sidebar-background-hover:#e0e0e0;--table-alt-row-background-color:#f5f5f5;--codeblock-link-background:#eee;--scrape-example-toggle-line-background:#ccc;--scrape-example-toggle-line-hover-background:#999;--scrape-example-code-line-highlight:#fcffd6;--scrape-example-code-line-highlight-focus:#f6fdb0;--scrape-example-help-border-color:#555;--scrape-example-help-color:#333;--scrape-example-help-hover-border-color:#000;--scrape-example-help-hover-color:#000;--scrape-example-code-wrapper-background-start:rgba(255,255,255,1);--scrape-example-code-wrapper-background-end:rgba(255,255,255,0);--sidebar-resizer-hover:hsl(207,90%,66%);--sidebar-resizer-active:hsl(207,90%,54%);}@media (prefers-color-scheme:dark){:root,:root:not([data-theme]){--main-background-color:#353535;--main-color:#ddd;--settings-input-color:#2196f3;--settings-input-border-color:#999;--settings-button-color:#000;--settings-button-border-focus:#ffb900;--sidebar-background-color:#505050;--sidebar-background-color-hover:#676767;--code-block-background-color:#2A2A2A;--scrollbar-track-background-color:#717171;--scrollbar-thumb-background-color:rgba(32,34,37,.6);--scrollbar-color:rgba(32,34,37,.6) #5a5a5a;--headings-border-bottom-color:#d2d2d2;--border-color:#e0e0e0;--button-background-color:#f0f0f0;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--mobile-sidebar-menu-filter:invert(100%);--search-input-focused-border-color:#008dfd;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(65%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#2dbfb8;--trait-link-color:#b78cf2;--assoc-item-link-color:#d2991d;--function-link-color:#2bab63;--macro-link-color:#09bd00;--keyword-link-color:#d2991d;--mod-link-color:#d2991d;--link-color:#d2991d;--sidebar-link-color:#fdbf35;--sidebar-current-link-background-color:#444;--search-result-link-focus-background-color:#616161;--search-result-border-color:#aaa3;--search-color:#111;--search-error-code-background-color:#484848;--search-results-alias-color:#fff;--search-results-grey-color:#ccc;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#252525;--search-tab-button-not-selected-background:#252525;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#353535;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ab8ac1;--code-highlight-kw-2-color:#769acb;--code-highlight-lifetime-color:#d97f26;--code-highlight-prelude-color:#769acb;--code-highlight-prelude-val-color:#ee6868;--code-highlight-number-color:#83a300;--code-highlight-string-color:#83a300;--code-highlight-literal-color:#ee6868;--code-highlight-attribute-color:#ee6868;--code-highlight-self-color:#ee6868;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8d8d8b;--code-highlight-doc-comment-color:#8ca375;--src-line-numbers-span-color:#3b91e2;--src-line-number-highlighted-background-color:#0a042f;--test-arrow-color:#dedede;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#dedede;--test-arrow-hover-background-color:#4e8bca;--target-background-color:#494a3d;--target-border-color:#bb7410;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(94%) sepia(0%) saturate(721%) hue-rotate(255deg) brightness(90%) contrast(90%);--crate-search-div-hover-filter:invert(69%) sepia(60%) saturate(6613%) hue-rotate(184deg) brightness(100%) contrast(91%);--crate-search-hover-border:#2196f3;--src-sidebar-background-selected:#333;--src-sidebar-background-hover:#444;--table-alt-row-background-color:#2a2a2a;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(53,53,53,1);--scrape-example-code-wrapper-background-end:rgba(53,53,53,0);--sidebar-resizer-hover:hsl(207,30%,54%);--sidebar-resizer-active:hsl(207,90%,54%);}}
    \ No newline at end of file
    diff --git a/docs/static.files/noscript-df360f571f6edeae.css b/docs/static.files/noscript-df360f571f6edeae.css
    new file mode 100644
    index 0000000000..4c310ae529
    --- /dev/null
    +++ b/docs/static.files/noscript-df360f571f6edeae.css
    @@ -0,0 +1 @@
    + #main-content .attributes{margin-left:0 !important;}#copy-path,#sidebar-button,.sidebar-resizer{display:none !important;}nav.sub{display:none;}.src .sidebar{display:none;}.notable-traits{display:none;}:root,:root:not([data-theme]){--main-background-color:white;--main-color:black;--settings-input-color:#2196f3;--settings-input-border-color:#717171;--settings-button-color:#000;--settings-button-border-focus:#717171;--sidebar-background-color:#f5f5f5;--sidebar-background-color-hover:#e0e0e0;--code-block-background-color:#f5f5f5;--scrollbar-track-background-color:#dcdcdc;--scrollbar-thumb-background-color:rgba(36,37,39,0.6);--scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;--headings-border-bottom-color:#ddd;--border-color:#e0e0e0;--button-background-color:#fff;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:none;--mobile-sidebar-menu-filter:none;--search-input-focused-border-color:#66afe9;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(35%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ad378a;--trait-link-color:#6e4fc9;--assoc-item-link-color:#3873ad;--function-link-color:#ad7c37;--macro-link-color:#068000;--keyword-link-color:#3873ad;--mod-link-color:#3873ad;--link-color:#3873ad;--sidebar-link-color:#356da4;--sidebar-current-link-background-color:#fff;--search-result-link-focus-background-color:#ccc;--search-result-border-color:#aaa3;--search-color:#000;--search-error-code-background-color:#d0cccc;--search-results-alias-color:#000;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#e6e6e6;--search-tab-button-not-selected-background:#e6e6e6;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#fff;--settings-menu-filter:none;--stab-background-color:#fff5d6;--stab-code-color:#000;--code-highlight-kw-color:#8959a8;--code-highlight-kw-2-color:#4271ae;--code-highlight-lifetime-color:#b76514;--code-highlight-prelude-color:#4271ae;--code-highlight-prelude-val-color:#c82829;--code-highlight-number-color:#718c00;--code-highlight-string-color:#718c00;--code-highlight-literal-color:#c82829;--code-highlight-attribute-color:#c82829;--code-highlight-self-color:#c82829;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8e908c;--code-highlight-doc-comment-color:#4d4d4c;--src-line-numbers-span-color:#c67e2d;--src-line-number-highlighted-background-color:#fdffd3;--test-arrow-color:#f5f5f5;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#f5f5f5;--test-arrow-hover-background-color:rgb(78,139,202);--target-background-color:#fdffd3;--target-border-color:#ad7c37;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:initial;--crate-search-div-filter:invert(100%) sepia(0%) saturate(4223%) hue-rotate(289deg) brightness(114%) contrast(76%);--crate-search-div-hover-filter:invert(44%) sepia(18%) saturate(23%) hue-rotate(317deg) brightness(96%) contrast(93%);--crate-search-hover-border:#717171;--src-sidebar-background-selected:#fff;--src-sidebar-background-hover:#e0e0e0;--table-alt-row-background-color:#f5f5f5;--codeblock-link-background:#eee;--scrape-example-toggle-line-background:#ccc;--scrape-example-toggle-line-hover-background:#999;--scrape-example-code-line-highlight:#fcffd6;--scrape-example-code-line-highlight-focus:#f6fdb0;--scrape-example-help-border-color:#555;--scrape-example-help-color:#333;--scrape-example-help-hover-border-color:#000;--scrape-example-help-hover-color:#000;--scrape-example-code-wrapper-background-start:rgba(255,255,255,1);--scrape-example-code-wrapper-background-end:rgba(255,255,255,0);--sidebar-resizer-hover:hsl(207,90%,66%);--sidebar-resizer-active:hsl(207,90%,54%);}@media (prefers-color-scheme:dark){:root,:root:not([data-theme]){--main-background-color:#353535;--main-color:#ddd;--settings-input-color:#2196f3;--settings-input-border-color:#999;--settings-button-color:#000;--settings-button-border-focus:#ffb900;--sidebar-background-color:#505050;--sidebar-background-color-hover:#676767;--code-block-background-color:#2A2A2A;--scrollbar-track-background-color:#717171;--scrollbar-thumb-background-color:rgba(32,34,37,.6);--scrollbar-color:rgba(32,34,37,.6) #5a5a5a;--headings-border-bottom-color:#d2d2d2;--border-color:#e0e0e0;--button-background-color:#f0f0f0;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--mobile-sidebar-menu-filter:invert(100%);--search-input-focused-border-color:#008dfd;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(65%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#2dbfb8;--trait-link-color:#b78cf2;--assoc-item-link-color:#d2991d;--function-link-color:#2bab63;--macro-link-color:#09bd00;--keyword-link-color:#d2991d;--mod-link-color:#d2991d;--link-color:#d2991d;--sidebar-link-color:#fdbf35;--sidebar-current-link-background-color:#444;--search-result-link-focus-background-color:#616161;--search-result-border-color:#aaa3;--search-color:#111;--search-error-code-background-color:#484848;--search-results-alias-color:#fff;--search-results-grey-color:#ccc;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#252525;--search-tab-button-not-selected-background:#252525;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#353535;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ab8ac1;--code-highlight-kw-2-color:#769acb;--code-highlight-lifetime-color:#d97f26;--code-highlight-prelude-color:#769acb;--code-highlight-prelude-val-color:#ee6868;--code-highlight-number-color:#83a300;--code-highlight-string-color:#83a300;--code-highlight-literal-color:#ee6868;--code-highlight-attribute-color:#ee6868;--code-highlight-self-color:#ee6868;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8d8d8b;--code-highlight-doc-comment-color:#8ca375;--src-line-numbers-span-color:#3b91e2;--src-line-number-highlighted-background-color:#0a042f;--test-arrow-color:#dedede;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#dedede;--test-arrow-hover-background-color:#4e8bca;--target-background-color:#494a3d;--target-border-color:#bb7410;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(94%) sepia(0%) saturate(721%) hue-rotate(255deg) brightness(90%) contrast(90%);--crate-search-div-hover-filter:invert(69%) sepia(60%) saturate(6613%) hue-rotate(184deg) brightness(100%) contrast(91%);--crate-search-hover-border:#2196f3;--src-sidebar-background-selected:#333;--src-sidebar-background-hover:#444;--table-alt-row-background-color:#2a2a2a;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(53,53,53,1);--scrape-example-code-wrapper-background-end:rgba(53,53,53,0);--sidebar-resizer-hover:hsl(207,30%,54%);--sidebar-resizer-active:hsl(207,90%,54%);}}
    \ No newline at end of file
    diff --git a/docs/static.files/rustdoc-b21aa549bf6d91ff.css b/docs/static.files/rustdoc-dd39b87e5fcfba68.css
    similarity index 76%
    rename from docs/static.files/rustdoc-b21aa549bf6d91ff.css
    rename to docs/static.files/rustdoc-dd39b87e5fcfba68.css
    index b0c4e1b6b8..77f8983224 100644
    --- a/docs/static.files/rustdoc-b21aa549bf6d91ff.css
    +++ b/docs/static.files/rustdoc-dd39b87e5fcfba68.css
    @@ -15,7 +15,7 @@
     	L4.75,12h2.5l0.5393066-2.1572876  c0.2276001-0.1062012,0.4459839-0.2269287,0.6494751\
     	-0.3701782l2.1323853,0.6099854l1.25-2.1650391L10.2133789,6.362915  C10.2238159,6.241333,\
     	10.25,6.1243286,10.25,6z M6,7.5C5.1715698,7.5,4.5,6.8284302,4.5,6S5.1715698,4.5,6,4.5S7.5\
    -	,5.1715698,7.5,6  S6.8284302,7.5,6,7.5z" fill="black"/>');width:22px;height:22px;}#sidebar-button>a:before{content:url('data:image/svg+xml,');width:22px;height:22px;filter:var(--settings-menu-filter);}#sidebar-button>a:before{content:url('data:image/svg+xml,\
     		\
     		\
    @@ -43,4 +43,4 @@ d="M5 2.5H2.5v12H5m7-12h2.5v12H12M5 8.5h7"/>') no-repeat top left;}details
     			viewBox="0 0 22 22" fill="none" stroke="black">\
     			\
     			\
    -			');width:22px;height:22px;}.sidebar-menu-toggle:before{filter:var(--mobile-sidebar-menu-filter);}.sidebar-menu-toggle:hover{background:var(--main-background-color);}.item-table,.item-row,.item-table>li,.item-table>li>div,.search-results>a,.search-results>a>div{display:block;}.search-results>a{padding:5px 0px;}.search-results>a>div.desc,.item-table>li>div.desc{padding-left:2em;}.search-results .result-name{display:block;}.search-results .result-name .typename{width:initial;margin-right:0;}.search-results .result-name .typename,.search-results .result-name .path{display:inline;}.src-sidebar-expanded .src .sidebar{position:fixed;max-width:100vw;width:100vw;}.src .src-sidebar-title{padding-top:0;}details.toggle:not(.top-doc)>summary{margin-left:10px;}.impl-items>details.toggle>summary:not(.hideme)::before,#main-content>details.toggle:not(.top-doc)>summary::before,#main-content>div>details.toggle>summary::before{left:-11px;}.impl-items>.item-info{margin-left:34px;}.src nav.sub{margin:0;padding:var(--nav-sub-mobile-padding);}}@media (min-width:701px){.scraped-example-title{position:absolute;z-index:10;background:var(--main-background-color);bottom:8px;right:5px;padding:2px 4px;box-shadow:0 0 4px var(--main-background-color);}}@media print{nav.sidebar,nav.sub,.out-of-band,a.src,#copy-path,details.toggle[open] >summary::before,details.toggle>summary::before,details.toggle.top-doc>summary{display:none;}.docblock{margin-left:0;}main{padding:10px;}}@media (max-width:464px){.docblock{margin-left:12px;}.docblock code{overflow-wrap:break-word;overflow-wrap:anywhere;}nav.sub{flex-direction:column;}.search-form{align-self:stretch;}}.variant,.implementors-toggle>summary,.impl,#implementors-list>.docblock,.impl-items>section,.impl-items>.toggle>summary,.methods>section,.methods>.toggle>summary{margin-bottom:0.75em;}.variants>.docblock,.implementors-toggle>.docblock,.impl-items>.toggle[open]:not(:last-child),.methods>.toggle[open]:not(:last-child),.implementors-toggle[open]:not(:last-child){margin-bottom:2em;}#trait-implementations-list .impl-items>.toggle:not(:last-child),#synthetic-implementations-list .impl-items>.toggle:not(:last-child),#blanket-implementations-list .impl-items>.toggle:not(:last-child){margin-bottom:1em;}.scraped-example-list .scrape-help{margin-left:10px;padding:0 4px;font-weight:normal;font-size:12px;position:relative;bottom:1px;border:1px solid var(--scrape-example-help-border-color);border-radius:50px;color:var(--scrape-example-help-color);}.scraped-example-list .scrape-help:hover{border-color:var(--scrape-example-help-hover-border-color);color:var(--scrape-example-help-hover-color);}.scraped-example{position:relative;}.scraped-example .code-wrapper{position:relative;display:flex;flex-direction:row;flex-wrap:wrap;width:100%;}.scraped-example:not(.expanded) .code-wrapper{max-height:calc(1.5em * 5 + 10px);}.scraped-example:not(.expanded) .code-wrapper pre{overflow-y:hidden;padding-bottom:0;max-height:calc(1.5em * 5 + 10px);}.more-scraped-examples .scraped-example:not(.expanded) .code-wrapper,.more-scraped-examples .scraped-example:not(.expanded) .code-wrapper pre{max-height:calc(1.5em * 10 + 10px);}.scraped-example .code-wrapper .next,.scraped-example .code-wrapper .prev,.scraped-example .code-wrapper .expand{color:var(--main-color);position:absolute;top:0.25em;z-index:1;padding:0;background:none;border:none;-webkit-appearance:none;opacity:1;}.scraped-example .code-wrapper .prev{right:2.25em;}.scraped-example .code-wrapper .next{right:1.25em;}.scraped-example .code-wrapper .expand{right:0.25em;}.scraped-example:not(.expanded) .code-wrapper::before,.scraped-example:not(.expanded) .code-wrapper::after{content:" ";width:100%;height:5px;position:absolute;z-index:1;}.scraped-example:not(.expanded) .code-wrapper::before{top:0;background:linear-gradient(to bottom,var(--scrape-example-code-wrapper-background-start),var(--scrape-example-code-wrapper-background-end));}.scraped-example:not(.expanded) .code-wrapper::after{bottom:0;background:linear-gradient(to top,var(--scrape-example-code-wrapper-background-start),var(--scrape-example-code-wrapper-background-end));}.scraped-example .code-wrapper .example-wrap{width:100%;overflow-y:hidden;margin-bottom:0;}.scraped-example:not(.expanded) .code-wrapper .example-wrap{overflow-x:hidden;}.scraped-example .example-wrap .rust span.highlight{background:var(--scrape-example-code-line-highlight);}.scraped-example .example-wrap .rust span.highlight.focus{background:var(--scrape-example-code-line-highlight-focus);}.more-examples-toggle{max-width:calc(100% + 25px);margin-top:10px;margin-left:-25px;}.more-examples-toggle .hide-more{margin-left:25px;cursor:pointer;}.more-scraped-examples{margin-left:25px;position:relative;}.toggle-line{position:absolute;top:5px;bottom:0;right:calc(100% + 10px);padding:0 4px;cursor:pointer;}.toggle-line-inner{min-width:2px;height:100%;background:var(--scrape-example-toggle-line-background);}.toggle-line:hover .toggle-line-inner{background:var(--scrape-example-toggle-line-hover-background);}.more-scraped-examples .scraped-example,.example-links{margin-top:20px;}.more-scraped-examples .scraped-example:first-child{margin-top:5px;}.example-links ul{margin-bottom:0;}:root[data-theme="light"],:root:not([data-theme]){--main-background-color:white;--main-color:black;--settings-input-color:#2196f3;--settings-input-border-color:#717171;--settings-button-color:#000;--settings-button-border-focus:#717171;--sidebar-background-color:#f5f5f5;--sidebar-background-color-hover:#e0e0e0;--code-block-background-color:#f5f5f5;--scrollbar-track-background-color:#dcdcdc;--scrollbar-thumb-background-color:rgba(36,37,39,0.6);--scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;--headings-border-bottom-color:#ddd;--border-color:#e0e0e0;--button-background-color:#fff;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:none;--mobile-sidebar-menu-filter:none;--search-input-focused-border-color:#66afe9;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(35%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ad378a;--trait-link-color:#6e4fc9;--assoc-item-link-color:#3873ad;--function-link-color:#ad7c37;--macro-link-color:#068000;--keyword-link-color:#3873ad;--mod-link-color:#3873ad;--link-color:#3873ad;--sidebar-link-color:#356da4;--sidebar-current-link-background-color:#fff;--search-result-link-focus-background-color:#ccc;--search-result-border-color:#aaa3;--search-color:#000;--search-error-code-background-color:#d0cccc;--search-results-alias-color:#000;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#e6e6e6;--search-tab-button-not-selected-background:#e6e6e6;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#fff;--stab-background-color:#fff5d6;--stab-code-color:#000;--code-highlight-kw-color:#8959a8;--code-highlight-kw-2-color:#4271ae;--code-highlight-lifetime-color:#b76514;--code-highlight-prelude-color:#4271ae;--code-highlight-prelude-val-color:#c82829;--code-highlight-number-color:#718c00;--code-highlight-string-color:#718c00;--code-highlight-literal-color:#c82829;--code-highlight-attribute-color:#c82829;--code-highlight-self-color:#c82829;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8e908c;--code-highlight-doc-comment-color:#4d4d4c;--src-line-numbers-span-color:#c67e2d;--src-line-number-highlighted-background-color:#fdffd3;--test-arrow-color:#f5f5f5;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#f5f5f5;--test-arrow-hover-background-color:rgb(78,139,202);--target-background-color:#fdffd3;--target-border-color:#ad7c37;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:initial;--crate-search-div-filter:invert(100%) sepia(0%) saturate(4223%) hue-rotate(289deg) brightness(114%) contrast(76%);--crate-search-div-hover-filter:invert(44%) sepia(18%) saturate(23%) hue-rotate(317deg) brightness(96%) contrast(93%);--crate-search-hover-border:#717171;--src-sidebar-background-selected:#fff;--src-sidebar-background-hover:#e0e0e0;--table-alt-row-background-color:#f5f5f5;--codeblock-link-background:#eee;--scrape-example-toggle-line-background:#ccc;--scrape-example-toggle-line-hover-background:#999;--scrape-example-code-line-highlight:#fcffd6;--scrape-example-code-line-highlight-focus:#f6fdb0;--scrape-example-help-border-color:#555;--scrape-example-help-color:#333;--scrape-example-help-hover-border-color:#000;--scrape-example-help-hover-color:#000;--scrape-example-code-wrapper-background-start:rgba(255,255,255,1);--scrape-example-code-wrapper-background-end:rgba(255,255,255,0);--sidebar-resizer-hover:hsl(207,90%,66%);--sidebar-resizer-active:hsl(207,90%,54%);}:root[data-theme="dark"]{--main-background-color:#353535;--main-color:#ddd;--settings-input-color:#2196f3;--settings-input-border-color:#999;--settings-button-color:#000;--settings-button-border-focus:#ffb900;--sidebar-background-color:#505050;--sidebar-background-color-hover:#676767;--code-block-background-color:#2A2A2A;--scrollbar-track-background-color:#717171;--scrollbar-thumb-background-color:rgba(32,34,37,.6);--scrollbar-color:rgba(32,34,37,.6) #5a5a5a;--headings-border-bottom-color:#d2d2d2;--border-color:#e0e0e0;--button-background-color:#f0f0f0;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--mobile-sidebar-menu-filter:invert(100%);--search-input-focused-border-color:#008dfd;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(65%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#2dbfb8;--trait-link-color:#b78cf2;--assoc-item-link-color:#d2991d;--function-link-color:#2bab63;--macro-link-color:#09bd00;--keyword-link-color:#d2991d;--mod-link-color:#d2991d;--link-color:#d2991d;--sidebar-link-color:#fdbf35;--sidebar-current-link-background-color:#444;--search-result-link-focus-background-color:#616161;--search-result-border-color:#aaa3;--search-color:#111;--search-error-code-background-color:#484848;--search-results-alias-color:#fff;--search-results-grey-color:#ccc;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#252525;--search-tab-button-not-selected-background:#252525;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#353535;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ab8ac1;--code-highlight-kw-2-color:#769acb;--code-highlight-lifetime-color:#d97f26;--code-highlight-prelude-color:#769acb;--code-highlight-prelude-val-color:#ee6868;--code-highlight-number-color:#83a300;--code-highlight-string-color:#83a300;--code-highlight-literal-color:#ee6868;--code-highlight-attribute-color:#ee6868;--code-highlight-self-color:#ee6868;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8d8d8b;--code-highlight-doc-comment-color:#8ca375;--src-line-numbers-span-color:#3b91e2;--src-line-number-highlighted-background-color:#0a042f;--test-arrow-color:#dedede;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#dedede;--test-arrow-hover-background-color:#4e8bca;--target-background-color:#494a3d;--target-border-color:#bb7410;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(94%) sepia(0%) saturate(721%) hue-rotate(255deg) brightness(90%) contrast(90%);--crate-search-div-hover-filter:invert(69%) sepia(60%) saturate(6613%) hue-rotate(184deg) brightness(100%) contrast(91%);--crate-search-hover-border:#2196f3;--src-sidebar-background-selected:#333;--src-sidebar-background-hover:#444;--table-alt-row-background-color:#2a2a2a;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(53,53,53,1);--scrape-example-code-wrapper-background-end:rgba(53,53,53,0);--sidebar-resizer-hover:hsl(207,30%,54%);--sidebar-resizer-active:hsl(207,90%,54%);}:root[data-theme="ayu"]{--main-background-color:#0f1419;--main-color:#c5c5c5;--settings-input-color:#ffb454;--settings-input-border-color:#999;--settings-button-color:#fff;--settings-button-border-focus:#e0e0e0;--sidebar-background-color:#14191f;--sidebar-background-color-hover:rgba(70,70,70,0.33);--code-block-background-color:#191f26;--scrollbar-track-background-color:transparent;--scrollbar-thumb-background-color:#5c6773;--scrollbar-color:#5c6773 #24292f;--headings-border-bottom-color:#5c6773;--border-color:#5c6773;--button-background-color:#141920;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--mobile-sidebar-menu-filter:invert(100%);--search-input-focused-border-color:#5c6773;--copy-path-button-color:#fff;--copy-path-img-filter:invert(70%);--copy-path-img-hover-filter:invert(100%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ffa0a5;--trait-link-color:#39afd7;--assoc-item-link-color:#39afd7;--function-link-color:#fdd687;--macro-link-color:#a37acc;--keyword-link-color:#39afd7;--mod-link-color:#39afd7;--link-color:#39afd7;--sidebar-link-color:#53b1db;--sidebar-current-link-background-color:transparent;--search-result-link-focus-background-color:#3c3c3c;--search-result-border-color:#aaa3;--search-color:#fff;--search-error-code-background-color:#4f4c4c;--search-results-alias-color:#c5c5c5;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:none;--search-tab-button-not-selected-background:transparent !important;--search-tab-button-selected-border-top-color:none;--search-tab-button-selected-background:#141920 !important;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ff7733;--code-highlight-kw-2-color:#ff7733;--code-highlight-lifetime-color:#ff7733;--code-highlight-prelude-color:#69f2df;--code-highlight-prelude-val-color:#ff7733;--code-highlight-number-color:#b8cc52;--code-highlight-string-color:#b8cc52;--code-highlight-literal-color:#ff7733;--code-highlight-attribute-color:#e6e1cf;--code-highlight-self-color:#36a3d9;--code-highlight-macro-color:#a37acc;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#788797;--code-highlight-doc-comment-color:#a1ac88;--src-line-numbers-span-color:#5c6773;--src-line-number-highlighted-background-color:rgba(255,236,164,0.06);--test-arrow-color:#788797;--test-arrow-background-color:rgba(57,175,215,0.09);--test-arrow-hover-color:#c5c5c5;--test-arrow-hover-background-color:rgba(57,175,215,0.368);--target-background-color:rgba(255,236,164,0.06);--target-border-color:rgba(255,180,76,0.85);--kbd-color:#c5c5c5;--kbd-background:#314559;--kbd-box-shadow-color:#5c6773;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(41%) sepia(12%) saturate(487%) hue-rotate(171deg) brightness(94%) contrast(94%);--crate-search-div-hover-filter:invert(98%) sepia(12%) saturate(81%) hue-rotate(343deg) brightness(113%) contrast(76%);--crate-search-hover-border:#e0e0e0;--src-sidebar-background-selected:#14191f;--src-sidebar-background-hover:#14191f;--table-alt-row-background-color:#191f26;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(15,20,25,1);--scrape-example-code-wrapper-background-end:rgba(15,20,25,0);--sidebar-resizer-hover:hsl(34,50%,33%);--sidebar-resizer-active:hsl(34,100%,66%);}:root[data-theme="ayu"] h1,:root[data-theme="ayu"] h2,:root[data-theme="ayu"] h3,:root[data-theme="ayu"] h4,:where(:root[data-theme="ayu"]) h1 a,:root[data-theme="ayu"] .sidebar h2 a,:root[data-theme="ayu"] .sidebar h3 a{color:#fff;}:root[data-theme="ayu"] .docblock code{color:#ffb454;}:root[data-theme="ayu"] .docblock a>code{color:#39AFD7 !important;}:root[data-theme="ayu"] .code-header,:root[data-theme="ayu"] .docblock pre>code,:root[data-theme="ayu"] pre,:root[data-theme="ayu"] pre>code,:root[data-theme="ayu"] .item-info code,:root[data-theme="ayu"] .rustdoc.source .example-wrap{color:#e6e1cf;}:root[data-theme="ayu"] .sidebar .current,:root[data-theme="ayu"] .sidebar .current a,:root[data-theme="ayu"] .sidebar a:hover,:root[data-theme="ayu"] #src-sidebar div.files>a:hover,:root[data-theme="ayu"] details.dir-entry summary:hover,:root[data-theme="ayu"] #src-sidebar div.files>a:focus,:root[data-theme="ayu"] details.dir-entry summary:focus,:root[data-theme="ayu"] #src-sidebar div.files>a.selected{color:#ffb44c;}:root[data-theme="ayu"] .sidebar-elems .location{color:#ff7733;}:root[data-theme="ayu"] .src-line-numbers .line-highlighted{color:#708090;padding-right:7px;border-right:1px solid #ffb44c;}:root[data-theme="ayu"] .search-results a:hover,:root[data-theme="ayu"] .search-results a:focus{color:#fff !important;background-color:#3c3c3c;}:root[data-theme="ayu"] .search-results a{color:#0096cf;}:root[data-theme="ayu"] .search-results a div.desc{color:#c5c5c5;}:root[data-theme="ayu"] .result-name .primitive>i,:root[data-theme="ayu"] .result-name .keyword>i{color:#788797;}:root[data-theme="ayu"] #search-tabs>button.selected{border-bottom:1px solid #ffb44c !important;border-top:none;}:root[data-theme="ayu"] #search-tabs>button:not(.selected){border:none;background-color:transparent !important;}:root[data-theme="ayu"] #search-tabs>button:hover{border-bottom:1px solid rgba(242,151,24,0.3);}:root[data-theme="ayu"] #settings-menu>a img,:root[data-theme="ayu"] #sidebar-button>a:before{filter:invert(100);}
    \ No newline at end of file
    +			');width:22px;height:22px;}.sidebar-menu-toggle:before{filter:var(--mobile-sidebar-menu-filter);}.sidebar-menu-toggle:hover{background:var(--main-background-color);}.item-table,.item-row,.item-table>li,.item-table>li>div,.search-results>a,.search-results>a>div{display:block;}.search-results>a{padding:5px 0px;}.search-results>a>div.desc,.item-table>li>div.desc{padding-left:2em;}.search-results .result-name{display:block;}.search-results .result-name .typename{width:initial;margin-right:0;}.search-results .result-name .typename,.search-results .result-name .path{display:inline;}.src-sidebar-expanded .src .sidebar{position:fixed;max-width:100vw;width:100vw;}.src .src-sidebar-title{padding-top:0;}details.toggle:not(.top-doc)>summary{margin-left:10px;}.impl-items>details.toggle>summary:not(.hideme)::before,#main-content>details.toggle:not(.top-doc)>summary::before,#main-content>div>details.toggle>summary::before{left:-11px;}.impl-items>.item-info{margin-left:34px;}.src nav.sub{margin:0;padding:var(--nav-sub-mobile-padding);}}@media (min-width:701px){.scraped-example-title{position:absolute;z-index:10;background:var(--main-background-color);bottom:8px;right:5px;padding:2px 4px;box-shadow:0 0 4px var(--main-background-color);}}@media print{nav.sidebar,nav.sub,.out-of-band,a.src,#copy-path,details.toggle[open] >summary::before,details.toggle>summary::before,details.toggle.top-doc>summary{display:none;}.docblock{margin-left:0;}main{padding:10px;}}@media (max-width:464px){.docblock{margin-left:12px;}.docblock code{overflow-wrap:break-word;overflow-wrap:anywhere;}nav.sub{flex-direction:column;}.search-form{align-self:stretch;}}.variant,.implementors-toggle>summary,.impl,#implementors-list>.docblock,.impl-items>section,.impl-items>.toggle>summary,.methods>section,.methods>.toggle>summary{margin-bottom:0.75em;}.variants>.docblock,.implementors-toggle>.docblock,.impl-items>.toggle[open]:not(:last-child),.methods>.toggle[open]:not(:last-child),.implementors-toggle[open]:not(:last-child){margin-bottom:2em;}#trait-implementations-list .impl-items>.toggle:not(:last-child),#synthetic-implementations-list .impl-items>.toggle:not(:last-child),#blanket-implementations-list .impl-items>.toggle:not(:last-child){margin-bottom:1em;}.scraped-example-list .scrape-help{margin-left:10px;padding:0 4px;font-weight:normal;font-size:12px;position:relative;bottom:1px;border:1px solid var(--scrape-example-help-border-color);border-radius:50px;color:var(--scrape-example-help-color);}.scraped-example-list .scrape-help:hover{border-color:var(--scrape-example-help-hover-border-color);color:var(--scrape-example-help-hover-color);}.scraped-example{position:relative;}.scraped-example .code-wrapper{position:relative;display:flex;flex-direction:row;flex-wrap:wrap;width:100%;}.scraped-example:not(.expanded) .code-wrapper{max-height:calc(1.5em * 5 + 10px);}.scraped-example:not(.expanded) .code-wrapper pre{overflow-y:hidden;padding-bottom:0;max-height:calc(1.5em * 5 + 10px);}.more-scraped-examples .scraped-example:not(.expanded) .code-wrapper,.more-scraped-examples .scraped-example:not(.expanded) .code-wrapper pre{max-height:calc(1.5em * 10 + 10px);}.scraped-example .code-wrapper .next,.scraped-example .code-wrapper .prev,.scraped-example .code-wrapper .expand{color:var(--main-color);position:absolute;top:0.25em;z-index:1;padding:0;background:none;border:none;-webkit-appearance:none;opacity:1;}.scraped-example .code-wrapper .prev{right:2.25em;}.scraped-example .code-wrapper .next{right:1.25em;}.scraped-example .code-wrapper .expand{right:0.25em;}.scraped-example:not(.expanded) .code-wrapper::before,.scraped-example:not(.expanded) .code-wrapper::after{content:" ";width:100%;height:5px;position:absolute;z-index:1;}.scraped-example:not(.expanded) .code-wrapper::before{top:0;background:linear-gradient(to bottom,var(--scrape-example-code-wrapper-background-start),var(--scrape-example-code-wrapper-background-end));}.scraped-example:not(.expanded) .code-wrapper::after{bottom:0;background:linear-gradient(to top,var(--scrape-example-code-wrapper-background-start),var(--scrape-example-code-wrapper-background-end));}.scraped-example .code-wrapper .example-wrap{width:100%;overflow-y:hidden;margin-bottom:0;}.scraped-example:not(.expanded) .code-wrapper .example-wrap{overflow-x:hidden;}.scraped-example .example-wrap .rust span.highlight{background:var(--scrape-example-code-line-highlight);}.scraped-example .example-wrap .rust span.highlight.focus{background:var(--scrape-example-code-line-highlight-focus);}.more-examples-toggle{max-width:calc(100% + 25px);margin-top:10px;margin-left:-25px;}.more-examples-toggle .hide-more{margin-left:25px;cursor:pointer;}.more-scraped-examples{margin-left:25px;position:relative;}.toggle-line{position:absolute;top:5px;bottom:0;right:calc(100% + 10px);padding:0 4px;cursor:pointer;}.toggle-line-inner{min-width:2px;height:100%;background:var(--scrape-example-toggle-line-background);}.toggle-line:hover .toggle-line-inner{background:var(--scrape-example-toggle-line-hover-background);}.more-scraped-examples .scraped-example,.example-links{margin-top:20px;}.more-scraped-examples .scraped-example:first-child{margin-top:5px;}.example-links ul{margin-bottom:0;}:root[data-theme="light"],:root:not([data-theme]){--main-background-color:white;--main-color:black;--settings-input-color:#2196f3;--settings-input-border-color:#717171;--settings-button-color:#000;--settings-button-border-focus:#717171;--sidebar-background-color:#f5f5f5;--sidebar-background-color-hover:#e0e0e0;--code-block-background-color:#f5f5f5;--scrollbar-track-background-color:#dcdcdc;--scrollbar-thumb-background-color:rgba(36,37,39,0.6);--scrollbar-color:rgba(36,37,39,0.6) #d9d9d9;--headings-border-bottom-color:#ddd;--border-color:#e0e0e0;--button-background-color:#fff;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:none;--mobile-sidebar-menu-filter:none;--search-input-focused-border-color:#66afe9;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(35%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ad378a;--trait-link-color:#6e4fc9;--assoc-item-link-color:#3873ad;--function-link-color:#ad7c37;--macro-link-color:#068000;--keyword-link-color:#3873ad;--mod-link-color:#3873ad;--link-color:#3873ad;--sidebar-link-color:#356da4;--sidebar-current-link-background-color:#fff;--search-result-link-focus-background-color:#ccc;--search-result-border-color:#aaa3;--search-color:#000;--search-error-code-background-color:#d0cccc;--search-results-alias-color:#000;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#e6e6e6;--search-tab-button-not-selected-background:#e6e6e6;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#fff;--settings-menu-filter:none;--stab-background-color:#fff5d6;--stab-code-color:#000;--code-highlight-kw-color:#8959a8;--code-highlight-kw-2-color:#4271ae;--code-highlight-lifetime-color:#b76514;--code-highlight-prelude-color:#4271ae;--code-highlight-prelude-val-color:#c82829;--code-highlight-number-color:#718c00;--code-highlight-string-color:#718c00;--code-highlight-literal-color:#c82829;--code-highlight-attribute-color:#c82829;--code-highlight-self-color:#c82829;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8e908c;--code-highlight-doc-comment-color:#4d4d4c;--src-line-numbers-span-color:#c67e2d;--src-line-number-highlighted-background-color:#fdffd3;--test-arrow-color:#f5f5f5;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#f5f5f5;--test-arrow-hover-background-color:rgb(78,139,202);--target-background-color:#fdffd3;--target-border-color:#ad7c37;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:initial;--crate-search-div-filter:invert(100%) sepia(0%) saturate(4223%) hue-rotate(289deg) brightness(114%) contrast(76%);--crate-search-div-hover-filter:invert(44%) sepia(18%) saturate(23%) hue-rotate(317deg) brightness(96%) contrast(93%);--crate-search-hover-border:#717171;--src-sidebar-background-selected:#fff;--src-sidebar-background-hover:#e0e0e0;--table-alt-row-background-color:#f5f5f5;--codeblock-link-background:#eee;--scrape-example-toggle-line-background:#ccc;--scrape-example-toggle-line-hover-background:#999;--scrape-example-code-line-highlight:#fcffd6;--scrape-example-code-line-highlight-focus:#f6fdb0;--scrape-example-help-border-color:#555;--scrape-example-help-color:#333;--scrape-example-help-hover-border-color:#000;--scrape-example-help-hover-color:#000;--scrape-example-code-wrapper-background-start:rgba(255,255,255,1);--scrape-example-code-wrapper-background-end:rgba(255,255,255,0);--sidebar-resizer-hover:hsl(207,90%,66%);--sidebar-resizer-active:hsl(207,90%,54%);}:root[data-theme="dark"]{--main-background-color:#353535;--main-color:#ddd;--settings-input-color:#2196f3;--settings-input-border-color:#999;--settings-button-color:#000;--settings-button-border-focus:#ffb900;--sidebar-background-color:#505050;--sidebar-background-color-hover:#676767;--code-block-background-color:#2A2A2A;--scrollbar-track-background-color:#717171;--scrollbar-thumb-background-color:rgba(32,34,37,.6);--scrollbar-color:rgba(32,34,37,.6) #5a5a5a;--headings-border-bottom-color:#d2d2d2;--border-color:#e0e0e0;--button-background-color:#f0f0f0;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--mobile-sidebar-menu-filter:invert(100%);--search-input-focused-border-color:#008dfd;--copy-path-button-color:#999;--copy-path-img-filter:invert(50%);--copy-path-img-hover-filter:invert(65%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#2dbfb8;--trait-link-color:#b78cf2;--assoc-item-link-color:#d2991d;--function-link-color:#2bab63;--macro-link-color:#09bd00;--keyword-link-color:#d2991d;--mod-link-color:#d2991d;--link-color:#d2991d;--sidebar-link-color:#fdbf35;--sidebar-current-link-background-color:#444;--search-result-link-focus-background-color:#616161;--search-result-border-color:#aaa3;--search-color:#111;--search-error-code-background-color:#484848;--search-results-alias-color:#fff;--search-results-grey-color:#ccc;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:#252525;--search-tab-button-not-selected-background:#252525;--search-tab-button-selected-border-top-color:#0089ff;--search-tab-button-selected-background:#353535;--settings-menu-filter:none;--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ab8ac1;--code-highlight-kw-2-color:#769acb;--code-highlight-lifetime-color:#d97f26;--code-highlight-prelude-color:#769acb;--code-highlight-prelude-val-color:#ee6868;--code-highlight-number-color:#83a300;--code-highlight-string-color:#83a300;--code-highlight-literal-color:#ee6868;--code-highlight-attribute-color:#ee6868;--code-highlight-self-color:#ee6868;--code-highlight-macro-color:#3e999f;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#8d8d8b;--code-highlight-doc-comment-color:#8ca375;--src-line-numbers-span-color:#3b91e2;--src-line-number-highlighted-background-color:#0a042f;--test-arrow-color:#dedede;--test-arrow-background-color:rgba(78,139,202,0.2);--test-arrow-hover-color:#dedede;--test-arrow-hover-background-color:#4e8bca;--target-background-color:#494a3d;--target-border-color:#bb7410;--kbd-color:#000;--kbd-background:#fafbfc;--kbd-box-shadow-color:#c6cbd1;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(94%) sepia(0%) saturate(721%) hue-rotate(255deg) brightness(90%) contrast(90%);--crate-search-div-hover-filter:invert(69%) sepia(60%) saturate(6613%) hue-rotate(184deg) brightness(100%) contrast(91%);--crate-search-hover-border:#2196f3;--src-sidebar-background-selected:#333;--src-sidebar-background-hover:#444;--table-alt-row-background-color:#2a2a2a;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(53,53,53,1);--scrape-example-code-wrapper-background-end:rgba(53,53,53,0);--sidebar-resizer-hover:hsl(207,30%,54%);--sidebar-resizer-active:hsl(207,90%,54%);}:root[data-theme="ayu"]{--main-background-color:#0f1419;--main-color:#c5c5c5;--settings-input-color:#ffb454;--settings-input-border-color:#999;--settings-button-color:#fff;--settings-button-border-focus:#e0e0e0;--sidebar-background-color:#14191f;--sidebar-background-color-hover:rgba(70,70,70,0.33);--code-block-background-color:#191f26;--scrollbar-track-background-color:transparent;--scrollbar-thumb-background-color:#5c6773;--scrollbar-color:#5c6773 #24292f;--headings-border-bottom-color:#5c6773;--border-color:#5c6773;--button-background-color:#141920;--right-side-color:grey;--code-attribute-color:#999;--toggles-color:#999;--toggle-filter:invert(100%);--mobile-sidebar-menu-filter:invert(100%);--search-input-focused-border-color:#5c6773;--copy-path-button-color:#fff;--copy-path-img-filter:invert(70%);--copy-path-img-hover-filter:invert(100%);--codeblock-error-hover-color:rgb(255,0,0);--codeblock-error-color:rgba(255,0,0,.5);--codeblock-ignore-hover-color:rgb(255,142,0);--codeblock-ignore-color:rgba(255,142,0,.6);--warning-border-color:#ff8e00;--type-link-color:#ffa0a5;--trait-link-color:#39afd7;--assoc-item-link-color:#39afd7;--function-link-color:#fdd687;--macro-link-color:#a37acc;--keyword-link-color:#39afd7;--mod-link-color:#39afd7;--link-color:#39afd7;--sidebar-link-color:#53b1db;--sidebar-current-link-background-color:transparent;--search-result-link-focus-background-color:#3c3c3c;--search-result-border-color:#aaa3;--search-color:#fff;--search-error-code-background-color:#4f4c4c;--search-results-alias-color:#c5c5c5;--search-results-grey-color:#999;--search-tab-title-count-color:#888;--search-tab-button-not-selected-border-top-color:none;--search-tab-button-not-selected-background:transparent !important;--search-tab-button-selected-border-top-color:none;--search-tab-button-selected-background:#141920 !important;--settings-menu-filter:invert(100%);--stab-background-color:#314559;--stab-code-color:#e6e1cf;--code-highlight-kw-color:#ff7733;--code-highlight-kw-2-color:#ff7733;--code-highlight-lifetime-color:#ff7733;--code-highlight-prelude-color:#69f2df;--code-highlight-prelude-val-color:#ff7733;--code-highlight-number-color:#b8cc52;--code-highlight-string-color:#b8cc52;--code-highlight-literal-color:#ff7733;--code-highlight-attribute-color:#e6e1cf;--code-highlight-self-color:#36a3d9;--code-highlight-macro-color:#a37acc;--code-highlight-question-mark-color:#ff9011;--code-highlight-comment-color:#788797;--code-highlight-doc-comment-color:#a1ac88;--src-line-numbers-span-color:#5c6773;--src-line-number-highlighted-background-color:rgba(255,236,164,0.06);--test-arrow-color:#788797;--test-arrow-background-color:rgba(57,175,215,0.09);--test-arrow-hover-color:#c5c5c5;--test-arrow-hover-background-color:rgba(57,175,215,0.368);--target-background-color:rgba(255,236,164,0.06);--target-border-color:rgba(255,180,76,0.85);--kbd-color:#c5c5c5;--kbd-background:#314559;--kbd-box-shadow-color:#5c6773;--rust-logo-filter:drop-shadow(1px 0 0px #fff) drop-shadow(0 1px 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 -1px 0 #fff);--crate-search-div-filter:invert(41%) sepia(12%) saturate(487%) hue-rotate(171deg) brightness(94%) contrast(94%);--crate-search-div-hover-filter:invert(98%) sepia(12%) saturate(81%) hue-rotate(343deg) brightness(113%) contrast(76%);--crate-search-hover-border:#e0e0e0;--src-sidebar-background-selected:#14191f;--src-sidebar-background-hover:#14191f;--table-alt-row-background-color:#191f26;--codeblock-link-background:#333;--scrape-example-toggle-line-background:#999;--scrape-example-toggle-line-hover-background:#c5c5c5;--scrape-example-code-line-highlight:#5b3b01;--scrape-example-code-line-highlight-focus:#7c4b0f;--scrape-example-help-border-color:#aaa;--scrape-example-help-color:#eee;--scrape-example-help-hover-border-color:#fff;--scrape-example-help-hover-color:#fff;--scrape-example-code-wrapper-background-start:rgba(15,20,25,1);--scrape-example-code-wrapper-background-end:rgba(15,20,25,0);--sidebar-resizer-hover:hsl(34,50%,33%);--sidebar-resizer-active:hsl(34,100%,66%);}:root[data-theme="ayu"] h1,:root[data-theme="ayu"] h2,:root[data-theme="ayu"] h3,:root[data-theme="ayu"] h4,:where(:root[data-theme="ayu"]) h1 a,:root[data-theme="ayu"] .sidebar h2 a,:root[data-theme="ayu"] .sidebar h3 a{color:#fff;}:root[data-theme="ayu"] .docblock code{color:#ffb454;}:root[data-theme="ayu"] .docblock a>code{color:#39AFD7 !important;}:root[data-theme="ayu"] .code-header,:root[data-theme="ayu"] .docblock pre>code,:root[data-theme="ayu"] pre,:root[data-theme="ayu"] pre>code,:root[data-theme="ayu"] .item-info code,:root[data-theme="ayu"] .rustdoc.source .example-wrap{color:#e6e1cf;}:root[data-theme="ayu"] .sidebar .current,:root[data-theme="ayu"] .sidebar .current a,:root[data-theme="ayu"] .sidebar a:hover,:root[data-theme="ayu"] #src-sidebar div.files>a:hover,:root[data-theme="ayu"] details.dir-entry summary:hover,:root[data-theme="ayu"] #src-sidebar div.files>a:focus,:root[data-theme="ayu"] details.dir-entry summary:focus,:root[data-theme="ayu"] #src-sidebar div.files>a.selected{color:#ffb44c;}:root[data-theme="ayu"] .sidebar-elems .location{color:#ff7733;}:root[data-theme="ayu"] .src-line-numbers .line-highlighted{color:#708090;padding-right:7px;border-right:1px solid #ffb44c;}:root[data-theme="ayu"] .search-results a:hover,:root[data-theme="ayu"] .search-results a:focus{color:#fff !important;background-color:#3c3c3c;}:root[data-theme="ayu"] .search-results a{color:#0096cf;}:root[data-theme="ayu"] .search-results a div.desc{color:#c5c5c5;}:root[data-theme="ayu"] .result-name .primitive>i,:root[data-theme="ayu"] .result-name .keyword>i{color:#788797;}:root[data-theme="ayu"] #search-tabs>button.selected{border-bottom:1px solid #ffb44c !important;border-top:none;}:root[data-theme="ayu"] #search-tabs>button:not(.selected){border:none;background-color:transparent !important;}:root[data-theme="ayu"] #search-tabs>button:hover{border-bottom:1px solid rgba(242,151,24,0.3);}:root[data-theme="ayu"] #settings-menu>a img,:root[data-theme="ayu"] #sidebar-button>a:before{filter:invert(100);}
    \ No newline at end of file
    diff --git a/docs/static.files/search-bf21c90c8c1d92b1.js b/docs/static.files/search-d52510db62a78183.js
    similarity index 51%
    rename from docs/static.files/search-bf21c90c8c1d92b1.js
    rename to docs/static.files/search-d52510db62a78183.js
    index 81d04e0eb3..a2824f297f 100644
    --- a/docs/static.files/search-bf21c90c8c1d92b1.js
    +++ b/docs/static.files/search-d52510db62a78183.js
    @@ -1,4 +1,4 @@
    -"use strict";if(!Array.prototype.toSpliced){Array.prototype.toSpliced=function(){const me=this.slice();Array.prototype.splice.apply(me,arguments);return me}}(function(){const itemTypes=["keyword","primitive","mod","externcrate","import","struct","enum","fn","type","static","trait","impl","tymethod","method","structfield","variant","macro","associatedtype","constant","associatedconstant","union","foreigntype","existential","attr","derive","traitalias","generic",];const longItemTypes=["keyword","primitive type","module","extern crate","re-export","struct","enum","function","type alias","static","trait","","trait method","method","struct field","enum variant","macro","assoc type","constant","assoc const","union","foreign type","existential type","attribute macro","derive macro","trait alias",];const TY_GENERIC=itemTypes.indexOf("generic");const TY_IMPORT=itemTypes.indexOf("import");const ROOT_PATH=typeof window!=="undefined"?window.rootPath:"../";const UNBOXING_LIMIT=5;function printTab(nb){let iter=0;let foundCurrentTab=false;let foundCurrentResultSet=false;onEachLazy(document.getElementById("search-tabs").childNodes,elem=>{if(nb===iter){addClass(elem,"selected");foundCurrentTab=true}else{removeClass(elem,"selected")}iter+=1});const isTypeSearch=(nb>0||iter===1);iter=0;onEachLazy(document.getElementById("results").childNodes,elem=>{if(nb===iter){addClass(elem,"active");foundCurrentResultSet=true}else{removeClass(elem,"active")}iter+=1});if(foundCurrentTab&&foundCurrentResultSet){searchState.currentTab=nb;const correctionsElem=document.getElementsByClassName("search-corrections");if(isTypeSearch){removeClass(correctionsElem[0],"hidden")}else{addClass(correctionsElem[0],"hidden")}}else if(nb!==0){printTab(0)}}const editDistanceState={current:[],prev:[],prevPrev:[],calculate:function calculate(a,b,limit){if(a.lengthlimit){return limit+1}while(b.length>0&&b[0]===a[0]){a=a.substring(1);b=b.substring(1)}while(b.length>0&&b[b.length-1]===a[a.length-1]){a=a.substring(0,a.length-1);b=b.substring(0,b.length-1)}if(b.length===0){return minDist}const aLength=a.length;const bLength=b.length;for(let i=0;i<=bLength;++i){this.current[i]=0;this.prev[i]=i;this.prevPrev[i]=Number.MAX_VALUE}for(let i=1;i<=aLength;++i){this.current[0]=i;const aIdx=i-1;for(let j=1;j<=bLength;++j){const bIdx=j-1;const substitutionCost=a[aIdx]===b[bIdx]?0:1;this.current[j]=Math.min(this.prev[j]+1,this.current[j-1]+1,this.prev[j-1]+substitutionCost,);if((i>1)&&(j>1)&&(a[aIdx]===b[bIdx-1])&&(a[aIdx-1]===b[bIdx])){this.current[j]=Math.min(this.current[j],this.prevPrev[j-2]+1,)}}const prevPrevTmp=this.prevPrev;this.prevPrev=this.prev;this.prev=this.current;this.current=prevPrevTmp}const distance=this.prev[bLength];return distance<=limit?distance:(limit+1)},};function editDistance(a,b,limit){return editDistanceState.calculate(a,b,limit)}function initSearch(rawSearchIndex){const MAX_RESULTS=200;const NO_TYPE_FILTER=-1;let searchIndex;let searchIndexDeprecated;let searchIndexEmptyDesc;let functionTypeFingerprint;let currentResults;const typeNameIdMap=new Map();const ALIASES=new Map();const typeNameIdOfArray=buildTypeMapIndex("array");const typeNameIdOfSlice=buildTypeMapIndex("slice");const typeNameIdOfArrayOrSlice=buildTypeMapIndex("[]");const typeNameIdOfTuple=buildTypeMapIndex("tuple");const typeNameIdOfUnit=buildTypeMapIndex("unit");const typeNameIdOfTupleOrUnit=buildTypeMapIndex("()");const typeNameIdOfFn=buildTypeMapIndex("fn");const typeNameIdOfFnMut=buildTypeMapIndex("fnmut");const typeNameIdOfFnOnce=buildTypeMapIndex("fnonce");const typeNameIdOfHof=buildTypeMapIndex("->");function buildTypeMapIndex(name,isAssocType){if(name===""||name===null){return null}if(typeNameIdMap.has(name)){const obj=typeNameIdMap.get(name);obj.assocOnly=isAssocType&&obj.assocOnly;return obj.id}else{const id=typeNameIdMap.size;typeNameIdMap.set(name,{id,assocOnly:isAssocType});return id}}function isSpecialStartCharacter(c){return"<\"".indexOf(c)!==-1}function isEndCharacter(c){return"=,>-])".indexOf(c)!==-1}function itemTypeFromName(typename){const index=itemTypes.findIndex(i=>i===typename);if(index<0){throw["Unknown type filter ",typename]}return index}function getStringElem(query,parserState,isInGenerics){if(isInGenerics){throw["Unexpected ","\""," in generics"]}else if(query.literalSearch){throw["Cannot have more than one literal search element"]}else if(parserState.totalElems-parserState.genericsElems>0){throw["Cannot use literal search when there is more than one element"]}parserState.pos+=1;const start=parserState.pos;const end=getIdentEndPosition(parserState);if(parserState.pos>=parserState.length){throw["Unclosed ","\""]}else if(parserState.userQuery[end]!=="\""){throw["Unexpected ",parserState.userQuery[end]," in a string element"]}else if(start===end){throw["Cannot have empty string element"]}parserState.pos+=1;query.literalSearch=true}function isPathStart(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="::"}function isReturnArrow(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="->"}function isIdentCharacter(c){return(c==="_"||(c>="0"&&c<="9")||(c>="a"&&c<="z")||(c>="A"&&c<="Z"))}function isSeparatorCharacter(c){return c===","||c==="="}function isPathSeparator(c){return c===":"||c===" "}function prevIs(parserState,lookingFor){let pos=parserState.pos;while(pos>0){const c=parserState.userQuery[pos-1];if(c===lookingFor){return true}else if(c!==" "){break}pos-=1}return false}function isLastElemGeneric(elems,parserState){return(elems.length>0&&elems[elems.length-1].generics.length>0)||prevIs(parserState,">")}function skipWhitespace(parserState){while(parserState.pos0){throw["Cannot have more than one element if you use quotes"]}const typeFilter=parserState.typeFilter;parserState.typeFilter=null;if(name==="!"){if(typeFilter!==null&&typeFilter!=="primitive"){throw["Invalid search type: primitive never type ","!"," and ",typeFilter," both specified",]}if(generics.length!==0){throw["Never type ","!"," does not accept generic parameters",]}const bindingName=parserState.isInBinding;parserState.isInBinding=null;return makePrimitiveElement("never",{bindingName})}const quadcolon=/::\s*::/.exec(path);if(path.startsWith("::")){throw["Paths cannot start with ","::"]}else if(path.endsWith("::")){throw["Paths cannot end with ","::"]}else if(quadcolon!==null){throw["Unexpected ",quadcolon[0]]}const pathSegments=path.split(/(?:::\s*)|(?:\s+(?:::\s*)?)/);if(pathSegments.length===0||(pathSegments.length===1&&pathSegments[0]==="")){if(generics.length>0||prevIs(parserState,">")){throw["Found generics without a path"]}else{throw["Unexpected ",parserState.userQuery[parserState.pos]]}}for(const[i,pathSegment]of pathSegments.entries()){if(pathSegment==="!"){if(i!==0){throw["Never type ","!"," is not associated item"]}pathSegments[i]="never"}}parserState.totalElems+=1;if(isInGenerics){parserState.genericsElems+=1}const bindingName=parserState.isInBinding;parserState.isInBinding=null;const bindings=new Map();const pathLast=pathSegments[pathSegments.length-1];return{name:name.trim(),id:null,fullPath:pathSegments,pathWithoutLast:pathSegments.slice(0,pathSegments.length-1),pathLast,normalizedPathLast:pathLast.replace(/_/g,""),generics:generics.filter(gen=>{if(gen.bindingName!==null){if(gen.name!==null){gen.bindingName.generics.unshift(gen)}bindings.set(gen.bindingName.name,gen.bindingName.generics);return false}return true}),bindings,typeFilter,bindingName,}}function getIdentEndPosition(parserState){const start=parserState.pos;let end=parserState.pos;let foundExclamation=-1;while(parserState.pos0){throw["Unexpected ",c," after ",parserState.userQuery[parserState.pos-1]]}else{throw["Unexpected ",c]}}parserState.pos+=1;end=parserState.pos}if(foundExclamation!==-1&&foundExclamation!==start&&isIdentCharacter(parserState.userQuery[foundExclamation-1])){if(parserState.typeFilter===null){parserState.typeFilter="macro"}else if(parserState.typeFilter!=="macro"){throw["Invalid search type: macro ","!"," and ",parserState.typeFilter," both specified",]}end=foundExclamation}return end}function getFilteredNextElem(query,parserState,elems,isInGenerics){const start=parserState.pos;if(parserState.userQuery[parserState.pos]===":"&&!isPathStart(parserState)){throw["Expected type filter before ",":"]}getNextElem(query,parserState,elems,isInGenerics);if(parserState.userQuery[parserState.pos]===":"&&!isPathStart(parserState)){if(parserState.typeFilter!==null){throw["Unexpected ",":"," (expected path after type filter ",parserState.typeFilter+":",")",]}if(elems.length===0){throw["Expected type filter before ",":"]}else if(query.literalSearch){throw["Cannot use quotes on type filter"]}const typeFilterElem=elems.pop();checkExtraTypeFilterCharacters(start,parserState);parserState.typeFilter=typeFilterElem.name;parserState.pos+=1;parserState.totalElems-=1;query.literalSearch=false;getNextElem(query,parserState,elems,isInGenerics)}}function getNextElem(query,parserState,elems,isInGenerics){const generics=[];skipWhitespace(parserState);let start=parserState.pos;let end;if("[(".indexOf(parserState.userQuery[parserState.pos])!==-1){let endChar=")";let name="()";let friendlyName="tuple";if(parserState.userQuery[parserState.pos]==="["){endChar="]";name="[]";friendlyName="slice"}parserState.pos+=1;const{foundSeparator}=getItemsBefore(query,parserState,generics,endChar);const typeFilter=parserState.typeFilter;const bindingName=parserState.isInBinding;parserState.typeFilter=null;parserState.isInBinding=null;for(const gen of generics){if(gen.bindingName!==null){throw["Type parameter ","=",` cannot be within ${friendlyName} `,name]}}if(name==="()"&&!foundSeparator&&generics.length===1&&typeFilter===null){elems.push(generics[0])}else if(name==="()"&&generics.length===1&&generics[0].name==="->"){generics[0].typeFilter=typeFilter;elems.push(generics[0])}else{if(typeFilter!==null&&typeFilter!=="primitive"){throw["Invalid search type: primitive ",name," and ",typeFilter," both specified",]}parserState.totalElems+=1;if(isInGenerics){parserState.genericsElems+=1}elems.push(makePrimitiveElement(name,{bindingName,generics}))}}else{const isStringElem=parserState.userQuery[start]==="\"";if(isStringElem){start+=1;getStringElem(query,parserState,isInGenerics);end=parserState.pos-1}else{end=getIdentEndPosition(parserState)}if(parserState.pos=end){throw["Found generics without a path"]}parserState.pos+=1;getItemsBefore(query,parserState,generics,">")}else if(parserState.pos=end){throw["Found generics without a path"]}if(parserState.isInBinding){throw["Unexpected ","("," after ","="]}parserState.pos+=1;const typeFilter=parserState.typeFilter;parserState.typeFilter=null;getItemsBefore(query,parserState,generics,")");skipWhitespace(parserState);if(isReturnArrow(parserState)){parserState.pos+=2;skipWhitespace(parserState);getFilteredNextElem(query,parserState,generics,isInGenerics);generics[generics.length-1].bindingName=makePrimitiveElement("output")}else{generics.push(makePrimitiveElement(null,{bindingName:makePrimitiveElement("output"),typeFilter:null,}))}parserState.typeFilter=typeFilter}if(isStringElem){skipWhitespace(parserState)}if(start>=end&&generics.length===0){return}if(parserState.userQuery[parserState.pos]==="="){if(parserState.isInBinding){throw["Cannot write ","="," twice in a binding"]}if(!isInGenerics){throw["Type parameter ","="," must be within generics list"]}const name=parserState.userQuery.slice(start,end).trim();if(name==="!"){throw["Type parameter ","="," key cannot be ","!"," never type"]}if(name.includes("!")){throw["Type parameter ","="," key cannot be ","!"," macro"]}if(name.includes("::")){throw["Type parameter ","="," key cannot contain ","::"," path"]}if(name.includes(":")){throw["Type parameter ","="," key cannot contain ",":"," type"]}parserState.isInBinding={name,generics}}else{elems.push(createQueryElement(query,parserState,parserState.userQuery.slice(start,end),generics,isInGenerics,),)}}}function getItemsBefore(query,parserState,elems,endChar){let foundStopChar=true;let foundSeparator=false;const oldTypeFilter=parserState.typeFilter;parserState.typeFilter=null;const oldIsInBinding=parserState.isInBinding;parserState.isInBinding=null;let hofParameters=null;let extra="";if(endChar===">"){extra="<"}else if(endChar==="]"){extra="["}else if(endChar===")"){extra="("}else if(endChar===""){extra="->"}else{extra=endChar}while(parserState.pos"," after ","="]}hofParameters=[...elems];elems.length=0;parserState.pos+=2;foundStopChar=true;foundSeparator=false;continue}else if(c===" "){parserState.pos+=1;continue}else if(isSeparatorCharacter(c)){parserState.pos+=1;foundStopChar=true;foundSeparator=true;continue}else if(c===":"&&isPathStart(parserState)){throw["Unexpected ","::",": paths cannot start with ","::"]}else if(isEndCharacter(c)){throw["Unexpected ",c," after ",extra]}if(!foundStopChar){let extra=[];if(isLastElemGeneric(query.elems,parserState)){extra=[" after ",">"]}else if(prevIs(parserState,"\"")){throw["Cannot have more than one element if you use quotes"]}if(endChar!==""){throw["Expected ",",",", ","=",", or ",endChar,...extra,", found ",c,]}throw["Expected ",","," or ","=",...extra,", found ",c,]}const posBefore=parserState.pos;getFilteredNextElem(query,parserState,elems,endChar!=="");if(endChar!==""&&parserState.pos>=parserState.length){throw["Unclosed ",extra]}if(posBefore===parserState.pos){parserState.pos+=1}foundStopChar=false}if(parserState.pos>=parserState.length&&endChar!==""){throw["Unclosed ",extra]}parserState.pos+=1;if(hofParameters){foundSeparator=false;if([...elems,...hofParameters].some(x=>x.bindingName)||parserState.isInBinding){throw["Unexpected ","="," within ","->"]}const hofElem=makePrimitiveElement("->",{generics:hofParameters,bindings:new Map([["output",[...elems]]]),typeFilter:null,});elems.length=0;elems[0]=hofElem}parserState.typeFilter=oldTypeFilter;parserState.isInBinding=oldIsInBinding;return{foundSeparator}}function checkExtraTypeFilterCharacters(start,parserState){const query=parserState.userQuery.slice(start,parserState.pos).trim();for(const c in query){if(!isIdentCharacter(query[c])){throw["Unexpected ",query[c]," in type filter (before ",":",")",]}}}function parseInput(query,parserState){let foundStopChar=true;while(parserState.pos"){if(isReturnArrow(parserState)){break}throw["Unexpected ",c," (did you mean ","->","?)"]}else if(parserState.pos>0){throw["Unexpected ",c," after ",parserState.userQuery[parserState.pos-1]]}throw["Unexpected ",c]}else if(c===" "){skipWhitespace(parserState);continue}if(!foundStopChar){let extra="";if(isLastElemGeneric(query.elems,parserState)){extra=[" after ",">"]}else if(prevIs(parserState,"\"")){throw["Cannot have more than one element if you use quotes"]}if(parserState.typeFilter!==null){throw["Expected ",","," or ","->",...extra,", found ",c,]}throw["Expected ",",",", ",":"," or ","->",...extra,", found ",c,]}const before=query.elems.length;getFilteredNextElem(query,parserState,query.elems,false);if(query.elems.length===before){parserState.pos+=1}foundStopChar=false}if(parserState.typeFilter!==null){throw["Unexpected ",":"," (expected path after type filter ",parserState.typeFilter+":",")",]}while(parserState.pos"]}break}else{parserState.pos+=1}}}function newParsedQuery(userQuery){return{original:userQuery,userQuery:userQuery.toLowerCase(),elems:[],returned:[],foundElems:0,totalElems:0,literalSearch:false,error:null,correction:null,proposeCorrectionFrom:null,proposeCorrectionTo:null,typeFingerprint:new Uint32Array(4),}}function buildUrl(search,filterCrates){let extra="?search="+encodeURIComponent(search);if(filterCrates!==null){extra+="&filter-crate="+encodeURIComponent(filterCrates)}return getNakedUrl()+extra+window.location.hash}function getFilterCrates(){const elem=document.getElementById("crate-search");if(elem&&elem.value!=="all crates"&&rawSearchIndex.has(elem.value)){return elem.value}return null}function parseQuery(userQuery){function convertTypeFilterOnElem(elem){if(elem.typeFilter!==null){let typeFilter=elem.typeFilter;if(typeFilter==="const"){typeFilter="constant"}elem.typeFilter=itemTypeFromName(typeFilter)}else{elem.typeFilter=NO_TYPE_FILTER}for(const elem2 of elem.generics){convertTypeFilterOnElem(elem2)}for(const constraints of elem.bindings.values()){for(const constraint of constraints){convertTypeFilterOnElem(constraint)}}}userQuery=userQuery.trim().replace(/\r|\n|\t/g," ");const parserState={length:userQuery.length,pos:0,totalElems:0,genericsElems:0,typeFilter:null,isInBinding:null,userQuery:userQuery.toLowerCase(),};let query=newParsedQuery(userQuery);try{parseInput(query,parserState);for(const elem of query.elems){convertTypeFilterOnElem(elem)}for(const elem of query.returned){convertTypeFilterOnElem(elem)}}catch(err){query=newParsedQuery(userQuery);query.error=err;return query}if(!query.literalSearch){query.literalSearch=parserState.totalElems>1}query.foundElems=query.elems.length+query.returned.length;query.totalElems=parserState.totalElems;return query}function createQueryResults(results_in_args,results_returned,results_others,parsedQuery){return{"in_args":results_in_args,"returned":results_returned,"others":results_others,"query":parsedQuery,}}async function execQuery(parsedQuery,filterCrates,currentCrate){const results_others=new Map(),results_in_args=new Map(),results_returned=new Map();function transformResults(results){const duplicates=new Set();const out=[];for(const result of results){if(result.id!==-1){const obj=searchIndex[result.id];obj.dist=result.dist;const res=buildHrefAndPath(obj);obj.displayPath=pathSplitter(res[0]);obj.fullPath=res[2]+"|"+obj.ty;if(duplicates.has(obj.fullPath)){continue}if(obj.ty===TY_IMPORT&&duplicates.has(res[2])){continue}if(duplicates.has(res[2]+"|"+TY_IMPORT)){continue}duplicates.add(obj.fullPath);duplicates.add(res[2]);obj.href=res[1];out.push(obj);if(out.length>=MAX_RESULTS){break}}}return out}async function sortResults(results,isType,preferredCrate){const userQuery=parsedQuery.userQuery;const result_list=[];for(const result of results.values()){result.item=searchIndex[result.id];result.word=searchIndex[result.id].word;result_list.push(result)}result_list.sort((aaa,bbb)=>{let a,b;a=(aaa.word!==userQuery);b=(bbb.word!==userQuery);if(a!==b){return a-b}a=(aaa.index<0);b=(bbb.index<0);if(a!==b){return a-b}a=aaa.path_dist;b=bbb.path_dist;if(a!==b){return a-b}a=aaa.index;b=bbb.index;if(a!==b){return a-b}a=(aaa.dist);b=(bbb.dist);if(a!==b){return a-b}a=searchIndexDeprecated.get(aaa.item.crate).contains(aaa.item.bitIndex);b=searchIndexDeprecated.get(bbb.item.crate).contains(bbb.item.bitIndex);if(a!==b){return a-b}a=(aaa.item.crate!==preferredCrate);b=(bbb.item.crate!==preferredCrate);if(a!==b){return a-b}a=aaa.word.length;b=bbb.word.length;if(a!==b){return a-b}a=aaa.word;b=bbb.word;if(a!==b){return(a>b?+1:-1)}a=searchIndexEmptyDesc.get(aaa.item.crate).contains(aaa.item.bitIndex);b=searchIndexEmptyDesc.get(bbb.item.crate).contains(bbb.item.bitIndex);if(a!==b){return a-b}a=aaa.item.ty;b=bbb.item.ty;if(a!==b){return a-b}a=aaa.item.path;b=bbb.item.path;if(a!==b){return(a>b?+1:-1)}return 0});return transformResults(result_list)}function unifyFunctionTypes(fnTypesIn,queryElems,whereClause,mgensIn,solutionCb,unboxingDepth,){if(unboxingDepth>=UNBOXING_LIMIT){return false}const mgens=mgensIn===null?null:new Map(mgensIn);if(queryElems.length===0){return!solutionCb||solutionCb(mgens)}if(!fnTypesIn||fnTypesIn.length===0){return false}const ql=queryElems.length;const fl=fnTypesIn.length;if(ql===1&&queryElems[0].generics.length===0&&queryElems[0].bindings.size===0){const queryElem=queryElems[0];for(const fnType of fnTypesIn){if(!unifyFunctionTypeIsMatchCandidate(fnType,queryElem,mgens)){continue}if(fnType.id<0&&queryElem.id<0){if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==queryElem.id){continue}const mgensScratch=new Map(mgens);mgensScratch.set(fnType.id,queryElem.id);if(!solutionCb||solutionCb(mgensScratch)){return true}}else if(!solutionCb||solutionCb(mgens?new Map(mgens):null)){return true}}for(const fnType of fnTypesIn){if(!unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens,unboxingDepth+1,)){continue}if(fnType.id<0){if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==0){continue}const mgensScratch=new Map(mgens);mgensScratch.set(fnType.id,0);if(unifyFunctionTypes(whereClause[(-fnType.id)-1],queryElems,whereClause,mgensScratch,solutionCb,unboxingDepth+1,)){return true}}else if(unifyFunctionTypes([...fnType.generics,...Array.from(fnType.bindings.values()).flat()],queryElems,whereClause,mgens?new Map(mgens):null,solutionCb,unboxingDepth+1,)){return true}}return false}const fnTypes=fnTypesIn.slice();const flast=fl-1;const qlast=ql-1;const queryElem=queryElems[qlast];let queryElemsTmp=null;for(let i=flast;i>=0;i-=1){const fnType=fnTypes[i];if(!unifyFunctionTypeIsMatchCandidate(fnType,queryElem,mgens)){continue}let mgensScratch;if(fnType.id<0){mgensScratch=new Map(mgens);if(mgensScratch.has(fnType.id)&&mgensScratch.get(fnType.id)!==queryElem.id){continue}mgensScratch.set(fnType.id,queryElem.id)}else{mgensScratch=mgens}fnTypes[i]=fnTypes[flast];fnTypes.length=flast;if(!queryElemsTmp){queryElemsTmp=queryElems.slice(0,qlast)}const passesUnification=unifyFunctionTypes(fnTypes,queryElemsTmp,whereClause,mgensScratch,mgensScratch=>{if(fnType.generics.length===0&&queryElem.generics.length===0&&fnType.bindings.size===0&&queryElem.bindings.size===0){return!solutionCb||solutionCb(mgensScratch)}const solution=unifyFunctionTypeCheckBindings(fnType,queryElem,whereClause,mgensScratch,unboxingDepth,);if(!solution){return false}const simplifiedGenerics=solution.simplifiedGenerics;for(const simplifiedMgens of solution.mgens){const passesUnification=unifyFunctionTypes(simplifiedGenerics,queryElem.generics,whereClause,simplifiedMgens,solutionCb,unboxingDepth,);if(passesUnification){return true}}return false},unboxingDepth,);if(passesUnification){return true}fnTypes[flast]=fnTypes[i];fnTypes[i]=fnType;fnTypes.length=fl}for(let i=flast;i>=0;i-=1){const fnType=fnTypes[i];if(!unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens,unboxingDepth+1,)){continue}let mgensScratch;if(fnType.id<0){mgensScratch=new Map(mgens);if(mgensScratch.has(fnType.id)&&mgensScratch.get(fnType.id)!==0){continue}mgensScratch.set(fnType.id,0)}else{mgensScratch=mgens}const generics=fnType.id<0?whereClause[(-fnType.id)-1]:fnType.generics;const bindings=fnType.bindings?Array.from(fnType.bindings.values()).flat():[];const passesUnification=unifyFunctionTypes(fnTypes.toSpliced(i,1,...generics,...bindings),queryElems,whereClause,mgensScratch,solutionCb,unboxingDepth+1,);if(passesUnification){return true}}return false}function unifyFunctionTypeIsMatchCandidate(fnType,queryElem,mgensIn){if(!typePassesFilter(queryElem.typeFilter,fnType.ty)){return false}if(fnType.id<0&&queryElem.id<0){if(mgensIn){if(mgensIn.has(fnType.id)&&mgensIn.get(fnType.id)!==queryElem.id){return false}for(const[fid,qid]of mgensIn.entries()){if(fnType.id!==fid&&queryElem.id===qid){return false}if(fnType.id===fid&&queryElem.id!==qid){return false}}}return true}else{if(queryElem.id===typeNameIdOfArrayOrSlice&&(fnType.id===typeNameIdOfSlice||fnType.id===typeNameIdOfArray)){}else if(queryElem.id===typeNameIdOfTupleOrUnit&&(fnType.id===typeNameIdOfTuple||fnType.id===typeNameIdOfUnit)){}else if(queryElem.id===typeNameIdOfHof&&(fnType.id===typeNameIdOfFn||fnType.id===typeNameIdOfFnMut||fnType.id===typeNameIdOfFnOnce)){}else if(fnType.id!==queryElem.id||queryElem.id===null){return false}if((fnType.generics.length+fnType.bindings.size)===0&&queryElem.generics.length!==0){return false}if(fnType.bindings.size0){const fnTypePath=fnType.path!==undefined&&fnType.path!==null?fnType.path.split("::"):[];if(queryElemPathLength>fnTypePath.length){return false}let i=0;for(const path of fnTypePath){if(path===queryElem.pathWithoutLast[i]){i+=1;if(i>=queryElemPathLength){break}}}if(i0){let mgensSolutionSet=[mgensIn];for(const[name,constraints]of queryElem.bindings.entries()){if(mgensSolutionSet.length===0){return false}if(!fnType.bindings.has(name)){return false}const fnTypeBindings=fnType.bindings.get(name);mgensSolutionSet=mgensSolutionSet.flatMap(mgens=>{const newSolutions=[];unifyFunctionTypes(fnTypeBindings,constraints,whereClause,mgens,newMgens=>{newSolutions.push(newMgens);return false},unboxingDepth,);return newSolutions})}if(mgensSolutionSet.length===0){return false}const binds=Array.from(fnType.bindings.entries()).flatMap(entry=>{const[name,constraints]=entry;if(queryElem.bindings.has(name)){return[]}else{return constraints}});if(simplifiedGenerics.length>0){simplifiedGenerics=[...simplifiedGenerics,...binds]}else{simplifiedGenerics=binds}return{simplifiedGenerics,mgens:mgensSolutionSet}}return{simplifiedGenerics,mgens:[mgensIn]}}function unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens,unboxingDepth,){if(unboxingDepth>=UNBOXING_LIMIT){return false}if(fnType.id<0&&queryElem.id>=0){if(!whereClause){return false}if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==0){return false}const mgensTmp=new Map(mgens);mgensTmp.set(fnType.id,null);return checkIfInList(whereClause[(-fnType.id)-1],queryElem,whereClause,mgensTmp,unboxingDepth,)}else if(fnType.generics.length>0||fnType.bindings.size>0){const simplifiedGenerics=[...fnType.generics,...Array.from(fnType.bindings.values()).flat(),];return checkIfInList(simplifiedGenerics,queryElem,whereClause,mgens,unboxingDepth,)}return false}function checkIfInList(list,elem,whereClause,mgens,unboxingDepth){for(const entry of list){if(checkType(entry,elem,whereClause,mgens,unboxingDepth)){return true}}return false}function checkType(row,elem,whereClause,mgens,unboxingDepth){if(unboxingDepth>=UNBOXING_LIMIT){return false}if(row.bindings.size===0&&elem.bindings.size===0){if(elem.id<0&&mgens===null){return row.id<0||checkIfInList(row.generics,elem,whereClause,mgens,unboxingDepth+1,)}if(row.id>0&&elem.id>0&&elem.pathWithoutLast.length===0&&typePassesFilter(elem.typeFilter,row.ty)&&elem.generics.length===0&&elem.id!==typeNameIdOfArrayOrSlice&&elem.id!==typeNameIdOfTupleOrUnit&&elem.id!==typeNameIdOfHof){return row.id===elem.id||checkIfInList(row.generics,elem,whereClause,mgens,unboxingDepth,)}}return unifyFunctionTypes([row],[elem],whereClause,mgens,null,unboxingDepth)}function checkPath(contains,ty){if(contains.length===0){return 0}const maxPathEditDistance=Math.floor(contains.reduce((acc,next)=>acc+next.length,0)/3,);let ret_dist=maxPathEditDistance+1;const path=ty.path.split("::");if(ty.parent&&ty.parent.name){path.push(ty.parent.name.toLowerCase())}const length=path.length;const clength=contains.length;pathiter:for(let i=length-clength;i>=0;i-=1){let dist_total=0;for(let x=0;xmaxPathEditDistance){continue pathiter}dist_total+=dist}}ret_dist=Math.min(ret_dist,Math.round(dist_total/clength))}return ret_dist>maxPathEditDistance?null:ret_dist}function typePassesFilter(filter,type){if(filter<=NO_TYPE_FILTER||filter===type)return true;const name=itemTypes[type];switch(itemTypes[filter]){case"constant":return name==="associatedconstant";case"fn":return name==="method"||name==="tymethod";case"type":return name==="primitive"||name==="associatedtype";case"trait":return name==="traitalias"}return false}function createAliasFromItem(item){return{crate:item.crate,name:item.name,path:item.path,descShard:item.descShard,descIndex:item.descIndex,exactPath:item.exactPath,ty:item.ty,parent:item.parent,type:item.type,is_alias:true,bitIndex:item.bitIndex,implDisambiguator:item.implDisambiguator,}}function handleAliases(ret,query,filterCrates,currentCrate){const lowerQuery=query.toLowerCase();const aliases=[];const crateAliases=[];if(filterCrates!==null){if(ALIASES.has(filterCrates)&&ALIASES.get(filterCrates).has(lowerQuery)){const query_aliases=ALIASES.get(filterCrates).get(lowerQuery);for(const alias of query_aliases){aliases.push(createAliasFromItem(searchIndex[alias]))}}}else{for(const[crate,crateAliasesIndex]of ALIASES){if(crateAliasesIndex.has(lowerQuery)){const pushTo=crate===currentCrate?crateAliases:aliases;const query_aliases=crateAliasesIndex.get(lowerQuery);for(const alias of query_aliases){pushTo.push(createAliasFromItem(searchIndex[alias]))}}}}const sortFunc=(aaa,bbb)=>{if(aaa.path{alias.alias=query;const res=buildHrefAndPath(alias);alias.displayPath=pathSplitter(res[0]);alias.fullPath=alias.displayPath+alias.name;alias.href=res[1];ret.others.unshift(alias);if(ret.others.length>MAX_RESULTS){ret.others.pop()}};aliases.forEach(pushFunc);crateAliases.forEach(pushFunc)}function addIntoResults(results,fullId,id,index,dist,path_dist,maxEditDistance){if(dist<=maxEditDistance||index!==-1){if(results.has(fullId)){const result=results.get(fullId);if(result.dontValidate||result.dist<=dist){return}}results.set(fullId,{id:id,index:index,dontValidate:parsedQuery.literalSearch,dist:dist,path_dist:path_dist,})}}function handleSingleArg(row,pos,elem,results_others,results_in_args,results_returned,maxEditDistance,){if(!row||(filterCrates!==null&&row.crate!==filterCrates)){return}let path_dist=0;const fullId=row.id;const tfpDist=compareTypeFingerprints(fullId,parsedQuery.typeFingerprint,);if(tfpDist!==null){const in_args=row.type&&row.type.inputs&&checkIfInList(row.type.inputs,elem,row.type.where_clause,null,0);const returned=row.type&&row.type.output&&checkIfInList(row.type.output,elem,row.type.where_clause,null,0);if(in_args){results_in_args.max_dist=Math.max(results_in_args.max_dist||0,tfpDist);const maxDist=results_in_args.sizenormalizedIndex&&normalizedIndex!==-1)){index=normalizedIndex}if(elem.fullPath.length>1){path_dist=checkPath(elem.pathWithoutLast,row);if(path_dist===null){return}}if(parsedQuery.literalSearch){if(row.word===elem.pathLast){addIntoResults(results_others,fullId,pos,index,0,path_dist)}return}const dist=editDistance(row.normalizedName,elem.normalizedPathLast,maxEditDistance);if(index===-1&&dist>maxEditDistance){return}addIntoResults(results_others,fullId,pos,index,dist,path_dist,maxEditDistance)}function handleArgs(row,pos,results){if(!row||(filterCrates!==null&&row.crate!==filterCrates)||!row.type){return}const tfpDist=compareTypeFingerprints(row.id,parsedQuery.typeFingerprint,);if(tfpDist===null){return}if(results.size>=MAX_RESULTS&&tfpDist>results.max_dist){return}if(!unifyFunctionTypes(row.type.inputs,parsedQuery.elems,row.type.where_clause,null,mgens=>{return unifyFunctionTypes(row.type.output,parsedQuery.returned,row.type.where_clause,mgens,null,0,)},0,)){return}results.max_dist=Math.max(results.max_dist||0,tfpDist);addIntoResults(results,row.id,pos,0,tfpDist,0,Number.MAX_VALUE)}function innerRunQuery(){const queryLen=parsedQuery.elems.reduce((acc,next)=>acc+next.pathLast.length,0)+parsedQuery.returned.reduce((acc,next)=>acc+next.pathLast.length,0);const maxEditDistance=Math.floor(queryLen/3);const genericSymbols=new Map();function convertNameToId(elem,isAssocType){if(typeNameIdMap.has(elem.normalizedPathLast)&&(isAssocType||!typeNameIdMap.get(elem.normalizedPathLast).assocOnly)){elem.id=typeNameIdMap.get(elem.normalizedPathLast).id}else if(!parsedQuery.literalSearch){let match=null;let matchDist=maxEditDistance+1;let matchName="";for(const[name,{id,assocOnly}]of typeNameIdMap){const dist=editDistance(name,elem.normalizedPathLast,maxEditDistance);if(dist<=matchDist&&dist<=maxEditDistance&&(isAssocType||!assocOnly)){if(dist===matchDist&&matchName>name){continue}match=id;matchDist=dist;matchName=name}}if(match!==null){parsedQuery.correction=matchName}elem.id=match}if((elem.id===null&&parsedQuery.totalElems>1&&elem.typeFilter===-1&&elem.generics.length===0&&elem.bindings.size===0)||elem.typeFilter===TY_GENERIC){if(genericSymbols.has(elem.name)){elem.id=genericSymbols.get(elem.name)}else{elem.id=-(genericSymbols.size+1);genericSymbols.set(elem.name,elem.id)}if(elem.typeFilter===-1&&elem.name.length>=3){const maxPartDistance=Math.floor(elem.name.length/3);let matchDist=maxPartDistance+1;let matchName="";for(const name of typeNameIdMap.keys()){const dist=editDistance(name,elem.name,maxPartDistance);if(dist<=matchDist&&dist<=maxPartDistance){if(dist===matchDist&&matchName>name){continue}matchDist=dist;matchName=name}}if(matchName!==""){parsedQuery.proposeCorrectionFrom=elem.name;parsedQuery.proposeCorrectionTo=matchName}}elem.typeFilter=TY_GENERIC}if(elem.generics.length>0&&elem.typeFilter===TY_GENERIC){parsedQuery.error=["Generic type parameter ",elem.name," does not accept generic parameters",]}for(const elem2 of elem.generics){convertNameToId(elem2)}elem.bindings=new Map(Array.from(elem.bindings.entries()).map(entry=>{const[name,constraints]=entry;if(!typeNameIdMap.has(name)){parsedQuery.error=["Type parameter ",name," does not exist",];return[null,[]]}for(const elem2 of constraints){convertNameToId(elem2)}return[typeNameIdMap.get(name).id,constraints]}),)}const fps=new Set();for(const elem of parsedQuery.elems){convertNameToId(elem);buildFunctionTypeFingerprint(elem,parsedQuery.typeFingerprint,fps)}for(const elem of parsedQuery.returned){convertNameToId(elem);buildFunctionTypeFingerprint(elem,parsedQuery.typeFingerprint,fps)}if(parsedQuery.foundElems===1&&parsedQuery.returned.length===0){if(parsedQuery.elems.length===1){const elem=parsedQuery.elems[0];for(let i=0,nSearchIndex=searchIndex.length;i0){const sortQ=(a,b)=>{const ag=a.generics.length===0&&a.bindings.size===0;const bg=b.generics.length===0&&b.bindings.size===0;if(ag!==bg){return ag-bg}const ai=a.id>0;const bi=b.id>0;return ai-bi};parsedQuery.elems.sort(sortQ);parsedQuery.returned.sort(sortQ);for(let i=0,nSearchIndex=searchIndex.length;i{const descs=await Promise.all(list.map(result=>{return searchIndexEmptyDesc.get(result.crate).contains(result.bitIndex)?"":searchState.loadDesc(result)}));for(const[i,result]of list.entries()){result.desc=descs[i]}}));if(parsedQuery.error!==null&&ret.others.length!==0){ret.query.error=null}return ret}function nextTab(direction){const next=(searchState.currentTab+direction+3)%searchState.focusedByTab.length;searchState.focusedByTab[searchState.currentTab]=document.activeElement;printTab(next);focusSearchResult()}function focusSearchResult(){const target=searchState.focusedByTab[searchState.currentTab]||document.querySelectorAll(".search-results.active a").item(0)||document.querySelectorAll("#search-tabs button").item(searchState.currentTab);searchState.focusedByTab[searchState.currentTab]=null;if(target){target.focus()}}function buildHrefAndPath(item){let displayPath;let href;const type=itemTypes[item.ty];const name=item.name;let path=item.path;let exactPath=item.exactPath;if(type==="mod"){displayPath=path+"::";href=ROOT_PATH+path.replace(/::/g,"/")+"/"+name+"/index.html"}else if(type==="import"){displayPath=item.path+"::";href=ROOT_PATH+item.path.replace(/::/g,"/")+"/index.html#reexport."+name}else if(type==="primitive"||type==="keyword"){displayPath="";href=ROOT_PATH+path.replace(/::/g,"/")+"/"+type+"."+name+".html"}else if(type==="externcrate"){displayPath="";href=ROOT_PATH+name+"/index.html"}else if(item.parent!==undefined){const myparent=item.parent;let anchor=type+"."+name;const parentType=itemTypes[myparent.ty];let pageType=parentType;let pageName=myparent.name;exactPath=`${myparent.exactPath}::${myparent.name}`;if(parentType==="primitive"){displayPath=myparent.name+"::"}else if(type==="structfield"&&parentType==="variant"){const enumNameIdx=item.path.lastIndexOf("::");const enumName=item.path.substr(enumNameIdx+2);path=item.path.substr(0,enumNameIdx);displayPath=path+"::"+enumName+"::"+myparent.name+"::";anchor="variant."+myparent.name+".field."+name;pageType="enum";pageName=enumName}else{displayPath=path+"::"+myparent.name+"::"}if(item.implDisambiguator!==null){anchor=item.implDisambiguator+"/"+anchor}href=ROOT_PATH+path.replace(/::/g,"/")+"/"+pageType+"."+pageName+".html#"+anchor}else{displayPath=item.path+"::";href=ROOT_PATH+item.path.replace(/::/g,"/")+"/"+type+"."+name+".html"}return[displayPath,href,`${exactPath}::${name}`]}function pathSplitter(path){const tmp=""+path.replace(/::/g,"::");if(tmp.endsWith("")){return tmp.slice(0,tmp.length-6)}return tmp}async function addTab(array,query,display){const extraClass=display?" active":"";const output=document.createElement("div");if(array.length>0){output.className="search-results "+extraClass;for(const item of array){const name=item.name;const type=itemTypes[item.ty];const longType=longItemTypes[item.ty];const typeName=longType.length!==0?`${longType}`:"?";const link=document.createElement("a");link.className="result-"+type;link.href=item.href;const resultName=document.createElement("div");resultName.className="result-name";resultName.insertAdjacentHTML("beforeend",`${typeName}`);link.appendChild(resultName);let alias=" ";if(item.is_alias){alias=` 
    \ +"use strict";if(!Array.prototype.toSpliced){Array.prototype.toSpliced=function(){const me=this.slice();Array.prototype.splice.apply(me,arguments);return me}}(function(){const itemTypes=["keyword","primitive","mod","externcrate","import","struct","enum","fn","type","static","trait","impl","tymethod","method","structfield","variant","macro","associatedtype","constant","associatedconstant","union","foreigntype","existential","attr","derive","traitalias","generic",];const longItemTypes=["keyword","primitive type","module","extern crate","re-export","struct","enum","function","type alias","static","trait","","trait method","method","struct field","enum variant","macro","assoc type","constant","assoc const","union","foreign type","existential type","attribute macro","derive macro","trait alias",];const TY_GENERIC=itemTypes.indexOf("generic");const TY_IMPORT=itemTypes.indexOf("import");const ROOT_PATH=typeof window!=="undefined"?window.rootPath:"../";const UNBOXING_LIMIT=5;function printTab(nb){let iter=0;let foundCurrentTab=false;let foundCurrentResultSet=false;onEachLazy(document.getElementById("search-tabs").childNodes,elem=>{if(nb===iter){addClass(elem,"selected");foundCurrentTab=true}else{removeClass(elem,"selected")}iter+=1});const isTypeSearch=(nb>0||iter===1);iter=0;onEachLazy(document.getElementById("results").childNodes,elem=>{if(nb===iter){addClass(elem,"active");foundCurrentResultSet=true}else{removeClass(elem,"active")}iter+=1});if(foundCurrentTab&&foundCurrentResultSet){searchState.currentTab=nb;const correctionsElem=document.getElementsByClassName("search-corrections");if(isTypeSearch){removeClass(correctionsElem[0],"hidden")}else{addClass(correctionsElem[0],"hidden")}}else if(nb!==0){printTab(0)}}const editDistanceState={current:[],prev:[],prevPrev:[],calculate:function calculate(a,b,limit){if(a.lengthlimit){return limit+1}while(b.length>0&&b[0]===a[0]){a=a.substring(1);b=b.substring(1)}while(b.length>0&&b[b.length-1]===a[a.length-1]){a=a.substring(0,a.length-1);b=b.substring(0,b.length-1)}if(b.length===0){return minDist}const aLength=a.length;const bLength=b.length;for(let i=0;i<=bLength;++i){this.current[i]=0;this.prev[i]=i;this.prevPrev[i]=Number.MAX_VALUE}for(let i=1;i<=aLength;++i){this.current[0]=i;const aIdx=i-1;for(let j=1;j<=bLength;++j){const bIdx=j-1;const substitutionCost=a[aIdx]===b[bIdx]?0:1;this.current[j]=Math.min(this.prev[j]+1,this.current[j-1]+1,this.prev[j-1]+substitutionCost,);if((i>1)&&(j>1)&&(a[aIdx]===b[bIdx-1])&&(a[aIdx-1]===b[bIdx])){this.current[j]=Math.min(this.current[j],this.prevPrev[j-2]+1,)}}const prevPrevTmp=this.prevPrev;this.prevPrev=this.prev;this.prev=this.current;this.current=prevPrevTmp}const distance=this.prev[bLength];return distance<=limit?distance:(limit+1)},};function editDistance(a,b,limit){return editDistanceState.calculate(a,b,limit)}function initSearch(rawSearchIndex){const MAX_RESULTS=200;const NO_TYPE_FILTER=-1;let searchIndex;let searchIndexDeprecated;let searchIndexEmptyDesc;let functionTypeFingerprint;let currentResults;const typeNameIdMap=new Map();const ALIASES=new Map();const typeNameIdOfArray=buildTypeMapIndex("array");const typeNameIdOfSlice=buildTypeMapIndex("slice");const typeNameIdOfArrayOrSlice=buildTypeMapIndex("[]");const typeNameIdOfTuple=buildTypeMapIndex("tuple");const typeNameIdOfUnit=buildTypeMapIndex("unit");const typeNameIdOfTupleOrUnit=buildTypeMapIndex("()");const typeNameIdOfFn=buildTypeMapIndex("fn");const typeNameIdOfFnMut=buildTypeMapIndex("fnmut");const typeNameIdOfFnOnce=buildTypeMapIndex("fnonce");const typeNameIdOfHof=buildTypeMapIndex("->");function buildTypeMapIndex(name,isAssocType){if(name===""||name===null){return null}if(typeNameIdMap.has(name)){const obj=typeNameIdMap.get(name);obj.assocOnly=isAssocType&&obj.assocOnly;return obj.id}else{const id=typeNameIdMap.size;typeNameIdMap.set(name,{id,assocOnly:isAssocType});return id}}function isSpecialStartCharacter(c){return"<\"".indexOf(c)!==-1}function isEndCharacter(c){return"=,>-])".indexOf(c)!==-1}function itemTypeFromName(typename){const index=itemTypes.findIndex(i=>i===typename);if(index<0){throw["Unknown type filter ",typename]}return index}function getStringElem(query,parserState,isInGenerics){if(isInGenerics){throw["Unexpected ","\""," in generics"]}else if(query.literalSearch){throw["Cannot have more than one literal search element"]}else if(parserState.totalElems-parserState.genericsElems>0){throw["Cannot use literal search when there is more than one element"]}parserState.pos+=1;const start=parserState.pos;const end=getIdentEndPosition(parserState);if(parserState.pos>=parserState.length){throw["Unclosed ","\""]}else if(parserState.userQuery[end]!=="\""){throw["Unexpected ",parserState.userQuery[end]," in a string element"]}else if(start===end){throw["Cannot have empty string element"]}parserState.pos+=1;query.literalSearch=true}function isPathStart(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="::"}function isReturnArrow(parserState){return parserState.userQuery.slice(parserState.pos,parserState.pos+2)==="->"}function isIdentCharacter(c){return(c==="_"||(c>="0"&&c<="9")||(c>="a"&&c<="z")||(c>="A"&&c<="Z"))}function isSeparatorCharacter(c){return c===","||c==="="}function isPathSeparator(c){return c===":"||c===" "}function prevIs(parserState,lookingFor){let pos=parserState.pos;while(pos>0){const c=parserState.userQuery[pos-1];if(c===lookingFor){return true}else if(c!==" "){break}pos-=1}return false}function isLastElemGeneric(elems,parserState){return(elems.length>0&&elems[elems.length-1].generics.length>0)||prevIs(parserState,">")}function skipWhitespace(parserState){while(parserState.pos0){throw["Cannot have more than one element if you use quotes"]}const typeFilter=parserState.typeFilter;parserState.typeFilter=null;if(name==="!"){if(typeFilter!==null&&typeFilter!=="primitive"){throw["Invalid search type: primitive never type ","!"," and ",typeFilter," both specified",]}if(generics.length!==0){throw["Never type ","!"," does not accept generic parameters",]}const bindingName=parserState.isInBinding;parserState.isInBinding=null;return makePrimitiveElement("never",{bindingName})}const quadcolon=/::\s*::/.exec(path);if(path.startsWith("::")){throw["Paths cannot start with ","::"]}else if(path.endsWith("::")){throw["Paths cannot end with ","::"]}else if(quadcolon!==null){throw["Unexpected ",quadcolon[0]]}const pathSegments=path.split(/(?:::\s*)|(?:\s+(?:::\s*)?)/);if(pathSegments.length===0||(pathSegments.length===1&&pathSegments[0]==="")){if(generics.length>0||prevIs(parserState,">")){throw["Found generics without a path"]}else{throw["Unexpected ",parserState.userQuery[parserState.pos]]}}for(const[i,pathSegment]of pathSegments.entries()){if(pathSegment==="!"){if(i!==0){throw["Never type ","!"," is not associated item"]}pathSegments[i]="never"}}parserState.totalElems+=1;if(isInGenerics){parserState.genericsElems+=1}const bindingName=parserState.isInBinding;parserState.isInBinding=null;const bindings=new Map();const pathLast=pathSegments[pathSegments.length-1];return{name:name.trim(),id:null,fullPath:pathSegments,pathWithoutLast:pathSegments.slice(0,pathSegments.length-1),pathLast,normalizedPathLast:pathLast.replace(/_/g,""),generics:generics.filter(gen=>{if(gen.bindingName!==null){if(gen.name!==null){gen.bindingName.generics.unshift(gen)}bindings.set(gen.bindingName.name,gen.bindingName.generics);return false}return true}),bindings,typeFilter,bindingName,}}function getIdentEndPosition(parserState){const start=parserState.pos;let end=parserState.pos;let foundExclamation=-1;while(parserState.pos0){throw["Unexpected ",c," after ",parserState.userQuery[parserState.pos-1]]}else{throw["Unexpected ",c]}}parserState.pos+=1;end=parserState.pos}if(foundExclamation!==-1&&foundExclamation!==start&&isIdentCharacter(parserState.userQuery[foundExclamation-1])){if(parserState.typeFilter===null){parserState.typeFilter="macro"}else if(parserState.typeFilter!=="macro"){throw["Invalid search type: macro ","!"," and ",parserState.typeFilter," both specified",]}end=foundExclamation}return end}function getFilteredNextElem(query,parserState,elems,isInGenerics){const start=parserState.pos;if(parserState.userQuery[parserState.pos]===":"&&!isPathStart(parserState)){throw["Expected type filter before ",":"]}getNextElem(query,parserState,elems,isInGenerics);if(parserState.userQuery[parserState.pos]===":"&&!isPathStart(parserState)){if(parserState.typeFilter!==null){throw["Unexpected ",":"," (expected path after type filter ",parserState.typeFilter+":",")",]}if(elems.length===0){throw["Expected type filter before ",":"]}else if(query.literalSearch){throw["Cannot use quotes on type filter"]}const typeFilterElem=elems.pop();checkExtraTypeFilterCharacters(start,parserState);parserState.typeFilter=typeFilterElem.name;parserState.pos+=1;parserState.totalElems-=1;query.literalSearch=false;getNextElem(query,parserState,elems,isInGenerics)}}function getNextElem(query,parserState,elems,isInGenerics){const generics=[];skipWhitespace(parserState);let start=parserState.pos;let end;if("[(".indexOf(parserState.userQuery[parserState.pos])!==-1){let endChar=")";let name="()";let friendlyName="tuple";if(parserState.userQuery[parserState.pos]==="["){endChar="]";name="[]";friendlyName="slice"}parserState.pos+=1;const{foundSeparator}=getItemsBefore(query,parserState,generics,endChar);const typeFilter=parserState.typeFilter;const bindingName=parserState.isInBinding;parserState.typeFilter=null;parserState.isInBinding=null;for(const gen of generics){if(gen.bindingName!==null){throw["Type parameter ","=",` cannot be within ${friendlyName} `,name]}}if(name==="()"&&!foundSeparator&&generics.length===1&&typeFilter===null){elems.push(generics[0])}else if(name==="()"&&generics.length===1&&generics[0].name==="->"){generics[0].typeFilter=typeFilter;elems.push(generics[0])}else{if(typeFilter!==null&&typeFilter!=="primitive"){throw["Invalid search type: primitive ",name," and ",typeFilter," both specified",]}parserState.totalElems+=1;if(isInGenerics){parserState.genericsElems+=1}elems.push(makePrimitiveElement(name,{bindingName,generics}))}}else if(parserState.userQuery[parserState.pos]==="&"){if(parserState.typeFilter!==null&&parserState.typeFilter!=="primitive"){throw["Invalid search type: primitive ","&"," and ",parserState.typeFilter," both specified",]}parserState.typeFilter=null;parserState.pos+=1;let c=parserState.userQuery[parserState.pos];while(c===" "&&parserState.pos=end){throw["Found generics without a path"]}parserState.pos+=1;getItemsBefore(query,parserState,generics,">")}else if(parserState.pos=end){throw["Found generics without a path"]}if(parserState.isInBinding){throw["Unexpected ","("," after ","="]}parserState.pos+=1;const typeFilter=parserState.typeFilter;parserState.typeFilter=null;getItemsBefore(query,parserState,generics,")");skipWhitespace(parserState);if(isReturnArrow(parserState)){parserState.pos+=2;skipWhitespace(parserState);getFilteredNextElem(query,parserState,generics,isInGenerics);generics[generics.length-1].bindingName=makePrimitiveElement("output")}else{generics.push(makePrimitiveElement(null,{bindingName:makePrimitiveElement("output"),typeFilter:null,}))}parserState.typeFilter=typeFilter}if(isStringElem){skipWhitespace(parserState)}if(start>=end&&generics.length===0){return}if(parserState.userQuery[parserState.pos]==="="){if(parserState.isInBinding){throw["Cannot write ","="," twice in a binding"]}if(!isInGenerics){throw["Type parameter ","="," must be within generics list"]}const name=parserState.userQuery.slice(start,end).trim();if(name==="!"){throw["Type parameter ","="," key cannot be ","!"," never type"]}if(name.includes("!")){throw["Type parameter ","="," key cannot be ","!"," macro"]}if(name.includes("::")){throw["Type parameter ","="," key cannot contain ","::"," path"]}if(name.includes(":")){throw["Type parameter ","="," key cannot contain ",":"," type"]}parserState.isInBinding={name,generics}}else{elems.push(createQueryElement(query,parserState,parserState.userQuery.slice(start,end),generics,isInGenerics,),)}}}function getItemsBefore(query,parserState,elems,endChar){let foundStopChar=true;let foundSeparator=false;const oldTypeFilter=parserState.typeFilter;parserState.typeFilter=null;const oldIsInBinding=parserState.isInBinding;parserState.isInBinding=null;let hofParameters=null;let extra="";if(endChar===">"){extra="<"}else if(endChar==="]"){extra="["}else if(endChar===")"){extra="("}else if(endChar===""){extra="->"}else{extra=endChar}while(parserState.pos"," after ","="]}hofParameters=[...elems];elems.length=0;parserState.pos+=2;foundStopChar=true;foundSeparator=false;continue}else if(c===" "){parserState.pos+=1;continue}else if(isSeparatorCharacter(c)){parserState.pos+=1;foundStopChar=true;foundSeparator=true;continue}else if(c===":"&&isPathStart(parserState)){throw["Unexpected ","::",": paths cannot start with ","::"]}else if(isEndCharacter(c)){throw["Unexpected ",c," after ",extra]}if(!foundStopChar){let extra=[];if(isLastElemGeneric(query.elems,parserState)){extra=[" after ",">"]}else if(prevIs(parserState,"\"")){throw["Cannot have more than one element if you use quotes"]}if(endChar!==""){throw["Expected ",",",", ","=",", or ",endChar,...extra,", found ",c,]}throw["Expected ",","," or ","=",...extra,", found ",c,]}const posBefore=parserState.pos;getFilteredNextElem(query,parserState,elems,endChar!=="");if(endChar!==""&&parserState.pos>=parserState.length){throw["Unclosed ",extra]}if(posBefore===parserState.pos){parserState.pos+=1}foundStopChar=false}if(parserState.pos>=parserState.length&&endChar!==""){throw["Unclosed ",extra]}parserState.pos+=1;if(hofParameters){foundSeparator=false;if([...elems,...hofParameters].some(x=>x.bindingName)||parserState.isInBinding){throw["Unexpected ","="," within ","->"]}const hofElem=makePrimitiveElement("->",{generics:hofParameters,bindings:new Map([["output",[...elems]]]),typeFilter:null,});elems.length=0;elems[0]=hofElem}parserState.typeFilter=oldTypeFilter;parserState.isInBinding=oldIsInBinding;return{foundSeparator}}function checkExtraTypeFilterCharacters(start,parserState){const query=parserState.userQuery.slice(start,parserState.pos).trim();for(const c in query){if(!isIdentCharacter(query[c])){throw["Unexpected ",query[c]," in type filter (before ",":",")",]}}}function parseInput(query,parserState){let foundStopChar=true;while(parserState.pos"){if(isReturnArrow(parserState)){break}throw["Unexpected ",c," (did you mean ","->","?)"]}else if(parserState.pos>0){throw["Unexpected ",c," after ",parserState.userQuery[parserState.pos-1]]}throw["Unexpected ",c]}else if(c===" "){skipWhitespace(parserState);continue}if(!foundStopChar){let extra="";if(isLastElemGeneric(query.elems,parserState)){extra=[" after ",">"]}else if(prevIs(parserState,"\"")){throw["Cannot have more than one element if you use quotes"]}if(parserState.typeFilter!==null){throw["Expected ",","," or ","->",...extra,", found ",c,]}throw["Expected ",",",", ",":"," or ","->",...extra,", found ",c,]}const before=query.elems.length;getFilteredNextElem(query,parserState,query.elems,false);if(query.elems.length===before){parserState.pos+=1}foundStopChar=false}if(parserState.typeFilter!==null){throw["Unexpected ",":"," (expected path after type filter ",parserState.typeFilter+":",")",]}while(parserState.pos"]}break}else{parserState.pos+=1}}}function newParsedQuery(userQuery){return{original:userQuery,userQuery:userQuery.toLowerCase(),elems:[],returned:[],foundElems:0,totalElems:0,literalSearch:false,error:null,correction:null,proposeCorrectionFrom:null,proposeCorrectionTo:null,typeFingerprint:new Uint32Array(4),}}function buildUrl(search,filterCrates){let extra="?search="+encodeURIComponent(search);if(filterCrates!==null){extra+="&filter-crate="+encodeURIComponent(filterCrates)}return getNakedUrl()+extra+window.location.hash}function getFilterCrates(){const elem=document.getElementById("crate-search");if(elem&&elem.value!=="all crates"&&rawSearchIndex.has(elem.value)){return elem.value}return null}function parseQuery(userQuery){function convertTypeFilterOnElem(elem){if(elem.typeFilter!==null){let typeFilter=elem.typeFilter;if(typeFilter==="const"){typeFilter="constant"}elem.typeFilter=itemTypeFromName(typeFilter)}else{elem.typeFilter=NO_TYPE_FILTER}for(const elem2 of elem.generics){convertTypeFilterOnElem(elem2)}for(const constraints of elem.bindings.values()){for(const constraint of constraints){convertTypeFilterOnElem(constraint)}}}userQuery=userQuery.trim().replace(/\r|\n|\t/g," ");const parserState={length:userQuery.length,pos:0,totalElems:0,genericsElems:0,typeFilter:null,isInBinding:null,userQuery:userQuery.toLowerCase(),};let query=newParsedQuery(userQuery);try{parseInput(query,parserState);for(const elem of query.elems){convertTypeFilterOnElem(elem)}for(const elem of query.returned){convertTypeFilterOnElem(elem)}}catch(err){query=newParsedQuery(userQuery);query.error=err;return query}if(!query.literalSearch){query.literalSearch=parserState.totalElems>1}query.foundElems=query.elems.length+query.returned.length;query.totalElems=parserState.totalElems;return query}function createQueryResults(results_in_args,results_returned,results_others,parsedQuery){return{"in_args":results_in_args,"returned":results_returned,"others":results_others,"query":parsedQuery,}}async function execQuery(parsedQuery,filterCrates,currentCrate){const results_others=new Map(),results_in_args=new Map(),results_returned=new Map();function transformResults(results){const duplicates=new Set();const out=[];for(const result of results){if(result.id!==-1){const obj=searchIndex[result.id];obj.dist=result.dist;const res=buildHrefAndPath(obj);obj.displayPath=pathSplitter(res[0]);obj.fullPath=res[2]+"|"+obj.ty;if(duplicates.has(obj.fullPath)){continue}if(obj.ty===TY_IMPORT&&duplicates.has(res[2])){continue}if(duplicates.has(res[2]+"|"+TY_IMPORT)){continue}duplicates.add(obj.fullPath);duplicates.add(res[2]);obj.href=res[1];out.push(obj);if(out.length>=MAX_RESULTS){break}}}return out}async function sortResults(results,isType,preferredCrate){const userQuery=parsedQuery.userQuery;const result_list=[];for(const result of results.values()){result.item=searchIndex[result.id];result.word=searchIndex[result.id].word;result_list.push(result)}result_list.sort((aaa,bbb)=>{let a,b;a=(aaa.word!==userQuery);b=(bbb.word!==userQuery);if(a!==b){return a-b}a=(aaa.index<0);b=(bbb.index<0);if(a!==b){return a-b}a=aaa.path_dist;b=bbb.path_dist;if(a!==b){return a-b}a=aaa.index;b=bbb.index;if(a!==b){return a-b}a=(aaa.dist);b=(bbb.dist);if(a!==b){return a-b}a=searchIndexDeprecated.get(aaa.item.crate).contains(aaa.item.bitIndex);b=searchIndexDeprecated.get(bbb.item.crate).contains(bbb.item.bitIndex);if(a!==b){return a-b}a=(aaa.item.crate!==preferredCrate);b=(bbb.item.crate!==preferredCrate);if(a!==b){return a-b}a=aaa.word.length;b=bbb.word.length;if(a!==b){return a-b}a=aaa.word;b=bbb.word;if(a!==b){return(a>b?+1:-1)}a=searchIndexEmptyDesc.get(aaa.item.crate).contains(aaa.item.bitIndex);b=searchIndexEmptyDesc.get(bbb.item.crate).contains(bbb.item.bitIndex);if(a!==b){return a-b}a=aaa.item.ty;b=bbb.item.ty;if(a!==b){return a-b}a=aaa.item.path;b=bbb.item.path;if(a!==b){return(a>b?+1:-1)}return 0});return transformResults(result_list)}function unifyFunctionTypes(fnTypesIn,queryElems,whereClause,mgensIn,solutionCb,unboxingDepth,){if(unboxingDepth>=UNBOXING_LIMIT){return false}const mgens=mgensIn===null?null:new Map(mgensIn);if(queryElems.length===0){return!solutionCb||solutionCb(mgens)}if(!fnTypesIn||fnTypesIn.length===0){return false}const ql=queryElems.length;const fl=fnTypesIn.length;if(ql===1&&queryElems[0].generics.length===0&&queryElems[0].bindings.size===0){const queryElem=queryElems[0];for(const fnType of fnTypesIn){if(!unifyFunctionTypeIsMatchCandidate(fnType,queryElem,mgens)){continue}if(fnType.id<0&&queryElem.id<0){if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==queryElem.id){continue}const mgensScratch=new Map(mgens);mgensScratch.set(fnType.id,queryElem.id);if(!solutionCb||solutionCb(mgensScratch)){return true}}else if(!solutionCb||solutionCb(mgens?new Map(mgens):null)){return true}}for(const fnType of fnTypesIn){if(!unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens,unboxingDepth+1,)){continue}if(fnType.id<0){if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==0){continue}const mgensScratch=new Map(mgens);mgensScratch.set(fnType.id,0);if(unifyFunctionTypes(whereClause[(-fnType.id)-1],queryElems,whereClause,mgensScratch,solutionCb,unboxingDepth+1,)){return true}}else if(unifyFunctionTypes([...fnType.generics,...Array.from(fnType.bindings.values()).flat()],queryElems,whereClause,mgens?new Map(mgens):null,solutionCb,unboxingDepth+1,)){return true}}return false}const fnTypes=fnTypesIn.slice();const flast=fl-1;const qlast=ql-1;const queryElem=queryElems[qlast];let queryElemsTmp=null;for(let i=flast;i>=0;i-=1){const fnType=fnTypes[i];if(!unifyFunctionTypeIsMatchCandidate(fnType,queryElem,mgens)){continue}let mgensScratch;if(fnType.id<0){mgensScratch=new Map(mgens);if(mgensScratch.has(fnType.id)&&mgensScratch.get(fnType.id)!==queryElem.id){continue}mgensScratch.set(fnType.id,queryElem.id)}else{mgensScratch=mgens}fnTypes[i]=fnTypes[flast];fnTypes.length=flast;if(!queryElemsTmp){queryElemsTmp=queryElems.slice(0,qlast)}const passesUnification=unifyFunctionTypes(fnTypes,queryElemsTmp,whereClause,mgensScratch,mgensScratch=>{if(fnType.generics.length===0&&queryElem.generics.length===0&&fnType.bindings.size===0&&queryElem.bindings.size===0){return!solutionCb||solutionCb(mgensScratch)}const solution=unifyFunctionTypeCheckBindings(fnType,queryElem,whereClause,mgensScratch,unboxingDepth,);if(!solution){return false}const simplifiedGenerics=solution.simplifiedGenerics;for(const simplifiedMgens of solution.mgens){const passesUnification=unifyFunctionTypes(simplifiedGenerics,queryElem.generics,whereClause,simplifiedMgens,solutionCb,unboxingDepth,);if(passesUnification){return true}}return false},unboxingDepth,);if(passesUnification){return true}fnTypes[flast]=fnTypes[i];fnTypes[i]=fnType;fnTypes.length=fl}for(let i=flast;i>=0;i-=1){const fnType=fnTypes[i];if(!unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens,unboxingDepth+1,)){continue}let mgensScratch;if(fnType.id<0){mgensScratch=new Map(mgens);if(mgensScratch.has(fnType.id)&&mgensScratch.get(fnType.id)!==0){continue}mgensScratch.set(fnType.id,0)}else{mgensScratch=mgens}const generics=fnType.id<0?whereClause[(-fnType.id)-1]:fnType.generics;const bindings=fnType.bindings?Array.from(fnType.bindings.values()).flat():[];const passesUnification=unifyFunctionTypes(fnTypes.toSpliced(i,1,...generics,...bindings),queryElems,whereClause,mgensScratch,solutionCb,unboxingDepth+1,);if(passesUnification){return true}}return false}function unifyFunctionTypeIsMatchCandidate(fnType,queryElem,mgensIn){if(!typePassesFilter(queryElem.typeFilter,fnType.ty)){return false}if(fnType.id<0&&queryElem.id<0){if(mgensIn){if(mgensIn.has(fnType.id)&&mgensIn.get(fnType.id)!==queryElem.id){return false}for(const[fid,qid]of mgensIn.entries()){if(fnType.id!==fid&&queryElem.id===qid){return false}if(fnType.id===fid&&queryElem.id!==qid){return false}}}return true}else{if(queryElem.id===typeNameIdOfArrayOrSlice&&(fnType.id===typeNameIdOfSlice||fnType.id===typeNameIdOfArray)){}else if(queryElem.id===typeNameIdOfTupleOrUnit&&(fnType.id===typeNameIdOfTuple||fnType.id===typeNameIdOfUnit)){}else if(queryElem.id===typeNameIdOfHof&&(fnType.id===typeNameIdOfFn||fnType.id===typeNameIdOfFnMut||fnType.id===typeNameIdOfFnOnce)){}else if(fnType.id!==queryElem.id||queryElem.id===null){return false}if((fnType.generics.length+fnType.bindings.size)===0&&queryElem.generics.length!==0){return false}if(fnType.bindings.size0){const fnTypePath=fnType.path!==undefined&&fnType.path!==null?fnType.path.split("::"):[];if(queryElemPathLength>fnTypePath.length){return false}let i=0;for(const path of fnTypePath){if(path===queryElem.pathWithoutLast[i]){i+=1;if(i>=queryElemPathLength){break}}}if(i0){let mgensSolutionSet=[mgensIn];for(const[name,constraints]of queryElem.bindings.entries()){if(mgensSolutionSet.length===0){return false}if(!fnType.bindings.has(name)){return false}const fnTypeBindings=fnType.bindings.get(name);mgensSolutionSet=mgensSolutionSet.flatMap(mgens=>{const newSolutions=[];unifyFunctionTypes(fnTypeBindings,constraints,whereClause,mgens,newMgens=>{newSolutions.push(newMgens);return false},unboxingDepth,);return newSolutions})}if(mgensSolutionSet.length===0){return false}const binds=Array.from(fnType.bindings.entries()).flatMap(entry=>{const[name,constraints]=entry;if(queryElem.bindings.has(name)){return[]}else{return constraints}});if(simplifiedGenerics.length>0){simplifiedGenerics=[...simplifiedGenerics,...binds]}else{simplifiedGenerics=binds}return{simplifiedGenerics,mgens:mgensSolutionSet}}return{simplifiedGenerics,mgens:[mgensIn]}}function unifyFunctionTypeIsUnboxCandidate(fnType,queryElem,whereClause,mgens,unboxingDepth,){if(unboxingDepth>=UNBOXING_LIMIT){return false}if(fnType.id<0&&queryElem.id>=0){if(!whereClause){return false}if(mgens&&mgens.has(fnType.id)&&mgens.get(fnType.id)!==0){return false}const mgensTmp=new Map(mgens);mgensTmp.set(fnType.id,null);return checkIfInList(whereClause[(-fnType.id)-1],queryElem,whereClause,mgensTmp,unboxingDepth,)}else if(fnType.generics.length>0||fnType.bindings.size>0){const simplifiedGenerics=[...fnType.generics,...Array.from(fnType.bindings.values()).flat(),];return checkIfInList(simplifiedGenerics,queryElem,whereClause,mgens,unboxingDepth,)}return false}function checkIfInList(list,elem,whereClause,mgens,unboxingDepth){for(const entry of list){if(checkType(entry,elem,whereClause,mgens,unboxingDepth)){return true}}return false}function checkType(row,elem,whereClause,mgens,unboxingDepth){if(unboxingDepth>=UNBOXING_LIMIT){return false}if(row.bindings.size===0&&elem.bindings.size===0){if(elem.id<0&&mgens===null){return row.id<0||checkIfInList(row.generics,elem,whereClause,mgens,unboxingDepth+1,)}if(row.id>0&&elem.id>0&&elem.pathWithoutLast.length===0&&typePassesFilter(elem.typeFilter,row.ty)&&elem.generics.length===0&&elem.id!==typeNameIdOfArrayOrSlice&&elem.id!==typeNameIdOfTupleOrUnit&&elem.id!==typeNameIdOfHof){return row.id===elem.id||checkIfInList(row.generics,elem,whereClause,mgens,unboxingDepth,)}}return unifyFunctionTypes([row],[elem],whereClause,mgens,null,unboxingDepth)}function checkPath(contains,ty){if(contains.length===0){return 0}const maxPathEditDistance=Math.floor(contains.reduce((acc,next)=>acc+next.length,0)/3,);let ret_dist=maxPathEditDistance+1;const path=ty.path.split("::");if(ty.parent&&ty.parent.name){path.push(ty.parent.name.toLowerCase())}const length=path.length;const clength=contains.length;pathiter:for(let i=length-clength;i>=0;i-=1){let dist_total=0;for(let x=0;xmaxPathEditDistance){continue pathiter}dist_total+=dist}}ret_dist=Math.min(ret_dist,Math.round(dist_total/clength))}return ret_dist>maxPathEditDistance?null:ret_dist}function typePassesFilter(filter,type){if(filter<=NO_TYPE_FILTER||filter===type)return true;const name=itemTypes[type];switch(itemTypes[filter]){case"constant":return name==="associatedconstant";case"fn":return name==="method"||name==="tymethod";case"type":return name==="primitive"||name==="associatedtype";case"trait":return name==="traitalias"}return false}function createAliasFromItem(item){return{crate:item.crate,name:item.name,path:item.path,descShard:item.descShard,descIndex:item.descIndex,exactPath:item.exactPath,ty:item.ty,parent:item.parent,type:item.type,is_alias:true,bitIndex:item.bitIndex,implDisambiguator:item.implDisambiguator,}}function handleAliases(ret,query,filterCrates,currentCrate){const lowerQuery=query.toLowerCase();const aliases=[];const crateAliases=[];if(filterCrates!==null){if(ALIASES.has(filterCrates)&&ALIASES.get(filterCrates).has(lowerQuery)){const query_aliases=ALIASES.get(filterCrates).get(lowerQuery);for(const alias of query_aliases){aliases.push(createAliasFromItem(searchIndex[alias]))}}}else{for(const[crate,crateAliasesIndex]of ALIASES){if(crateAliasesIndex.has(lowerQuery)){const pushTo=crate===currentCrate?crateAliases:aliases;const query_aliases=crateAliasesIndex.get(lowerQuery);for(const alias of query_aliases){pushTo.push(createAliasFromItem(searchIndex[alias]))}}}}const sortFunc=(aaa,bbb)=>{if(aaa.path{alias.alias=query;const res=buildHrefAndPath(alias);alias.displayPath=pathSplitter(res[0]);alias.fullPath=alias.displayPath+alias.name;alias.href=res[1];ret.others.unshift(alias);if(ret.others.length>MAX_RESULTS){ret.others.pop()}};aliases.forEach(pushFunc);crateAliases.forEach(pushFunc)}function addIntoResults(results,fullId,id,index,dist,path_dist,maxEditDistance){if(dist<=maxEditDistance||index!==-1){if(results.has(fullId)){const result=results.get(fullId);if(result.dontValidate||result.dist<=dist){return}}results.set(fullId,{id:id,index:index,dontValidate:parsedQuery.literalSearch,dist:dist,path_dist:path_dist,})}}function handleSingleArg(row,pos,elem,results_others,results_in_args,results_returned,maxEditDistance,){if(!row||(filterCrates!==null&&row.crate!==filterCrates)){return}let path_dist=0;const fullId=row.id;const tfpDist=compareTypeFingerprints(fullId,parsedQuery.typeFingerprint,);if(tfpDist!==null){const in_args=row.type&&row.type.inputs&&checkIfInList(row.type.inputs,elem,row.type.where_clause,null,0);const returned=row.type&&row.type.output&&checkIfInList(row.type.output,elem,row.type.where_clause,null,0);if(in_args){results_in_args.max_dist=Math.max(results_in_args.max_dist||0,tfpDist);const maxDist=results_in_args.sizenormalizedIndex&&normalizedIndex!==-1)){index=normalizedIndex}if(elem.fullPath.length>1){path_dist=checkPath(elem.pathWithoutLast,row);if(path_dist===null){return}}if(parsedQuery.literalSearch){if(row.word===elem.pathLast){addIntoResults(results_others,fullId,pos,index,0,path_dist)}return}const dist=editDistance(row.normalizedName,elem.normalizedPathLast,maxEditDistance);if(index===-1&&dist>maxEditDistance){return}addIntoResults(results_others,fullId,pos,index,dist,path_dist,maxEditDistance)}function handleArgs(row,pos,results){if(!row||(filterCrates!==null&&row.crate!==filterCrates)||!row.type){return}const tfpDist=compareTypeFingerprints(row.id,parsedQuery.typeFingerprint,);if(tfpDist===null){return}if(results.size>=MAX_RESULTS&&tfpDist>results.max_dist){return}if(!unifyFunctionTypes(row.type.inputs,parsedQuery.elems,row.type.where_clause,null,mgens=>{return unifyFunctionTypes(row.type.output,parsedQuery.returned,row.type.where_clause,mgens,null,0,)},0,)){return}results.max_dist=Math.max(results.max_dist||0,tfpDist);addIntoResults(results,row.id,pos,0,tfpDist,0,Number.MAX_VALUE)}function innerRunQuery(){const queryLen=parsedQuery.elems.reduce((acc,next)=>acc+next.pathLast.length,0)+parsedQuery.returned.reduce((acc,next)=>acc+next.pathLast.length,0);const maxEditDistance=Math.floor(queryLen/3);const genericSymbols=new Map();function convertNameToId(elem,isAssocType){if(typeNameIdMap.has(elem.normalizedPathLast)&&(isAssocType||!typeNameIdMap.get(elem.normalizedPathLast).assocOnly)){elem.id=typeNameIdMap.get(elem.normalizedPathLast).id}else if(!parsedQuery.literalSearch){let match=null;let matchDist=maxEditDistance+1;let matchName="";for(const[name,{id,assocOnly}]of typeNameIdMap){const dist=editDistance(name,elem.normalizedPathLast,maxEditDistance);if(dist<=matchDist&&dist<=maxEditDistance&&(isAssocType||!assocOnly)){if(dist===matchDist&&matchName>name){continue}match=id;matchDist=dist;matchName=name}}if(match!==null){parsedQuery.correction=matchName}elem.id=match}if((elem.id===null&&parsedQuery.totalElems>1&&elem.typeFilter===-1&&elem.generics.length===0&&elem.bindings.size===0)||elem.typeFilter===TY_GENERIC){if(genericSymbols.has(elem.name)){elem.id=genericSymbols.get(elem.name)}else{elem.id=-(genericSymbols.size+1);genericSymbols.set(elem.name,elem.id)}if(elem.typeFilter===-1&&elem.name.length>=3){const maxPartDistance=Math.floor(elem.name.length/3);let matchDist=maxPartDistance+1;let matchName="";for(const name of typeNameIdMap.keys()){const dist=editDistance(name,elem.name,maxPartDistance);if(dist<=matchDist&&dist<=maxPartDistance){if(dist===matchDist&&matchName>name){continue}matchDist=dist;matchName=name}}if(matchName!==""){parsedQuery.proposeCorrectionFrom=elem.name;parsedQuery.proposeCorrectionTo=matchName}}elem.typeFilter=TY_GENERIC}if(elem.generics.length>0&&elem.typeFilter===TY_GENERIC){parsedQuery.error=["Generic type parameter ",elem.name," does not accept generic parameters",]}for(const elem2 of elem.generics){convertNameToId(elem2)}elem.bindings=new Map(Array.from(elem.bindings.entries()).map(entry=>{const[name,constraints]=entry;if(!typeNameIdMap.has(name)){parsedQuery.error=["Type parameter ",name," does not exist",];return[null,[]]}for(const elem2 of constraints){convertNameToId(elem2)}return[typeNameIdMap.get(name).id,constraints]}),)}const fps=new Set();for(const elem of parsedQuery.elems){convertNameToId(elem);buildFunctionTypeFingerprint(elem,parsedQuery.typeFingerprint,fps)}for(const elem of parsedQuery.returned){convertNameToId(elem);buildFunctionTypeFingerprint(elem,parsedQuery.typeFingerprint,fps)}if(parsedQuery.foundElems===1&&parsedQuery.returned.length===0){if(parsedQuery.elems.length===1){const elem=parsedQuery.elems[0];for(let i=0,nSearchIndex=searchIndex.length;i0){const sortQ=(a,b)=>{const ag=a.generics.length===0&&a.bindings.size===0;const bg=b.generics.length===0&&b.bindings.size===0;if(ag!==bg){return ag-bg}const ai=a.id>0;const bi=b.id>0;return ai-bi};parsedQuery.elems.sort(sortQ);parsedQuery.returned.sort(sortQ);for(let i=0,nSearchIndex=searchIndex.length;i{const descs=await Promise.all(list.map(result=>{return searchIndexEmptyDesc.get(result.crate).contains(result.bitIndex)?"":searchState.loadDesc(result)}));for(const[i,result]of list.entries()){result.desc=descs[i]}}));if(parsedQuery.error!==null&&ret.others.length!==0){ret.query.error=null}return ret}function nextTab(direction){const next=(searchState.currentTab+direction+3)%searchState.focusedByTab.length;searchState.focusedByTab[searchState.currentTab]=document.activeElement;printTab(next);focusSearchResult()}function focusSearchResult(){const target=searchState.focusedByTab[searchState.currentTab]||document.querySelectorAll(".search-results.active a").item(0)||document.querySelectorAll("#search-tabs button").item(searchState.currentTab);searchState.focusedByTab[searchState.currentTab]=null;if(target){target.focus()}}function buildHrefAndPath(item){let displayPath;let href;const type=itemTypes[item.ty];const name=item.name;let path=item.path;let exactPath=item.exactPath;if(type==="mod"){displayPath=path+"::";href=ROOT_PATH+path.replace(/::/g,"/")+"/"+name+"/index.html"}else if(type==="import"){displayPath=item.path+"::";href=ROOT_PATH+item.path.replace(/::/g,"/")+"/index.html#reexport."+name}else if(type==="primitive"||type==="keyword"){displayPath="";href=ROOT_PATH+path.replace(/::/g,"/")+"/"+type+"."+name+".html"}else if(type==="externcrate"){displayPath="";href=ROOT_PATH+name+"/index.html"}else if(item.parent!==undefined){const myparent=item.parent;let anchor=type+"."+name;const parentType=itemTypes[myparent.ty];let pageType=parentType;let pageName=myparent.name;exactPath=`${myparent.exactPath}::${myparent.name}`;if(parentType==="primitive"){displayPath=myparent.name+"::"}else if(type==="structfield"&&parentType==="variant"){const enumNameIdx=item.path.lastIndexOf("::");const enumName=item.path.substr(enumNameIdx+2);path=item.path.substr(0,enumNameIdx);displayPath=path+"::"+enumName+"::"+myparent.name+"::";anchor="variant."+myparent.name+".field."+name;pageType="enum";pageName=enumName}else{displayPath=path+"::"+myparent.name+"::"}if(item.implDisambiguator!==null){anchor=item.implDisambiguator+"/"+anchor}href=ROOT_PATH+path.replace(/::/g,"/")+"/"+pageType+"."+pageName+".html#"+anchor}else{displayPath=item.path+"::";href=ROOT_PATH+item.path.replace(/::/g,"/")+"/"+type+"."+name+".html"}return[displayPath,href,`${exactPath}::${name}`]}function pathSplitter(path){const tmp=""+path.replace(/::/g,"::");if(tmp.endsWith("")){return tmp.slice(0,tmp.length-6)}return tmp}async function addTab(array,query,display){const extraClass=display?" active":"";const output=document.createElement("div");if(array.length>0){output.className="search-results "+extraClass;for(const item of array){const name=item.name;const type=itemTypes[item.ty];const longType=longItemTypes[item.ty];const typeName=longType.length!==0?`${longType}`:"?";const link=document.createElement("a");link.className="result-"+type;link.href=item.href;const resultName=document.createElement("div");resultName.className="result-name";resultName.insertAdjacentHTML("beforeend",`${typeName}`);link.appendChild(resultName);let alias=" ";if(item.is_alias){alias=`
    \ ${item.alias} - see \
    `}resultName.insertAdjacentHTML("beforeend",`
    ${alias}\ ${item.displayPath}${name}\ diff --git a/docs/static.files/storage-e32f0c247825364d.js b/docs/static.files/storage-118b08c4c78b968e.js similarity index 74% rename from docs/static.files/storage-e32f0c247825364d.js rename to docs/static.files/storage-118b08c4c78b968e.js index 61ddce2397..9818946774 100644 --- a/docs/static.files/storage-e32f0c247825364d.js +++ b/docs/static.files/storage-118b08c4c78b968e.js @@ -1 +1,24 @@ -"use strict";const builtinThemes=["light","dark","ayu"];const darkThemes=["dark","ayu"];window.currentTheme=document.getElementById("themeStyle");const settingsDataset=(function(){const settingsElement=document.getElementById("default-settings");return settingsElement&&settingsElement.dataset?settingsElement.dataset:null})();function getSettingValue(settingName){const current=getCurrentValue(settingName);if(current===null&&settingsDataset!==null){const def=settingsDataset[settingName.replace(/-/g,"_")];if(def!==undefined){return def}}return current}const localStoredTheme=getSettingValue("theme");function hasClass(elem,className){return elem&&elem.classList&&elem.classList.contains(className)}function addClass(elem,className){if(elem&&elem.classList){elem.classList.add(className)}}function removeClass(elem,className){if(elem&&elem.classList){elem.classList.remove(className)}}function onEach(arr,func){for(const elem of arr){if(func(elem)){return true}}return false}function onEachLazy(lazyArray,func){return onEach(Array.prototype.slice.call(lazyArray),func)}function updateLocalStorage(name,value){try{window.localStorage.setItem("rustdoc-"+name,value)}catch(e){}}function getCurrentValue(name){try{return window.localStorage.getItem("rustdoc-"+name)}catch(e){return null}}const getVar=(function getVar(name){const el=document.querySelector("head > meta[name='rustdoc-vars']");return el?el.attributes["data-"+name].value:null});function switchTheme(newThemeName,saveTheme){const themeNames=getVar("themes").split(",").filter(t=>t);themeNames.push(...builtinThemes);if(themeNames.indexOf(newThemeName)===-1){return}if(saveTheme){updateLocalStorage("theme",newThemeName)}document.documentElement.setAttribute("data-theme",newThemeName);if(builtinThemes.indexOf(newThemeName)!==-1){if(window.currentTheme){window.currentTheme.parentNode.removeChild(window.currentTheme);window.currentTheme=null}}else{const newHref=getVar("root-path")+encodeURIComponent(newThemeName)+getVar("resource-suffix")+".css";if(!window.currentTheme){if(document.readyState==="loading"){document.write(``);window.currentTheme=document.getElementById("themeStyle")}else{window.currentTheme=document.createElement("link");window.currentTheme.rel="stylesheet";window.currentTheme.id="themeStyle";window.currentTheme.href=newHref;document.documentElement.appendChild(window.currentTheme)}}else if(newHref!==window.currentTheme.href){window.currentTheme.href=newHref}}}const updateTheme=(function(){const mql=window.matchMedia("(prefers-color-scheme: dark)");function updateTheme(){if(getSettingValue("use-system-theme")!=="false"){const lightTheme=getSettingValue("preferred-light-theme")||"light";const darkTheme=getSettingValue("preferred-dark-theme")||"dark";updateLocalStorage("use-system-theme","true");switchTheme(mql.matches?darkTheme:lightTheme,true)}else{switchTheme(getSettingValue("theme"),false)}}mql.addEventListener("change",updateTheme);return updateTheme})();if(getSettingValue("use-system-theme")!=="false"&&window.matchMedia){if(getSettingValue("use-system-theme")===null&&getSettingValue("preferred-dark-theme")===null&&darkThemes.indexOf(localStoredTheme)>=0){updateLocalStorage("preferred-dark-theme",localStoredTheme)}}updateTheme();if(getSettingValue("source-sidebar-show")==="true"){addClass(document.documentElement,"src-sidebar-expanded")}if(getSettingValue("hide-sidebar")==="true"){addClass(document.documentElement,"hide-sidebar")}function updateSidebarWidth(){const desktopSidebarWidth=getSettingValue("desktop-sidebar-width");if(desktopSidebarWidth&&desktopSidebarWidth!=="null"){document.documentElement.style.setProperty("--desktop-sidebar-width",desktopSidebarWidth+"px",)}const srcSidebarWidth=getSettingValue("src-sidebar-width");if(srcSidebarWidth&&srcSidebarWidth!=="null"){document.documentElement.style.setProperty("--src-sidebar-width",srcSidebarWidth+"px",)}}updateSidebarWidth();window.addEventListener("pageshow",ev=>{if(ev.persisted){setTimeout(updateTheme,0);setTimeout(updateSidebarWidth,0)}}) \ No newline at end of file +"use strict";const builtinThemes=["light","dark","ayu"];const darkThemes=["dark","ayu"];window.currentTheme=document.getElementById("themeStyle");const settingsDataset=(function(){const settingsElement=document.getElementById("default-settings");return settingsElement&&settingsElement.dataset?settingsElement.dataset:null})();function getSettingValue(settingName){const current=getCurrentValue(settingName);if(current===null&&settingsDataset!==null){const def=settingsDataset[settingName.replace(/-/g,"_")];if(def!==undefined){return def}}return current}const localStoredTheme=getSettingValue("theme");function hasClass(elem,className){return elem&&elem.classList&&elem.classList.contains(className)}function addClass(elem,className){if(elem&&elem.classList){elem.classList.add(className)}}function removeClass(elem,className){if(elem&&elem.classList){elem.classList.remove(className)}}function onEach(arr,func){for(const elem of arr){if(func(elem)){return true}}return false}function onEachLazy(lazyArray,func){return onEach(Array.prototype.slice.call(lazyArray),func)}function updateLocalStorage(name,value){try{window.localStorage.setItem("rustdoc-"+name,value)}catch(e){}}function getCurrentValue(name){try{return window.localStorage.getItem("rustdoc-"+name)}catch(e){return null}}const getVar=(function getVar(name){const el=document.querySelector("head > meta[name='rustdoc-vars']");return el?el.attributes["data-"+name].value:null});function switchTheme(newThemeName,saveTheme){const themeNames=getVar("themes").split(",").filter(t=>t);themeNames.push(...builtinThemes);if(themeNames.indexOf(newThemeName)===-1){return}if(saveTheme){updateLocalStorage("theme",newThemeName)}document.documentElement.setAttribute("data-theme",newThemeName);if(builtinThemes.indexOf(newThemeName)!==-1){if(window.currentTheme){window.currentTheme.parentNode.removeChild(window.currentTheme);window.currentTheme=null}}else{const newHref=getVar("root-path")+encodeURIComponent(newThemeName)+getVar("resource-suffix")+".css";if(!window.currentTheme){if(document.readyState==="loading"){document.write(``);window.currentTheme=document.getElementById("themeStyle")}else{window.currentTheme=document.createElement("link");window.currentTheme.rel="stylesheet";window.currentTheme.id="themeStyle";window.currentTheme.href=newHref;document.documentElement.appendChild(window.currentTheme)}}else if(newHref!==window.currentTheme.href){window.currentTheme.href=newHref}}}const updateTheme=(function(){const mql=window.matchMedia("(prefers-color-scheme: dark)");function updateTheme(){if(getSettingValue("use-system-theme")!=="false"){const lightTheme=getSettingValue("preferred-light-theme")||"light";const darkTheme=getSettingValue("preferred-dark-theme")||"dark";updateLocalStorage("use-system-theme","true");switchTheme(mql.matches?darkTheme:lightTheme,true)}else{switchTheme(getSettingValue("theme"),false)}}mql.addEventListener("change",updateTheme);return updateTheme})();if(getSettingValue("use-system-theme")!=="false"&&window.matchMedia){if(getSettingValue("use-system-theme")===null&&getSettingValue("preferred-dark-theme")===null&&darkThemes.indexOf(localStoredTheme)>=0){updateLocalStorage("preferred-dark-theme",localStoredTheme)}}updateTheme();if(getSettingValue("source-sidebar-show")==="true"){addClass(document.documentElement,"src-sidebar-expanded")}if(getSettingValue("hide-sidebar")==="true"){addClass(document.documentElement,"hide-sidebar")}function updateSidebarWidth(){const desktopSidebarWidth=getSettingValue("desktop-sidebar-width");if(desktopSidebarWidth&&desktopSidebarWidth!=="null"){document.documentElement.style.setProperty("--desktop-sidebar-width",desktopSidebarWidth+"px",)}const srcSidebarWidth=getSettingValue("src-sidebar-width");if(srcSidebarWidth&&srcSidebarWidth!=="null"){document.documentElement.style.setProperty("--src-sidebar-width",srcSidebarWidth+"px",)}}updateSidebarWidth();window.addEventListener("pageshow",ev=>{if(ev.persisted){setTimeout(updateTheme,0);setTimeout(updateSidebarWidth,0)}});class RustdocSearchElement extends HTMLElement{constructor(){super()}connectedCallback(){const rootPath=getVar("root-path");const currentCrate=getVar("current-crate");this.innerHTML=``}}window.customElements.define("rustdoc-search",RustdocSearchElement) \ No newline at end of file diff --git a/docs/type.impl/alloc/boxed/struct.Box.js b/docs/type.impl/alloc/boxed/struct.Box.js index abd583f13e..32c31084e8 100644 --- a/docs/type.impl/alloc/boxed/struct.Box.js +++ b/docs/type.impl/alloc/boxed/struct.Box.js @@ -1,4 +1,4 @@ (function() {var type_impls = { -"conjure_core":[["
    §

    impl<A> Arbitrary for Box<A>
    where\n A: Arbitrary,

    §

    type Parameters = <A as Arbitrary>::Parameters

    The type of parameters that arbitrary_with accepts for configuration\nof the generated Strategy. Parameters must implement Default.
    §

    type Strategy = MapInto<<A as Arbitrary>::Strategy, Box<A>>

    The type of Strategy used to generate values of type Self.
    §

    fn arbitrary_with(\n args: <Box<A> as Arbitrary>::Parameters\n) -> <Box<A> as Arbitrary>::Strategy

    Generates a Strategy for producing arbitrary values of type the\nimplementing type (Self). The strategy is passed the arguments given\nin args. Read more
    §

    fn arbitrary() -> Self::Strategy

    Generates a Strategy for producing arbitrary values\nof type the implementing type (Self). Read more
    ","Arbitrary","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    §

    impl<A> ArbitraryF1<A> for Box<A>
    where\n A: Debug + 'static,

    §

    type Parameters = ()

    The type of parameters that lift1_with accepts for\nconfiguration of the lifted and generated Strategy. Parameters\nmust implement Default.
    §

    fn lift1_with<S>(\n base: S,\n _args: <Box<A> as ArbitraryF1<A>>::Parameters\n) -> BoxedStrategy<Box<A>>
    where\n S: Strategy<Value = A> + 'static,

    Lifts a given Strategy to a new Strategy for the (presumably)\nbigger type. This is useful for lifting a Strategy for SomeType\nto a container such as Vec of SomeType. The composite strategy is\npassed the arguments given in args. Read more
    §

    fn lift1<AS>(base: AS) -> BoxedStrategy<Self>
    where\n AS: Strategy<Value = A> + 'static,

    Lifts a given Strategy to a new Strategy for the (presumably)\nbigger type. This is useful for lifting a Strategy for SomeType\nto a container such as Vec<SomeType>. Read more
    ","ArbitraryF1","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.64.0 · source§

    impl<T> AsFd for Box<T>
    where\n T: AsFd + ?Sized,

    source§

    fn as_fd(&self) -> BorrowedFd<'_>

    Borrows the file descriptor. Read more
    ","AsFd","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.5.0 · source§

    impl<T, A> AsMut<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

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

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.63.0 · source§

    impl<T> AsRawFd for Box<T>
    where\n T: AsRawFd,

    source§

    fn as_raw_fd(&self) -> i32

    Extracts the raw file descriptor. Read more
    ","AsRawFd","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.5.0 · source§

    impl<T, A> AsRef<T> for Box<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","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<Args, F, A> AsyncFn<Args> for Box<F, A>
    where\n Args: Tuple,\n F: AsyncFn<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn async_call(\n &self,\n args: Args\n) -> <Box<F, A> as AsyncFnMut<Args>>::CallRefFuture<'_>

    🔬This is a nightly-only experimental API. (async_fn_traits)
    Call the AsyncFn, returning a future which may borrow from the called closure.
    ","AsyncFn","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<Args, F, A> AsyncFnMut<Args> for Box<F, A>
    where\n Args: Tuple,\n F: AsyncFnMut<Args> + ?Sized,\n A: Allocator,

    §

    type CallRefFuture<'a> = <F as AsyncFnMut<Args>>::CallRefFuture<'a>\nwhere\n Box<F, A>: 'a

    🔬This is a nightly-only experimental API. (async_fn_traits)
    source§

    extern "rust-call" fn async_call_mut(\n &mut self,\n args: Args\n) -> <Box<F, A> as AsyncFnMut<Args>>::CallRefFuture<'_>

    🔬This is a nightly-only experimental API. (async_fn_traits)
    Call the AsyncFnMut, returning a future which may borrow from the called closure.
    ","AsyncFnMut","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<Args, F, A> AsyncFnOnce<Args> for Box<F, A>
    where\n Args: Tuple,\n F: AsyncFnOnce<Args> + ?Sized,\n A: Allocator,

    §

    type Output = <F as AsyncFnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (async_fn_traits)
    Output type of the called closure’s future.
    §

    type CallOnceFuture = <F as AsyncFnOnce<Args>>::CallOnceFuture

    🔬This is a nightly-only experimental API. (async_fn_traits)
    Future returned by AsyncFnOnce::async_call_once.
    source§

    extern "rust-call" fn async_call_once(\n self,\n args: Args\n) -> <Box<F, A> as AsyncFnOnce<Args>>::CallOnceFuture

    🔬This is a nightly-only experimental API. (async_fn_traits)
    Call the AsyncFnOnce, returning a future which may move out of the called closure.
    ","AsyncFnOnce","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<S> AsyncIterator for Box<S>
    where\n S: AsyncIterator + Unpin + ?Sized,

    §

    type Item = <S as AsyncIterator>::Item

    🔬This is a nightly-only experimental API. (async_iterator)
    The type of items yielded by the async iterator.
    source§

    fn poll_next(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Box<S> as AsyncIterator>::Item>>

    🔬This is a nightly-only experimental API. (async_iterator)
    Attempt to pull out the next value of this async iterator, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the async iterator is exhausted. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    🔬This is a nightly-only experimental API. (async_iterator)
    Returns the bounds on the remaining length of the async iterator. Read more
    ","AsyncIterator","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.1.0 · source§

    impl<T, A> Borrow<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    ","Borrow","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.1.0 · source§

    impl<T, A> BorrowMut<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

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

    Mutably borrows from an owned value. Read more
    ","BorrowMut","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<T> Box<T>

    1.0.0 · source

    pub fn new(x: T) -> Box<T>

    Allocates memory on the heap and then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    §Examples
    \n
    let five = Box::new(5);
    \n
    source

    pub fn new_uninit() -> Box<MaybeUninit<T>>

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

    Constructs a new box with uninitialized contents.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n\nlet mut five = Box::<u32>::new_uninit();\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn new_zeroed() -> Box<MaybeUninit<T>>

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

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n\nlet zero = Box::<u32>::new_zeroed();\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    1.33.0 · source

    pub fn pin(x: T) -> Pin<Box<T>>

    Constructs a new Pin<Box<T>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin(x)\ndoes the same as Box::into_pin(Box::new(x)). Consider using\ninto_pin if you already have a Box<T>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new.

    \n
    source

    pub fn try_new(x: T) -> Result<Box<T>, AllocError>

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

    Allocates memory on the heap then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nlet five = Box::try_new(5)?;
    \n
    source

    pub fn try_new_uninit() -> Result<Box<MaybeUninit<T>>, AllocError>

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

    Constructs a new box with uninitialized contents on the heap,\nreturning an error if the allocation fails

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet mut five = Box::<u32>::try_new_uninit()?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn try_new_zeroed() -> Result<Box<MaybeUninit<T>>, AllocError>

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

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes on the heap

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet zero = Box::<u32>::try_new_zeroed()?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    ",0,"conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<T> Box<T>
    where\n T: ?Sized,

    1.4.0 · source

    pub unsafe fn from_raw(raw: *mut T) -> Box<T>

    Constructs a box from a raw pointer.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    §Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n

    The safety conditions are described in the memory layout section.

    \n
    §Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw:

    \n\n
    let x = Box::new(5);\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manually create a Box from scratch by using the global allocator:

    \n\n
    use std::alloc::{alloc, Layout};\n\nunsafe {\n    let ptr = alloc(Layout::new::<i32>()) as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw(ptr);\n}
    \n
    ",0,"conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<T, A> Box<T, A>
    where\n A: Allocator,

    source

    pub fn new_in(x: T, alloc: A) -> Box<T, A>
    where\n A: Allocator,

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

    Allocates memory in the given allocator then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::new_in(5, System);
    \n
    source

    pub fn try_new_in(x: T, alloc: A) -> Result<Box<T, A>, AllocError>
    where\n A: Allocator,

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

    Allocates memory in the given allocator then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::try_new_in(5, System)?;
    \n
    source

    pub fn new_uninit_in(alloc: A) -> Box<MaybeUninit<T>, A>
    where\n A: Allocator,

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

    Constructs a new box with uninitialized contents in the provided allocator.

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::new_uninit_in(System);\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn try_new_uninit_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>
    where\n A: Allocator,

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

    Constructs a new box with uninitialized contents in the provided allocator,\nreturning an error if the allocation fails

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::try_new_uninit_in(System)?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    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) -> Box<MaybeUninit<T>, A>
    where\n A: Allocator,

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

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::new_zeroed_in(System);\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    source

    pub fn try_new_zeroed_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>
    where\n A: Allocator,

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

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator,\nreturning an error if the allocation fails,

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::try_new_zeroed_in(System)?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    source

    pub fn pin_in(x: T, alloc: A) -> Pin<Box<T, A>>
    where\n A: 'static + Allocator,

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

    Constructs a new Pin<Box<T, A>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin_in(x, alloc)\ndoes the same as Box::into_pin(Box::new_in(x, alloc)). Consider using\ninto_pin if you already have a Box<T, A>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new_in.

    \n
    source

    pub fn into_boxed_slice(boxed: Box<T, A>) -> Box<[T], A>

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

    Converts a Box<T> into a Box<[T]>

    \n

    This conversion does not allocate on the heap and happens in place.

    \n
    source

    pub fn into_inner(boxed: Box<T, A>) -> T

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

    Consumes the Box, returning the wrapped value.

    \n
    §Examples
    \n
    #![feature(box_into_inner)]\n\nlet c = Box::new(5);\n\nassert_eq!(Box::into_inner(c), 5);
    \n
    ",0,"conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<T, A> Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    const: unstable · source

    pub unsafe fn from_raw_in(raw: *mut T, alloc: A) -> Box<T, A>

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

    Constructs a box from a raw pointer in the given allocator.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    §Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n
    §Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw_with_allocator:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(5, System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manually create a Box from scratch by using the system allocator:

    \n\n
    #![feature(allocator_api, slice_ptr_get)]\n\nuse std::alloc::{Allocator, Layout, System};\n\nunsafe {\n    let ptr = System.allocate(Layout::new::<i32>())?.as_mut_ptr() as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw_in(ptr, System);\n}
    \n
    1.4.0 · source

    pub fn into_raw(b: Box<T, A>) -> *mut T

    Consumes the Box, returning a wrapped raw pointer.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw(b) instead of b.into_raw(). This\nis so that there is no conflict with a method on the inner type.

    \n
    §Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw\nfor automatic cleanup:

    \n\n
    let x = Box::new(String::from(\"Hello\"));\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    use std::alloc::{dealloc, Layout};\nuse std::ptr;\n\nlet x = Box::new(String::from(\"Hello\"));\nlet ptr = Box::into_raw(x);\nunsafe {\n    ptr::drop_in_place(ptr);\n    dealloc(ptr as *mut u8, Layout::new::<String>());\n}
    \n

    Note: This is equivalent to the following:

    \n\n
    let x = Box::new(String::from(\"Hello\"));\nlet ptr = Box::into_raw(x);\nunsafe {\n    drop(Box::from_raw(ptr));\n}
    \n
    source

    pub fn into_raw_with_allocator(b: Box<T, A>) -> (*mut T, A)

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

    Consumes the Box, returning a wrapped raw pointer and the allocator.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw_in function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw_with_allocator(b) instead of b.into_raw_with_allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    §Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw_in\nfor automatic cleanup:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(String::from(\"Hello\"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::{Allocator, Layout, System};\nuse std::ptr::{self, NonNull};\n\nlet x = Box::new_in(String::from(\"Hello\"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nunsafe {\n    ptr::drop_in_place(ptr);\n    let non_null = NonNull::new_unchecked(ptr);\n    alloc.deallocate(non_null.cast(), Layout::new::<String>());\n}
    \n
    const: unstable · source

    pub fn allocator(b: &Box<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 Box::allocator(&b) instead of b.allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    1.26.0 · source

    pub fn leak<'a>(b: Box<T, A>) -> &'a mut T
    where\n A: 'a,

    Consumes and leaks the Box, returning a mutable reference,\n&'a mut T. Note that the type T must outlive the chosen lifetime\n'a. If the type has only static references, or none at all, then this\nmay be chosen to be 'static.

    \n

    This function is mainly useful for data that lives for the remainder of\nthe program’s life. Dropping the returned reference will cause a memory\nleak. If this is not acceptable, the reference should first be wrapped\nwith the Box::from_raw function producing a Box. This Box can\nthen be dropped which will properly destroy T and release the\nallocated memory.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::leak(b) instead of b.leak(). This\nis so that there is no conflict with a method on the inner type.

    \n
    §Examples
    \n

    Simple usage:

    \n\n
    let x = Box::new(41);\nlet static_ref: &'static mut usize = Box::leak(x);\n*static_ref += 1;\nassert_eq!(*static_ref, 42);
    \n

    Unsized data:

    \n\n
    let x = vec![1, 2, 3].into_boxed_slice();\nlet static_ref = Box::leak(x);\nstatic_ref[0] = 4;\nassert_eq!(*static_ref, [4, 2, 3]);
    \n
    1.63.0 (const: unstable) · source

    pub fn into_pin(boxed: Box<T, A>) -> Pin<Box<T, A>>
    where\n A: 'static,

    Converts a Box<T> into a Pin<Box<T>>. If T does not implement Unpin, then\n*boxed will be pinned in memory and unable to be moved.

    \n

    This conversion does not allocate on the heap and happens in place.

    \n

    This is also available via From.

    \n

    Constructing and pinning a Box with Box::into_pin(Box::new(x))\ncan also be written more concisely using Box::pin(x).\nThis into_pin method is useful if you already have a Box<T>, or you are\nconstructing a (pinned) Box in a different way than with Box::new.

    \n
    §Notes
    \n

    It’s not recommended that crates add an impl like From<Box<T>> for Pin<T>,\nas it’ll introduce an ambiguity when calling Pin::from.\nA demonstration of such a poor impl is shown below.

    \n\n
    struct Foo; // A type defined in this crate.\nimpl From<Box<()>> for Pin<Foo> {\n    fn from(_: Box<()>) -> Pin<Foo> {\n        Pin::new(Foo)\n    }\n}\n\nlet foo = Box::new(());\nlet bar = Pin::from(foo);
    \n
    ",0,"conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<B> BufRead for Box<B>
    where\n B: BufRead + ?Sized,

    source§

    fn fill_buf(&mut self) -> Result<&[u8], Error>

    Returns the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    source§

    fn consume(&mut self, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to read. Read more
    source§

    fn read_until(&mut self, byte: u8, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes into buf until the delimiter byte or EOF is reached. Read more
    source§

    fn read_line(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until a newline (the 0xA byte) is reached, and append\nthem to the provided String buffer. Read more
    source§

    fn has_data_left(&mut self) -> Result<bool, Error>

    🔬This is a nightly-only experimental API. (buf_read_has_data_left)
    Check if the underlying Read has any data left to be read. Read more
    source§

    fn skip_until(&mut self, byte: u8) -> Result<usize, Error>

    🔬This is a nightly-only experimental API. (bufread_skip_until)
    Skip all bytes until the delimiter byte or EOF is reached. Read more
    1.0.0 · source§

    fn split(self, byte: u8) -> Split<Self>
    where\n Self: Sized,

    Returns an iterator over the contents of this reader split on the byte\nbyte. Read more
    1.0.0 · source§

    fn lines(self) -> Lines<Self>
    where\n Self: Sized,

    Returns an iterator over the lines of this reader. Read more
    ","BufRead","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> Clone for Box<T, A>
    where\n T: Clone,\n A: Allocator + Clone,

    source§

    fn clone(&self) -> Box<T, A>

    Returns a new box with a clone() of this box’s contents.

    \n
    §Examples
    \n
    let x = Box::new(5);\nlet y = x.clone();\n\n// The value is the same\nassert_eq!(x, y);\n\n// But they are unique objects\nassert_ne!(&*x as *const i32, &*y as *const i32);
    \n
    source§

    fn clone_from(&mut self, source: &Box<T, A>)

    Copies source’s contents into self without creating a new allocation.

    \n
    §Examples
    \n
    let x = Box::new(5);\nlet mut y = Box::new(10);\nlet yp: *const i32 = &*y;\n\ny.clone_from(&x);\n\n// The value is the same\nassert_eq!(x, y);\n\n// And no allocation occurred\nassert_eq!(yp, &*y);
    \n
    ","Clone","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<G, R, A> Coroutine<R> for Box<G, A>
    where\n G: Coroutine<R> + Unpin + ?Sized,\n A: Allocator,

    §

    type Yield = <G as Coroutine<R>>::Yield

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine yields. Read more
    §

    type Return = <G as Coroutine<R>>::Return

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine returns. Read more
    source§

    fn resume(\n self: Pin<&mut Box<G, A>>,\n arg: R\n) -> CoroutineState<<Box<G, A> as Coroutine<R>>::Yield, <Box<G, A> as Coroutine<R>>::Return>

    🔬This is a nightly-only experimental API. (coroutine_trait)
    Resumes the execution of this coroutine. Read more
    ","Coroutine","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> Debug for Box<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","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T> Default for Box<T>
    where\n T: Default,

    source§

    fn default() -> Box<T>

    Creates a Box<T>, with the Default value for T.

    \n
    ","Default","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> Deref for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    §

    type Target = T

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &T

    Dereferences the value.
    ","Deref","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> DerefMut for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

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

    Mutably dereferences the value.
    ","DerefMut","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<'de, T> Deserialize<'de> for Box<T>
    where\n T: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Box<T>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<'de, T, U> DeserializeAs<'de, Box<T>> for Box<U>
    where\n U: DeserializeAs<'de, T>,

    source§

    fn deserialize_as<D>(\n deserializer: D\n) -> Result<Box<T>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Box>","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<'de, T> Deserializer<'de> for Box<T>
    where\n T: Deserializer<'de> + ?Sized,

    source§

    fn erased_deserialize_any(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_bool(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_i8(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_i16(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_i32(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_i64(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_i128(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_u8(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_u16(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_u32(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_u64(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_u128(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_f32(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_f64(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_char(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_str(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_string(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_bytes(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_byte_buf(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_option(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_unit(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_unit_struct(\n &mut self,\n name: &'static str,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_newtype_struct(\n &mut self,\n name: &'static str,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_seq(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_tuple(\n &mut self,\n len: usize,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_tuple_struct(\n &mut self,\n name: &'static str,\n len: usize,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_map(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_struct(\n &mut self,\n name: &'static str,\n fields: &'static [&'static str],\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_identifier(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_enum(\n &mut self,\n name: &'static str,\n variants: &'static [&'static str],\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_ignored_any(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_is_human_readable(&self) -> bool

    ","Deserializer<'de>","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> Display for Box<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","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<I, A> DoubleEndedIterator for Box<I, A>
    where\n I: DoubleEndedIterator + ?Sized,\n A: Allocator,

    source§

    fn next_back(&mut self) -> Option<<I as Iterator>::Item>

    Removes and returns an element from the end of the iterator. Read more
    source§

    fn nth_back(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source§

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator from the back by n elements. Read more
    1.27.0 · source§

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\nelements starting from the back of the iterator. Read more
    1.27.0 · source§

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator’s elements to a single,\nfinal value, starting from the back. Read more
    1.27.0 · source§

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    ","DoubleEndedIterator","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> Drop for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.8.0 · source§

    impl<T> Error for Box<T>
    where\n T: Error,

    source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source§

    fn provide<'b>(&'b self, request: &mut Request<'b>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    ","Error","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<I, A> ExactSizeIterator for Box<I, A>
    where\n I: ExactSizeIterator + ?Sized,\n A: Allocator,

    source§

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source§

    fn is_empty(&self) -> bool

    🔬This is a nightly-only experimental API. (exact_size_is_empty)
    Returns true if the iterator is empty. Read more
    ","ExactSizeIterator","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.35.0 · source§

    impl<Args, F, A> Fn<Args> for Box<F, A>
    where\n Args: Tuple,\n F: Fn<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call(\n &self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","Fn","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.35.0 · source§

    impl<Args, F, A> FnMut<Args> for Box<F, A>
    where\n Args: Tuple,\n F: FnMut<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call_mut(\n &mut self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnMut","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.35.0 · source§

    impl<Args, F, A> FnOnce<Args> for Box<F, A>
    where\n Args: Tuple,\n F: FnOnce<Args> + ?Sized,\n A: Allocator,

    §

    type Output = <F as FnOnce<Args>>::Output

    The returned type after the call operator is used.
    source§

    extern "rust-call" fn call_once(\n self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnOnce","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.6.0 · source§

    impl<T> From<T> for Box<T>

    source§

    fn from(t: T) -> Box<T>

    Converts a T into a Box<T>

    \n

    The conversion allocates on the heap and moves t\nfrom the stack into it.

    \n
    §Examples
    \n
    let x = 5;\nlet boxed = Box::new(5);\n\nassert_eq!(Box::from(x), boxed);
    \n
    ","From","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.36.0 · source§

    impl<F, A> Future for Box<F, A>
    where\n F: Future + Unpin + ?Sized,\n A: Allocator,

    §

    type Output = <F as Future>::Output

    The type of value produced on completion.
    source§

    fn poll(\n self: Pin<&mut Box<F, A>>,\n cx: &mut Context<'_>\n) -> Poll<<Box<F, A> as Future>::Output>

    Attempt to resolve the future to a final value, registering\nthe current task for wakeup if the value is not yet available. Read more
    ","Future","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> Hash for Box<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","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.22.0 · source§

    impl<T, A> Hasher for Box<T, A>
    where\n T: Hasher + ?Sized,\n A: Allocator,

    source§

    fn finish(&self) -> u64

    Returns the hash value for the values written so far. Read more
    source§

    fn write(&mut self, bytes: &[u8])

    Writes some data into this Hasher. Read more
    source§

    fn write_u8(&mut self, i: u8)

    Writes a single u8 into this hasher.
    source§

    fn write_u16(&mut self, i: u16)

    Writes a single u16 into this hasher.
    source§

    fn write_u32(&mut self, i: u32)

    Writes a single u32 into this hasher.
    source§

    fn write_u64(&mut self, i: u64)

    Writes a single u64 into this hasher.
    source§

    fn write_u128(&mut self, i: u128)

    Writes a single u128 into this hasher.
    source§

    fn write_usize(&mut self, i: usize)

    Writes a single usize into this hasher.
    source§

    fn write_i8(&mut self, i: i8)

    Writes a single i8 into this hasher.
    source§

    fn write_i16(&mut self, i: i16)

    Writes a single i16 into this hasher.
    source§

    fn write_i32(&mut self, i: i32)

    Writes a single i32 into this hasher.
    source§

    fn write_i64(&mut self, i: i64)

    Writes a single i64 into this hasher.
    source§

    fn write_i128(&mut self, i: i128)

    Writes a single i128 into this hasher.
    source§

    fn write_isize(&mut self, i: isize)

    Writes a single isize into this hasher.
    source§

    fn write_length_prefix(&mut self, len: usize)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a length prefix into this hasher, as part of being prefix-free. Read more
    source§

    fn write_str(&mut self, s: &str)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a single str into this hasher. Read more
    ","Hasher","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<I, A> Iterator for Box<I, A>
    where\n I: Iterator + ?Sized,\n A: Allocator,

    §

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source§

    fn next(&mut self) -> Option<<I as Iterator>::Item>

    Advances the iterator and returns the next value. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

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

    fn nth(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source§

    fn last(self) -> Option<<I as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source§

    fn next_chunk<const N: usize>(\n &mut self\n) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_next_chunk)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 · source§

    fn count(self) -> usize
    where\n Self: Sized,

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

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator by n elements. Read more
    1.28.0 · source§

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n Self: Sized,

    Creates an iterator starting at the same point, but stepping by\nthe given amount at each iteration. Read more
    1.0.0 · source§

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n Self: Sized,\n U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 · source§

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n Self: Sized,\n U: IntoIterator,

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

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n Self: Sized,\n G: FnMut() -> Self::Item,

    🔬This is a nightly-only experimental API. (iter_intersperse)
    Creates a new iterator which places an item generated by separator\nbetween adjacent items of the original iterator. Read more
    1.0.0 · source§

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\nelement. Read more
    1.21.0 · source§

    fn for_each<F>(self, f: F)
    where\n Self: Sized,\n F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 · source§

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\nshould be yielded. Read more
    1.0.0 · source§

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 · source§

    fn enumerate(self) -> Enumerate<Self>
    where\n Self: Sized,

    Creates an iterator which gives the current iteration count as well as\nthe next value. Read more
    1.0.0 · source§

    fn peekable(self) -> Peekable<Self>
    where\n Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\nto look at the next element of the iterator without consuming it. See\ntheir documentation for more information. Read more
    1.0.0 · source§

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 · source§

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 · source§

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(Self::Item) -> Option<B>,

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

    fn skip(self, n: usize) -> Skip<Self>
    where\n Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 · source§

    fn take(self, n: usize) -> Take<Self>
    where\n Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\nif the underlying iterator ends sooner. Read more
    1.0.0 · source§

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n Self: Sized,\n F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\nunlike fold, produces a new iterator. Read more
    1.0.0 · source§

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n Self: Sized,\n U: IntoIterator,\n F: FnMut(Self::Item) -> U,

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

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n Self: Sized,\n F: FnMut(&[Self::Item; N]) -> R,

    🔬This is a nightly-only experimental API. (iter_map_windows)
    Calls the given function f for each contiguous window of size N over\nself and returns an iterator over the outputs of f. Like slice::windows(),\nthe windows during mapping overlap as well. Read more
    1.0.0 · source§

    fn fuse(self) -> Fuse<Self>
    where\n Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 · source§

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n Self: Sized,\n F: FnMut(&Self::Item),

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

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 · source§

    fn collect<B>(self) -> B
    where\n B: FromIterator<Self::Item>,\n Self: Sized,

    Transforms an iterator into a collection. Read more
    source§

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n E: Extend<Self::Item>,\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_collect_into)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 · source§

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n Self: Sized,\n B: Default + Extend<Self::Item>,\n F: FnMut(&Self::Item) -> bool,

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

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_is_partitioned)
    Checks if the elements of this iterator are partitioned according to the given predicate,\nsuch that all those that return true precede all those that return false. Read more
    1.27.0 · source§

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\nsuccessfully, producing a single, final value. Read more
    1.27.0 · source§

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n Self: Sized,\n F: FnMut(Self::Item) -> R,\n R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\niterator, stopping at the first error and returning that error. Read more
    1.0.0 · source§

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\nreturning the final result. Read more
    1.51.0 · source§

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\noperation. Read more
    source§

    fn try_reduce<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> R,\n R: Try<Output = Self::Item>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (iterator_try_reduce)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\nclosure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 · source§

    fn all<F>(&mut self, f: F) -> bool
    where\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn any<F>(&mut self, f: F) -> bool
    where\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 · source§

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\nthe first non-none result. Read more
    source§

    fn try_find<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n Self: Sized,\n F: FnMut(&Self::Item) -> R,\n R: Try<Output = bool>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (try_find)
    Applies function to the elements of iterator and returns\nthe first true result or the first error. Read more
    1.0.0 · source§

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 · source§

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\nspecified function. Read more
    1.15.0 · source§

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\nspecified comparison function. Read more
    1.6.0 · source§

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\nspecified function. Read more
    1.15.0 · source§

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\nspecified comparison function. Read more
    1.0.0 · source§

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 · source§

    fn copied<'a, T>(self) -> Copied<Self>
    where\n T: 'a + Copy,\n Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 · source§

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n T: 'a + Clone,\n Self: Sized + Iterator<Item = &'a T>,

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

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_array_chunks)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 · source§

    fn sum<S>(self) -> S
    where\n Self: Sized,\n S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 · source§

    fn product<P>(self) -> P
    where\n Self: Sized,\n P: Product<Self::Item>,

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

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Lexicographically compares the PartialOrd elements of\nthis Iterator with those of another. The comparison works like short-circuit\nevaluation, returning a result without comparing the remaining elements.\nAs soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source§

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn eq<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are equal to those of\nanother. Read more
    source§

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Determines if the elements of this Iterator are equal to those of\nanother with respect to the specified equality function. Read more
    1.5.0 · source§

    fn ne<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\nanother. Read more
    1.5.0 · source§

    fn lt<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless than those of another. Read more
    1.5.0 · source§

    fn le<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless or equal to those of another. Read more
    1.5.0 · source§

    fn gt<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than those of another. Read more
    1.5.0 · source§

    fn ge<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than or equal to those of another. Read more
    source§

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source§

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n Self: Sized,\n F: FnMut(Self::Item) -> K,\n K: PartialOrd,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given key extraction\nfunction. Read more
    ","Iterator","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    §

    impl<T> JsonSchema for Box<T>
    where\n T: JsonSchema + ?Sized,

    §

    fn is_referenceable() -> bool

    Whether JSON Schemas generated for this type should be re-used where possible using the $ref keyword. Read more
    §

    fn schema_name() -> String

    The name of the generated JSON Schema. Read more
    §

    fn schema_id() -> Cow<'static, str>

    Returns a string that uniquely identifies the schema produced by this type. Read more
    §

    fn json_schema(gen: &mut SchemaGenerator) -> Schema

    Generates a JSON Schema for this type. Read more
    ","JsonSchema","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<T> Log for Box<T>
    where\n T: Log + ?Sized,

    source§

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Determines if a log message with the specified metadata would be\nlogged. Read more
    source§

    fn log(&self, record: &Record<'_>)

    Logs the Record. Read more
    source§

    fn flush(&self)

    Flushes any buffered records.
    ","Log","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> Ord for Box<T, A>
    where\n T: Ord + ?Sized,\n A: Allocator,

    source§

    fn cmp(&self, other: &Box<T, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    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","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> PartialEq for Box<T, A>
    where\n T: PartialEq + ?Sized,\n A: Allocator,

    source§

    fn eq(&self, other: &Box<T, A>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &Box<T, A>) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> PartialOrd for Box<T, A>
    where\n T: PartialOrd + ?Sized,\n A: Allocator,

    source§

    fn partial_cmp(&self, other: &Box<T, A>) -> Option<Ordering>

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

    fn lt(&self, other: &Box<T, A>) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source§

    fn le(&self, other: &Box<T, A>) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    source§

    fn ge(&self, other: &Box<T, A>) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    source§

    fn gt(&self, other: &Box<T, A>) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    ","PartialOrd","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> Pointer for Box<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.
    ","Pointer","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<R> Read for Box<R>
    where\n R: Read + ?Sized,

    source§

    fn read(&mut self, buf: &mut [u8]) -> Result<usize, Error>

    Pull some bytes from this source into the specified buffer, returning\nhow many bytes were read. Read more
    source§

    fn read_buf(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Pull some bytes from this source into the specified buffer. Read more
    source§

    fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>

    Like read, except that it reads into a slice of buffers. Read more
    source§

    fn is_read_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Reader has an efficient read_vectored\nimplementation. Read more
    source§

    fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes until EOF in this source, placing them into buf. Read more
    source§

    fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until EOF in this source, appending them to buf. Read more
    source§

    fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>

    Read the exact number of bytes required to fill buf. Read more
    source§

    fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Read the exact number of bytes required to fill cursor. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Creates a “by reference” adaptor for this instance of Read. Read more
    1.0.0 · source§

    fn bytes(self) -> Bytes<Self>
    where\n Self: Sized,

    Transforms this Read instance to an Iterator over its bytes. Read more
    1.0.0 · source§

    fn chain<R>(self, next: R) -> Chain<Self, R>
    where\n R: Read,\n Self: Sized,

    Creates an adapter which will chain this stream with another. Read more
    1.0.0 · source§

    fn take(self, limit: u64) -> Take<Self>
    where\n Self: Sized,

    Creates an adapter which will read at most limit bytes from it. Read more
    ","Read","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<R> RngCore for Box<R>
    where\n R: RngCore + ?Sized,

    source§

    fn next_u32(&mut self) -> u32

    Return the next random u32. Read more
    source§

    fn next_u64(&mut self) -> u64

    Return the next random u64. Read more
    source§

    fn fill_bytes(&mut self, dest: &mut [u8])

    Fill dest with random data. Read more
    source§

    fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error>

    Fill dest entirely with random data. Read more
    ","RngCore","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<S> Seek for Box<S>
    where\n S: Seek + ?Sized,

    source§

    fn seek(&mut self, pos: SeekFrom) -> Result<u64, Error>

    Seek to an offset, in bytes, in a stream. Read more
    source§

    fn stream_position(&mut self) -> Result<u64, Error>

    Returns the current seek position from the start of the stream. Read more
    1.55.0 · source§

    fn rewind(&mut self) -> Result<(), Error>

    Rewind to the beginning of a stream. Read more
    source§

    fn stream_len(&mut self) -> Result<u64, Error>

    🔬This is a nightly-only experimental API. (seek_stream_len)
    Returns the length of this stream (in bytes). Read more
    source§

    fn seek_relative(&mut self, offset: i64) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (seek_seek_relative)
    Seeks relative to the current position. Read more
    ","Seek","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<T> Serialize for Box<T>
    where\n T: Serialize + ?Sized,

    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","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<T, U> SerializeAs<Box<T>> for Box<U>
    where\n U: SerializeAs<T>,

    source§

    fn serialize_as<S>(\n source: &Box<T>,\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.
    ","SerializeAs>","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<T> Serializer for Box<T>
    where\n T: Serializer + ?Sized,

    source§

    fn erased_serialize_bool(&mut self, v: bool)

    source§

    fn erased_serialize_i8(&mut self, v: i8)

    source§

    fn erased_serialize_i16(&mut self, v: i16)

    source§

    fn erased_serialize_i32(&mut self, v: i32)

    source§

    fn erased_serialize_i64(&mut self, v: i64)

    source§

    fn erased_serialize_i128(&mut self, v: i128)

    source§

    fn erased_serialize_u8(&mut self, v: u8)

    source§

    fn erased_serialize_u16(&mut self, v: u16)

    source§

    fn erased_serialize_u32(&mut self, v: u32)

    source§

    fn erased_serialize_u64(&mut self, v: u64)

    source§

    fn erased_serialize_u128(&mut self, v: u128)

    source§

    fn erased_serialize_f32(&mut self, v: f32)

    source§

    fn erased_serialize_f64(&mut self, v: f64)

    source§

    fn erased_serialize_char(&mut self, v: char)

    source§

    fn erased_serialize_str(&mut self, v: &str)

    source§

    fn erased_serialize_bytes(&mut self, v: &[u8])

    source§

    fn erased_serialize_none(&mut self)

    source§

    fn erased_serialize_some(&mut self, value: &dyn Serialize)

    source§

    fn erased_serialize_unit(&mut self)

    source§

    fn erased_serialize_unit_struct(&mut self, name: &'static str)

    source§

    fn erased_serialize_unit_variant(\n &mut self,\n name: &'static str,\n variant_index: u32,\n variant: &'static str\n)

    source§

    fn erased_serialize_newtype_struct(\n &mut self,\n name: &'static str,\n value: &dyn Serialize\n)

    source§

    fn erased_serialize_newtype_variant(\n &mut self,\n name: &'static str,\n variant_index: u32,\n variant: &'static str,\n value: &dyn Serialize\n)

    source§

    fn erased_serialize_seq(\n &mut self,\n len: Option<usize>\n) -> Result<&mut dyn SerializeSeq, ErrorImpl>

    source§

    fn erased_serialize_tuple(\n &mut self,\n len: usize\n) -> Result<&mut dyn SerializeTuple, ErrorImpl>

    source§

    fn erased_serialize_tuple_struct(\n &mut self,\n name: &'static str,\n len: usize\n) -> Result<&mut dyn SerializeTupleStruct, ErrorImpl>

    source§

    fn erased_serialize_tuple_variant(\n &mut self,\n name: &'static str,\n variant_index: u32,\n variant: &'static str,\n len: usize\n) -> Result<&mut dyn SerializeTupleVariant, ErrorImpl>

    source§

    fn erased_serialize_map(\n &mut self,\n len: Option<usize>\n) -> Result<&mut dyn SerializeMap, ErrorImpl>

    source§

    fn erased_serialize_struct(\n &mut self,\n name: &'static str,\n len: usize\n) -> Result<&mut dyn SerializeStruct, ErrorImpl>

    source§

    fn erased_serialize_struct_variant(\n &mut self,\n name: &'static str,\n variant_index: u32,\n variant: &'static str,\n len: usize\n) -> Result<&mut dyn SerializeStructVariant, ErrorImpl>

    source§

    fn erased_is_human_readable(&self) -> bool

    ","Serializer","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<S> Source for Box<S>
    where\n S: Source + ?Sized,

    source§

    fn visit<'kvs>(\n &'kvs self,\n visitor: &mut dyn VisitSource<'kvs>\n) -> Result<(), Error>

    Visit key-values. Read more
    source§

    fn get(&self, key: Key<'_>) -> Option<Value<'_>>

    Get the value for a given key. Read more
    source§

    fn count(&self) -> usize

    Count the number of key-values that can be visited. Read more
    ","Source","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    §

    impl<S> Strategy for Box<S>
    where\n S: Strategy + ?Sized,

    §

    type Tree = <S as Strategy>::Tree

    The value tree generated by this Strategy.
    §

    type Value = <S as Strategy>::Value

    The type of value used by functions under test generated by this Strategy. Read more
    §

    fn new_tree(\n &self,\n runner: &mut TestRunner\n) -> Result<<Box<S> as Strategy>::Tree, Reason>

    Generate a new value tree from the given runner. Read more
    §

    fn prop_map<O, F>(self, fun: F) -> Map<Self, F>
    where\n O: Debug,\n F: Fn(Self::Value) -> O,\n Self: Sized,

    Returns a strategy which produces values transformed by the function\nfun. Read more
    §

    fn prop_map_into<O>(self) -> MapInto<Self, O>
    where\n O: Debug,\n Self: Sized,\n Self::Value: Into<O>,

    Returns a strategy which produces values of type O by transforming\nSelf with Into<O>. Read more
    §

    fn prop_perturb<O, F>(self, fun: F) -> Perturb<Self, F>
    where\n O: Debug,\n F: Fn(Self::Value, TestRng) -> O,\n Self: Sized,

    Returns a strategy which produces values transformed by the function\nfun, which is additionally given a random number generator. Read more
    §

    fn prop_flat_map<S, F>(self, fun: F) -> Flatten<Map<Self, F>>
    where\n S: Strategy,\n F: Fn(Self::Value) -> S,\n Self: Sized,

    Maps values produced by this strategy into new strategies and picks\nvalues from those strategies. Read more
    §

    fn prop_ind_flat_map<S, F>(self, fun: F) -> IndFlatten<Map<Self, F>>
    where\n S: Strategy,\n F: Fn(Self::Value) -> S,\n Self: Sized,

    Maps values produced by this strategy into new strategies and picks\nvalues from those strategies while considering the new strategies to be\nindependent. Read more
    §

    fn prop_ind_flat_map2<S, F>(self, fun: F) -> IndFlattenMap<Self, F>
    where\n S: Strategy,\n F: Fn(Self::Value) -> S,\n Self: Sized,

    Similar to prop_ind_flat_map(), but produces 2-tuples with the input\ngenerated from self in slot 0 and the derived strategy in slot 1. Read more
    §

    fn prop_filter<R, F>(self, whence: R, fun: F) -> Filter<Self, F>
    where\n R: Into<Reason>,\n F: Fn(&Self::Value) -> bool,\n Self: Sized,

    Returns a strategy which only produces values accepted by fun. Read more
    §

    fn prop_filter_map<F, O>(\n self,\n whence: impl Into<Reason>,\n fun: F\n) -> FilterMap<Self, F>
    where\n F: Fn(Self::Value) -> Option<O>,\n O: Debug,\n Self: Sized,

    Returns a strategy which only produces transformed values where fun\nreturns Some(value) and rejects those where fun returns None. Read more
    §

    fn prop_union(self, other: Self) -> Union<Self>
    where\n Self: Sized,

    Returns a strategy which picks uniformly from self and other. Read more
    §

    fn prop_recursive<R, F>(\n self,\n depth: u32,\n desired_size: u32,\n expected_branch_size: u32,\n recurse: F\n) -> Recursive<Self::Value, F>
    where\n R: Strategy<Value = Self::Value> + 'static,\n F: Fn(BoxedStrategy<Self::Value>) -> R,\n Self: Sized + 'static,

    Generate a recursive structure with self items as leaves. Read more
    §

    fn boxed(self) -> BoxedStrategy<Self::Value>
    where\n Self: Sized + 'static,

    Erases the type of this Strategy so it can be passed around as a\nsimple trait object. Read more
    §

    fn no_shrink(self) -> NoShrink<Self>
    where\n Self: Sized,

    Wraps this strategy to prevent values from being subject to shrinking. Read more
    ","Strategy","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<T> ToValue for Box<T>
    where\n T: ToValue + ?Sized,

    source§

    fn to_value(&self) -> Value<'_>

    Perform the conversion.
    ","ToValue","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    §

    impl<T> ValueTree for Box<T>
    where\n T: ValueTree + ?Sized,

    §

    type Value = <T as ValueTree>::Value

    The type of the value produced by this ValueTree.
    §

    fn current(&self) -> <Box<T> as ValueTree>::Value

    Returns the current value.
    §

    fn simplify(&mut self) -> bool

    Attempts to simplify the current value. Notionally, this sets the\n“high” value to the current value, and the current value to a “halfway\npoint” between high and low, rounding towards low. Read more
    §

    fn complicate(&mut self) -> bool

    Attempts to partially undo the last simplification. Notionally, this\nsets the “low” value to one plus the current value, and the current\nvalue to a “halfway point” between high and the new low, rounding\ntowards low. Read more
    ","ValueTree","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<'kvs, V> VisitSource<'kvs> for Box<V>
    where\n V: VisitSource<'kvs> + ?Sized,

    source§

    fn visit_pair(\n &mut self,\n key: Key<'kvs>,\n value: Value<'kvs>\n) -> Result<(), Error>

    Visit a key-value pair.
    ","VisitSource<'kvs>","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<W> Write for Box<W>
    where\n W: Write + ?Sized,

    source§

    fn write(&mut self, buf: &[u8]) -> Result<usize, Error>

    Write a buffer into this writer, returning how many bytes were written. Read more
    source§

    fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize, Error>

    Like write, except that it writes from a slice of buffers. Read more
    source§

    fn is_write_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Writer has an efficient write_vectored\nimplementation. Read more
    source§

    fn flush(&mut self) -> Result<(), Error>

    Flush this output stream, ensuring that all intermediately buffered\ncontents reach their destination. Read more
    source§

    fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>

    Attempts to write an entire buffer into this writer. Read more
    source§

    fn write_fmt(&mut self, fmt: Arguments<'_>) -> Result<(), Error>

    Writes a formatted string into this writer, returning any error\nencountered. Read more
    source§

    fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (write_all_vectored)
    Attempts to write multiple buffers into this writer. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Creates a “by reference” adapter for this instance of Write. Read more
    ","Write","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<T, U, A> CoerceUnsized<Box<U, A>> for Box<T, A>
    where\n T: Unsize<U> + ?Sized,\n A: Allocator,\n U: ?Sized,

    ","CoerceUnsized>","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<R> CryptoRng for Box<R>
    where\n R: CryptoRng + ?Sized,

    ","CryptoRng","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<T, A> DerefPure for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    ","DerefPure","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<T, U> DispatchFromDyn<Box<U>> for Box<T>
    where\n T: Unsize<U> + ?Sized,\n U: ?Sized,

    ","DispatchFromDyn>","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> Eq for Box<T, A>
    where\n T: Eq + ?Sized,\n A: Allocator,

    ","Eq","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.26.0 · source§

    impl<I, A> FusedIterator for Box<I, A>
    where\n I: FusedIterator + ?Sized,\n A: Allocator,

    ","FusedIterator","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.33.0 · source§

    impl<T, A> Unpin for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    ","Unpin","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"]], -"conjure_oxide":[["
    §

    impl<A> Arbitrary for Box<A>
    where\n A: Arbitrary,

    §

    type Parameters = <A as Arbitrary>::Parameters

    The type of parameters that arbitrary_with accepts for configuration\nof the generated Strategy. Parameters must implement Default.
    §

    type Strategy = MapInto<<A as Arbitrary>::Strategy, Box<A>>

    The type of Strategy used to generate values of type Self.
    §

    fn arbitrary_with(\n args: <Box<A> as Arbitrary>::Parameters\n) -> <Box<A> as Arbitrary>::Strategy

    Generates a Strategy for producing arbitrary values of type the\nimplementing type (Self). The strategy is passed the arguments given\nin args. Read more
    §

    fn arbitrary() -> Self::Strategy

    Generates a Strategy for producing arbitrary values\nof type the implementing type (Self). Read more
    ","Arbitrary","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    §

    impl<A> ArbitraryF1<A> for Box<A>
    where\n A: Debug + 'static,

    §

    type Parameters = ()

    The type of parameters that lift1_with accepts for\nconfiguration of the lifted and generated Strategy. Parameters\nmust implement Default.
    §

    fn lift1_with<S>(\n base: S,\n _args: <Box<A> as ArbitraryF1<A>>::Parameters\n) -> BoxedStrategy<Box<A>>
    where\n S: Strategy<Value = A> + 'static,

    Lifts a given Strategy to a new Strategy for the (presumably)\nbigger type. This is useful for lifting a Strategy for SomeType\nto a container such as Vec of SomeType. The composite strategy is\npassed the arguments given in args. Read more
    §

    fn lift1<AS>(base: AS) -> BoxedStrategy<Self>
    where\n AS: Strategy<Value = A> + 'static,

    Lifts a given Strategy to a new Strategy for the (presumably)\nbigger type. This is useful for lifting a Strategy for SomeType\nto a container such as Vec<SomeType>. Read more
    ","ArbitraryF1","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.64.0 · source§

    impl<T> AsFd for Box<T>
    where\n T: AsFd + ?Sized,

    source§

    fn as_fd(&self) -> BorrowedFd<'_>

    Borrows the file descriptor. Read more
    ","AsFd","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.5.0 · source§

    impl<T, A> AsMut<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

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

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.63.0 · source§

    impl<T> AsRawFd for Box<T>
    where\n T: AsRawFd,

    source§

    fn as_raw_fd(&self) -> i32

    Extracts the raw file descriptor. Read more
    ","AsRawFd","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.5.0 · source§

    impl<T, A> AsRef<T> for Box<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","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<Args, F, A> AsyncFn<Args> for Box<F, A>
    where\n Args: Tuple,\n F: AsyncFn<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn async_call(\n &self,\n args: Args\n) -> <Box<F, A> as AsyncFnMut<Args>>::CallRefFuture<'_>

    🔬This is a nightly-only experimental API. (async_fn_traits)
    Call the AsyncFn, returning a future which may borrow from the called closure.
    ","AsyncFn","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<Args, F, A> AsyncFnMut<Args> for Box<F, A>
    where\n Args: Tuple,\n F: AsyncFnMut<Args> + ?Sized,\n A: Allocator,

    §

    type CallRefFuture<'a> = <F as AsyncFnMut<Args>>::CallRefFuture<'a>\nwhere\n Box<F, A>: 'a

    🔬This is a nightly-only experimental API. (async_fn_traits)
    source§

    extern "rust-call" fn async_call_mut(\n &mut self,\n args: Args\n) -> <Box<F, A> as AsyncFnMut<Args>>::CallRefFuture<'_>

    🔬This is a nightly-only experimental API. (async_fn_traits)
    Call the AsyncFnMut, returning a future which may borrow from the called closure.
    ","AsyncFnMut","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<Args, F, A> AsyncFnOnce<Args> for Box<F, A>
    where\n Args: Tuple,\n F: AsyncFnOnce<Args> + ?Sized,\n A: Allocator,

    §

    type Output = <F as AsyncFnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (async_fn_traits)
    Output type of the called closure’s future.
    §

    type CallOnceFuture = <F as AsyncFnOnce<Args>>::CallOnceFuture

    🔬This is a nightly-only experimental API. (async_fn_traits)
    Future returned by AsyncFnOnce::async_call_once.
    source§

    extern "rust-call" fn async_call_once(\n self,\n args: Args\n) -> <Box<F, A> as AsyncFnOnce<Args>>::CallOnceFuture

    🔬This is a nightly-only experimental API. (async_fn_traits)
    Call the AsyncFnOnce, returning a future which may move out of the called closure.
    ","AsyncFnOnce","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<S> AsyncIterator for Box<S>
    where\n S: AsyncIterator + Unpin + ?Sized,

    §

    type Item = <S as AsyncIterator>::Item

    🔬This is a nightly-only experimental API. (async_iterator)
    The type of items yielded by the async iterator.
    source§

    fn poll_next(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Box<S> as AsyncIterator>::Item>>

    🔬This is a nightly-only experimental API. (async_iterator)
    Attempt to pull out the next value of this async iterator, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the async iterator is exhausted. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    🔬This is a nightly-only experimental API. (async_iterator)
    Returns the bounds on the remaining length of the async iterator. Read more
    ","AsyncIterator","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.1.0 · source§

    impl<T, A> Borrow<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    ","Borrow","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.1.0 · source§

    impl<T, A> BorrowMut<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

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

    Mutably borrows from an owned value. Read more
    ","BorrowMut","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<T> Box<T>

    1.0.0 · source

    pub fn new(x: T) -> Box<T>

    Allocates memory on the heap and then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    §Examples
    \n
    let five = Box::new(5);
    \n
    source

    pub fn new_uninit() -> Box<MaybeUninit<T>>

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

    Constructs a new box with uninitialized contents.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n\nlet mut five = Box::<u32>::new_uninit();\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn new_zeroed() -> Box<MaybeUninit<T>>

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

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n\nlet zero = Box::<u32>::new_zeroed();\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    1.33.0 · source

    pub fn pin(x: T) -> Pin<Box<T>>

    Constructs a new Pin<Box<T>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin(x)\ndoes the same as Box::into_pin(Box::new(x)). Consider using\ninto_pin if you already have a Box<T>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new.

    \n
    source

    pub fn try_new(x: T) -> Result<Box<T>, AllocError>

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

    Allocates memory on the heap then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nlet five = Box::try_new(5)?;
    \n
    source

    pub fn try_new_uninit() -> Result<Box<MaybeUninit<T>>, AllocError>

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

    Constructs a new box with uninitialized contents on the heap,\nreturning an error if the allocation fails

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet mut five = Box::<u32>::try_new_uninit()?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn try_new_zeroed() -> Result<Box<MaybeUninit<T>>, AllocError>

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

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes on the heap

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet zero = Box::<u32>::try_new_zeroed()?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    ",0,"conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<T> Box<T>
    where\n T: ?Sized,

    1.4.0 · source

    pub unsafe fn from_raw(raw: *mut T) -> Box<T>

    Constructs a box from a raw pointer.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    §Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n

    The safety conditions are described in the memory layout section.

    \n
    §Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw:

    \n\n
    let x = Box::new(5);\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manually create a Box from scratch by using the global allocator:

    \n\n
    use std::alloc::{alloc, Layout};\n\nunsafe {\n    let ptr = alloc(Layout::new::<i32>()) as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw(ptr);\n}
    \n
    ",0,"conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<T, A> Box<T, A>
    where\n A: Allocator,

    source

    pub fn new_in(x: T, alloc: A) -> Box<T, A>
    where\n A: Allocator,

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

    Allocates memory in the given allocator then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::new_in(5, System);
    \n
    source

    pub fn try_new_in(x: T, alloc: A) -> Result<Box<T, A>, AllocError>
    where\n A: Allocator,

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

    Allocates memory in the given allocator then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::try_new_in(5, System)?;
    \n
    source

    pub fn new_uninit_in(alloc: A) -> Box<MaybeUninit<T>, A>
    where\n A: Allocator,

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

    Constructs a new box with uninitialized contents in the provided allocator.

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::new_uninit_in(System);\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn try_new_uninit_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>
    where\n A: Allocator,

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

    Constructs a new box with uninitialized contents in the provided allocator,\nreturning an error if the allocation fails

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::try_new_uninit_in(System)?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    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) -> Box<MaybeUninit<T>, A>
    where\n A: Allocator,

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

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::new_zeroed_in(System);\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    source

    pub fn try_new_zeroed_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>
    where\n A: Allocator,

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

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator,\nreturning an error if the allocation fails,

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::try_new_zeroed_in(System)?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    source

    pub fn pin_in(x: T, alloc: A) -> Pin<Box<T, A>>
    where\n A: 'static + Allocator,

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

    Constructs a new Pin<Box<T, A>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin_in(x, alloc)\ndoes the same as Box::into_pin(Box::new_in(x, alloc)). Consider using\ninto_pin if you already have a Box<T, A>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new_in.

    \n
    source

    pub fn into_boxed_slice(boxed: Box<T, A>) -> Box<[T], A>

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

    Converts a Box<T> into a Box<[T]>

    \n

    This conversion does not allocate on the heap and happens in place.

    \n
    source

    pub fn into_inner(boxed: Box<T, A>) -> T

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

    Consumes the Box, returning the wrapped value.

    \n
    §Examples
    \n
    #![feature(box_into_inner)]\n\nlet c = Box::new(5);\n\nassert_eq!(Box::into_inner(c), 5);
    \n
    ",0,"conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<T, A> Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    const: unstable · source

    pub unsafe fn from_raw_in(raw: *mut T, alloc: A) -> Box<T, A>

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

    Constructs a box from a raw pointer in the given allocator.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    §Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n
    §Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw_with_allocator:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(5, System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manually create a Box from scratch by using the system allocator:

    \n\n
    #![feature(allocator_api, slice_ptr_get)]\n\nuse std::alloc::{Allocator, Layout, System};\n\nunsafe {\n    let ptr = System.allocate(Layout::new::<i32>())?.as_mut_ptr() as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw_in(ptr, System);\n}
    \n
    1.4.0 · source

    pub fn into_raw(b: Box<T, A>) -> *mut T

    Consumes the Box, returning a wrapped raw pointer.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw(b) instead of b.into_raw(). This\nis so that there is no conflict with a method on the inner type.

    \n
    §Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw\nfor automatic cleanup:

    \n\n
    let x = Box::new(String::from(\"Hello\"));\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    use std::alloc::{dealloc, Layout};\nuse std::ptr;\n\nlet x = Box::new(String::from(\"Hello\"));\nlet ptr = Box::into_raw(x);\nunsafe {\n    ptr::drop_in_place(ptr);\n    dealloc(ptr as *mut u8, Layout::new::<String>());\n}
    \n

    Note: This is equivalent to the following:

    \n\n
    let x = Box::new(String::from(\"Hello\"));\nlet ptr = Box::into_raw(x);\nunsafe {\n    drop(Box::from_raw(ptr));\n}
    \n
    source

    pub fn into_raw_with_allocator(b: Box<T, A>) -> (*mut T, A)

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

    Consumes the Box, returning a wrapped raw pointer and the allocator.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw_in function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw_with_allocator(b) instead of b.into_raw_with_allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    §Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw_in\nfor automatic cleanup:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(String::from(\"Hello\"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::{Allocator, Layout, System};\nuse std::ptr::{self, NonNull};\n\nlet x = Box::new_in(String::from(\"Hello\"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nunsafe {\n    ptr::drop_in_place(ptr);\n    let non_null = NonNull::new_unchecked(ptr);\n    alloc.deallocate(non_null.cast(), Layout::new::<String>());\n}
    \n
    const: unstable · source

    pub fn allocator(b: &Box<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 Box::allocator(&b) instead of b.allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    1.26.0 · source

    pub fn leak<'a>(b: Box<T, A>) -> &'a mut T
    where\n A: 'a,

    Consumes and leaks the Box, returning a mutable reference,\n&'a mut T. Note that the type T must outlive the chosen lifetime\n'a. If the type has only static references, or none at all, then this\nmay be chosen to be 'static.

    \n

    This function is mainly useful for data that lives for the remainder of\nthe program’s life. Dropping the returned reference will cause a memory\nleak. If this is not acceptable, the reference should first be wrapped\nwith the Box::from_raw function producing a Box. This Box can\nthen be dropped which will properly destroy T and release the\nallocated memory.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::leak(b) instead of b.leak(). This\nis so that there is no conflict with a method on the inner type.

    \n
    §Examples
    \n

    Simple usage:

    \n\n
    let x = Box::new(41);\nlet static_ref: &'static mut usize = Box::leak(x);\n*static_ref += 1;\nassert_eq!(*static_ref, 42);
    \n

    Unsized data:

    \n\n
    let x = vec![1, 2, 3].into_boxed_slice();\nlet static_ref = Box::leak(x);\nstatic_ref[0] = 4;\nassert_eq!(*static_ref, [4, 2, 3]);
    \n
    1.63.0 (const: unstable) · source

    pub fn into_pin(boxed: Box<T, A>) -> Pin<Box<T, A>>
    where\n A: 'static,

    Converts a Box<T> into a Pin<Box<T>>. If T does not implement Unpin, then\n*boxed will be pinned in memory and unable to be moved.

    \n

    This conversion does not allocate on the heap and happens in place.

    \n

    This is also available via From.

    \n

    Constructing and pinning a Box with Box::into_pin(Box::new(x))\ncan also be written more concisely using Box::pin(x).\nThis into_pin method is useful if you already have a Box<T>, or you are\nconstructing a (pinned) Box in a different way than with Box::new.

    \n
    §Notes
    \n

    It’s not recommended that crates add an impl like From<Box<T>> for Pin<T>,\nas it’ll introduce an ambiguity when calling Pin::from.\nA demonstration of such a poor impl is shown below.

    \n\n
    struct Foo; // A type defined in this crate.\nimpl From<Box<()>> for Pin<Foo> {\n    fn from(_: Box<()>) -> Pin<Foo> {\n        Pin::new(Foo)\n    }\n}\n\nlet foo = Box::new(());\nlet bar = Pin::from(foo);
    \n
    ",0,"conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<B> BufRead for Box<B>
    where\n B: BufRead + ?Sized,

    source§

    fn fill_buf(&mut self) -> Result<&[u8], Error>

    Returns the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    source§

    fn consume(&mut self, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to read. Read more
    source§

    fn read_until(&mut self, byte: u8, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes into buf until the delimiter byte or EOF is reached. Read more
    source§

    fn read_line(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until a newline (the 0xA byte) is reached, and append\nthem to the provided String buffer. Read more
    source§

    fn has_data_left(&mut self) -> Result<bool, Error>

    🔬This is a nightly-only experimental API. (buf_read_has_data_left)
    Check if the underlying Read has any data left to be read. Read more
    source§

    fn skip_until(&mut self, byte: u8) -> Result<usize, Error>

    🔬This is a nightly-only experimental API. (bufread_skip_until)
    Skip all bytes until the delimiter byte or EOF is reached. Read more
    1.0.0 · source§

    fn split(self, byte: u8) -> Split<Self>
    where\n Self: Sized,

    Returns an iterator over the contents of this reader split on the byte\nbyte. Read more
    1.0.0 · source§

    fn lines(self) -> Lines<Self>
    where\n Self: Sized,

    Returns an iterator over the lines of this reader. Read more
    ","BufRead","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> Clone for Box<T, A>
    where\n T: Clone,\n A: Allocator + Clone,

    source§

    fn clone(&self) -> Box<T, A>

    Returns a new box with a clone() of this box’s contents.

    \n
    §Examples
    \n
    let x = Box::new(5);\nlet y = x.clone();\n\n// The value is the same\nassert_eq!(x, y);\n\n// But they are unique objects\nassert_ne!(&*x as *const i32, &*y as *const i32);
    \n
    source§

    fn clone_from(&mut self, source: &Box<T, A>)

    Copies source’s contents into self without creating a new allocation.

    \n
    §Examples
    \n
    let x = Box::new(5);\nlet mut y = Box::new(10);\nlet yp: *const i32 = &*y;\n\ny.clone_from(&x);\n\n// The value is the same\nassert_eq!(x, y);\n\n// And no allocation occurred\nassert_eq!(yp, &*y);
    \n
    ","Clone","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<G, R, A> Coroutine<R> for Box<G, A>
    where\n G: Coroutine<R> + Unpin + ?Sized,\n A: Allocator,

    §

    type Yield = <G as Coroutine<R>>::Yield

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine yields. Read more
    §

    type Return = <G as Coroutine<R>>::Return

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine returns. Read more
    source§

    fn resume(\n self: Pin<&mut Box<G, A>>,\n arg: R\n) -> CoroutineState<<Box<G, A> as Coroutine<R>>::Yield, <Box<G, A> as Coroutine<R>>::Return>

    🔬This is a nightly-only experimental API. (coroutine_trait)
    Resumes the execution of this coroutine. Read more
    ","Coroutine","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> Debug for Box<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","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T> Default for Box<T>
    where\n T: Default,

    source§

    fn default() -> Box<T>

    Creates a Box<T>, with the Default value for T.

    \n
    ","Default","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> Deref for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    §

    type Target = T

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &T

    Dereferences the value.
    ","Deref","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> DerefMut for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

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

    Mutably dereferences the value.
    ","DerefMut","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<'de, T> Deserialize<'de> for Box<T>
    where\n T: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Box<T>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<'de, T, U> DeserializeAs<'de, Box<T>> for Box<U>
    where\n U: DeserializeAs<'de, T>,

    source§

    fn deserialize_as<D>(\n deserializer: D\n) -> Result<Box<T>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Box>","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<'de, T> Deserializer<'de> for Box<T>
    where\n T: Deserializer<'de> + ?Sized,

    source§

    fn erased_deserialize_any(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_bool(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_i8(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_i16(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_i32(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_i64(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_i128(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_u8(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_u16(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_u32(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_u64(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_u128(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_f32(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_f64(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_char(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_str(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_string(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_bytes(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_byte_buf(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_option(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_unit(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_unit_struct(\n &mut self,\n name: &'static str,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_newtype_struct(\n &mut self,\n name: &'static str,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_seq(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_tuple(\n &mut self,\n len: usize,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_tuple_struct(\n &mut self,\n name: &'static str,\n len: usize,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_map(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_struct(\n &mut self,\n name: &'static str,\n fields: &'static [&'static str],\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_identifier(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_enum(\n &mut self,\n name: &'static str,\n variants: &'static [&'static str],\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_ignored_any(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_is_human_readable(&self) -> bool

    ","Deserializer<'de>","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> Display for Box<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","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<I, A> DoubleEndedIterator for Box<I, A>
    where\n I: DoubleEndedIterator + ?Sized,\n A: Allocator,

    source§

    fn next_back(&mut self) -> Option<<I as Iterator>::Item>

    Removes and returns an element from the end of the iterator. Read more
    source§

    fn nth_back(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source§

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator from the back by n elements. Read more
    1.27.0 · source§

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\nelements starting from the back of the iterator. Read more
    1.27.0 · source§

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator’s elements to a single,\nfinal value, starting from the back. Read more
    1.27.0 · source§

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    ","DoubleEndedIterator","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> Drop for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.8.0 · source§

    impl<T> Error for Box<T>
    where\n T: Error,

    source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source§

    fn provide<'b>(&'b self, request: &mut Request<'b>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    ","Error","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<I, A> ExactSizeIterator for Box<I, A>
    where\n I: ExactSizeIterator + ?Sized,\n A: Allocator,

    source§

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source§

    fn is_empty(&self) -> bool

    🔬This is a nightly-only experimental API. (exact_size_is_empty)
    Returns true if the iterator is empty. Read more
    ","ExactSizeIterator","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.35.0 · source§

    impl<Args, F, A> Fn<Args> for Box<F, A>
    where\n Args: Tuple,\n F: Fn<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call(\n &self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","Fn","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.35.0 · source§

    impl<Args, F, A> FnMut<Args> for Box<F, A>
    where\n Args: Tuple,\n F: FnMut<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call_mut(\n &mut self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnMut","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.35.0 · source§

    impl<Args, F, A> FnOnce<Args> for Box<F, A>
    where\n Args: Tuple,\n F: FnOnce<Args> + ?Sized,\n A: Allocator,

    §

    type Output = <F as FnOnce<Args>>::Output

    The returned type after the call operator is used.
    source§

    extern "rust-call" fn call_once(\n self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnOnce","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.6.0 · source§

    impl<T> From<T> for Box<T>

    source§

    fn from(t: T) -> Box<T>

    Converts a T into a Box<T>

    \n

    The conversion allocates on the heap and moves t\nfrom the stack into it.

    \n
    §Examples
    \n
    let x = 5;\nlet boxed = Box::new(5);\n\nassert_eq!(Box::from(x), boxed);
    \n
    ","From","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.36.0 · source§

    impl<F, A> Future for Box<F, A>
    where\n F: Future + Unpin + ?Sized,\n A: Allocator,

    §

    type Output = <F as Future>::Output

    The type of value produced on completion.
    source§

    fn poll(\n self: Pin<&mut Box<F, A>>,\n cx: &mut Context<'_>\n) -> Poll<<Box<F, A> as Future>::Output>

    Attempt to resolve the future to a final value, registering\nthe current task for wakeup if the value is not yet available. Read more
    ","Future","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> Hash for Box<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","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.22.0 · source§

    impl<T, A> Hasher for Box<T, A>
    where\n T: Hasher + ?Sized,\n A: Allocator,

    source§

    fn finish(&self) -> u64

    Returns the hash value for the values written so far. Read more
    source§

    fn write(&mut self, bytes: &[u8])

    Writes some data into this Hasher. Read more
    source§

    fn write_u8(&mut self, i: u8)

    Writes a single u8 into this hasher.
    source§

    fn write_u16(&mut self, i: u16)

    Writes a single u16 into this hasher.
    source§

    fn write_u32(&mut self, i: u32)

    Writes a single u32 into this hasher.
    source§

    fn write_u64(&mut self, i: u64)

    Writes a single u64 into this hasher.
    source§

    fn write_u128(&mut self, i: u128)

    Writes a single u128 into this hasher.
    source§

    fn write_usize(&mut self, i: usize)

    Writes a single usize into this hasher.
    source§

    fn write_i8(&mut self, i: i8)

    Writes a single i8 into this hasher.
    source§

    fn write_i16(&mut self, i: i16)

    Writes a single i16 into this hasher.
    source§

    fn write_i32(&mut self, i: i32)

    Writes a single i32 into this hasher.
    source§

    fn write_i64(&mut self, i: i64)

    Writes a single i64 into this hasher.
    source§

    fn write_i128(&mut self, i: i128)

    Writes a single i128 into this hasher.
    source§

    fn write_isize(&mut self, i: isize)

    Writes a single isize into this hasher.
    source§

    fn write_length_prefix(&mut self, len: usize)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a length prefix into this hasher, as part of being prefix-free. Read more
    source§

    fn write_str(&mut self, s: &str)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a single str into this hasher. Read more
    ","Hasher","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<I, A> Iterator for Box<I, A>
    where\n I: Iterator + ?Sized,\n A: Allocator,

    §

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source§

    fn next(&mut self) -> Option<<I as Iterator>::Item>

    Advances the iterator and returns the next value. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

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

    fn nth(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source§

    fn last(self) -> Option<<I as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source§

    fn next_chunk<const N: usize>(\n &mut self\n) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_next_chunk)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 · source§

    fn count(self) -> usize
    where\n Self: Sized,

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

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator by n elements. Read more
    1.28.0 · source§

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n Self: Sized,

    Creates an iterator starting at the same point, but stepping by\nthe given amount at each iteration. Read more
    1.0.0 · source§

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n Self: Sized,\n U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 · source§

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n Self: Sized,\n U: IntoIterator,

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

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n Self: Sized,\n G: FnMut() -> Self::Item,

    🔬This is a nightly-only experimental API. (iter_intersperse)
    Creates a new iterator which places an item generated by separator\nbetween adjacent items of the original iterator. Read more
    1.0.0 · source§

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\nelement. Read more
    1.21.0 · source§

    fn for_each<F>(self, f: F)
    where\n Self: Sized,\n F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 · source§

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\nshould be yielded. Read more
    1.0.0 · source§

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 · source§

    fn enumerate(self) -> Enumerate<Self>
    where\n Self: Sized,

    Creates an iterator which gives the current iteration count as well as\nthe next value. Read more
    1.0.0 · source§

    fn peekable(self) -> Peekable<Self>
    where\n Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\nto look at the next element of the iterator without consuming it. See\ntheir documentation for more information. Read more
    1.0.0 · source§

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 · source§

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 · source§

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(Self::Item) -> Option<B>,

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

    fn skip(self, n: usize) -> Skip<Self>
    where\n Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 · source§

    fn take(self, n: usize) -> Take<Self>
    where\n Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\nif the underlying iterator ends sooner. Read more
    1.0.0 · source§

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n Self: Sized,\n F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\nunlike fold, produces a new iterator. Read more
    1.0.0 · source§

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n Self: Sized,\n U: IntoIterator,\n F: FnMut(Self::Item) -> U,

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

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n Self: Sized,\n F: FnMut(&[Self::Item; N]) -> R,

    🔬This is a nightly-only experimental API. (iter_map_windows)
    Calls the given function f for each contiguous window of size N over\nself and returns an iterator over the outputs of f. Like slice::windows(),\nthe windows during mapping overlap as well. Read more
    1.0.0 · source§

    fn fuse(self) -> Fuse<Self>
    where\n Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 · source§

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n Self: Sized,\n F: FnMut(&Self::Item),

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

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 · source§

    fn collect<B>(self) -> B
    where\n B: FromIterator<Self::Item>,\n Self: Sized,

    Transforms an iterator into a collection. Read more
    source§

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n E: Extend<Self::Item>,\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_collect_into)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 · source§

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n Self: Sized,\n B: Default + Extend<Self::Item>,\n F: FnMut(&Self::Item) -> bool,

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

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_is_partitioned)
    Checks if the elements of this iterator are partitioned according to the given predicate,\nsuch that all those that return true precede all those that return false. Read more
    1.27.0 · source§

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\nsuccessfully, producing a single, final value. Read more
    1.27.0 · source§

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n Self: Sized,\n F: FnMut(Self::Item) -> R,\n R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\niterator, stopping at the first error and returning that error. Read more
    1.0.0 · source§

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\nreturning the final result. Read more
    1.51.0 · source§

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\noperation. Read more
    source§

    fn try_reduce<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> R,\n R: Try<Output = Self::Item>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (iterator_try_reduce)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\nclosure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 · source§

    fn all<F>(&mut self, f: F) -> bool
    where\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn any<F>(&mut self, f: F) -> bool
    where\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 · source§

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\nthe first non-none result. Read more
    source§

    fn try_find<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n Self: Sized,\n F: FnMut(&Self::Item) -> R,\n R: Try<Output = bool>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (try_find)
    Applies function to the elements of iterator and returns\nthe first true result or the first error. Read more
    1.0.0 · source§

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 · source§

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\nspecified function. Read more
    1.15.0 · source§

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\nspecified comparison function. Read more
    1.6.0 · source§

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\nspecified function. Read more
    1.15.0 · source§

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\nspecified comparison function. Read more
    1.0.0 · source§

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 · source§

    fn copied<'a, T>(self) -> Copied<Self>
    where\n T: 'a + Copy,\n Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 · source§

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n T: 'a + Clone,\n Self: Sized + Iterator<Item = &'a T>,

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

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_array_chunks)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 · source§

    fn sum<S>(self) -> S
    where\n Self: Sized,\n S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 · source§

    fn product<P>(self) -> P
    where\n Self: Sized,\n P: Product<Self::Item>,

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

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Lexicographically compares the PartialOrd elements of\nthis Iterator with those of another. The comparison works like short-circuit\nevaluation, returning a result without comparing the remaining elements.\nAs soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source§

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn eq<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are equal to those of\nanother. Read more
    source§

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Determines if the elements of this Iterator are equal to those of\nanother with respect to the specified equality function. Read more
    1.5.0 · source§

    fn ne<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\nanother. Read more
    1.5.0 · source§

    fn lt<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless than those of another. Read more
    1.5.0 · source§

    fn le<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless or equal to those of another. Read more
    1.5.0 · source§

    fn gt<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than those of another. Read more
    1.5.0 · source§

    fn ge<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than or equal to those of another. Read more
    source§

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source§

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n Self: Sized,\n F: FnMut(Self::Item) -> K,\n K: PartialOrd,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given key extraction\nfunction. Read more
    ","Iterator","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    §

    impl<T> JsonSchema for Box<T>
    where\n T: JsonSchema + ?Sized,

    §

    fn is_referenceable() -> bool

    Whether JSON Schemas generated for this type should be re-used where possible using the $ref keyword. Read more
    §

    fn schema_name() -> String

    The name of the generated JSON Schema. Read more
    §

    fn schema_id() -> Cow<'static, str>

    Returns a string that uniquely identifies the schema produced by this type. Read more
    §

    fn json_schema(gen: &mut SchemaGenerator) -> Schema

    Generates a JSON Schema for this type. Read more
    ","JsonSchema","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<T> Log for Box<T>
    where\n T: Log + ?Sized,

    source§

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Determines if a log message with the specified metadata would be\nlogged. Read more
    source§

    fn log(&self, record: &Record<'_>)

    Logs the Record. Read more
    source§

    fn flush(&self)

    Flushes any buffered records.
    ","Log","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> Ord for Box<T, A>
    where\n T: Ord + ?Sized,\n A: Allocator,

    source§

    fn cmp(&self, other: &Box<T, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    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","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> PartialEq for Box<T, A>
    where\n T: PartialEq + ?Sized,\n A: Allocator,

    source§

    fn eq(&self, other: &Box<T, A>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &Box<T, A>) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> PartialOrd for Box<T, A>
    where\n T: PartialOrd + ?Sized,\n A: Allocator,

    source§

    fn partial_cmp(&self, other: &Box<T, A>) -> Option<Ordering>

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

    fn lt(&self, other: &Box<T, A>) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source§

    fn le(&self, other: &Box<T, A>) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    source§

    fn ge(&self, other: &Box<T, A>) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    source§

    fn gt(&self, other: &Box<T, A>) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    ","PartialOrd","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> Pointer for Box<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.
    ","Pointer","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<R> Read for Box<R>
    where\n R: Read + ?Sized,

    source§

    fn read(&mut self, buf: &mut [u8]) -> Result<usize, Error>

    Pull some bytes from this source into the specified buffer, returning\nhow many bytes were read. Read more
    source§

    fn read_buf(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Pull some bytes from this source into the specified buffer. Read more
    source§

    fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>

    Like read, except that it reads into a slice of buffers. Read more
    source§

    fn is_read_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Reader has an efficient read_vectored\nimplementation. Read more
    source§

    fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes until EOF in this source, placing them into buf. Read more
    source§

    fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until EOF in this source, appending them to buf. Read more
    source§

    fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>

    Read the exact number of bytes required to fill buf. Read more
    source§

    fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Read the exact number of bytes required to fill cursor. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Creates a “by reference” adaptor for this instance of Read. Read more
    1.0.0 · source§

    fn bytes(self) -> Bytes<Self>
    where\n Self: Sized,

    Transforms this Read instance to an Iterator over its bytes. Read more
    1.0.0 · source§

    fn chain<R>(self, next: R) -> Chain<Self, R>
    where\n R: Read,\n Self: Sized,

    Creates an adapter which will chain this stream with another. Read more
    1.0.0 · source§

    fn take(self, limit: u64) -> Take<Self>
    where\n Self: Sized,

    Creates an adapter which will read at most limit bytes from it. Read more
    ","Read","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<R> RngCore for Box<R>
    where\n R: RngCore + ?Sized,

    source§

    fn next_u32(&mut self) -> u32

    Return the next random u32. Read more
    source§

    fn next_u64(&mut self) -> u64

    Return the next random u64. Read more
    source§

    fn fill_bytes(&mut self, dest: &mut [u8])

    Fill dest with random data. Read more
    source§

    fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error>

    Fill dest entirely with random data. Read more
    ","RngCore","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<S> Seek for Box<S>
    where\n S: Seek + ?Sized,

    source§

    fn seek(&mut self, pos: SeekFrom) -> Result<u64, Error>

    Seek to an offset, in bytes, in a stream. Read more
    source§

    fn stream_position(&mut self) -> Result<u64, Error>

    Returns the current seek position from the start of the stream. Read more
    1.55.0 · source§

    fn rewind(&mut self) -> Result<(), Error>

    Rewind to the beginning of a stream. Read more
    source§

    fn stream_len(&mut self) -> Result<u64, Error>

    🔬This is a nightly-only experimental API. (seek_stream_len)
    Returns the length of this stream (in bytes). Read more
    source§

    fn seek_relative(&mut self, offset: i64) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (seek_seek_relative)
    Seeks relative to the current position. Read more
    ","Seek","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<T> Serialize for Box<T>
    where\n T: Serialize + ?Sized,

    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","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<T, U> SerializeAs<Box<T>> for Box<U>
    where\n U: SerializeAs<T>,

    source§

    fn serialize_as<S>(\n source: &Box<T>,\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.
    ","SerializeAs>","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<T> Serializer for Box<T>
    where\n T: Serializer + ?Sized,

    source§

    fn erased_serialize_bool(&mut self, v: bool)

    source§

    fn erased_serialize_i8(&mut self, v: i8)

    source§

    fn erased_serialize_i16(&mut self, v: i16)

    source§

    fn erased_serialize_i32(&mut self, v: i32)

    source§

    fn erased_serialize_i64(&mut self, v: i64)

    source§

    fn erased_serialize_i128(&mut self, v: i128)

    source§

    fn erased_serialize_u8(&mut self, v: u8)

    source§

    fn erased_serialize_u16(&mut self, v: u16)

    source§

    fn erased_serialize_u32(&mut self, v: u32)

    source§

    fn erased_serialize_u64(&mut self, v: u64)

    source§

    fn erased_serialize_u128(&mut self, v: u128)

    source§

    fn erased_serialize_f32(&mut self, v: f32)

    source§

    fn erased_serialize_f64(&mut self, v: f64)

    source§

    fn erased_serialize_char(&mut self, v: char)

    source§

    fn erased_serialize_str(&mut self, v: &str)

    source§

    fn erased_serialize_bytes(&mut self, v: &[u8])

    source§

    fn erased_serialize_none(&mut self)

    source§

    fn erased_serialize_some(&mut self, value: &dyn Serialize)

    source§

    fn erased_serialize_unit(&mut self)

    source§

    fn erased_serialize_unit_struct(&mut self, name: &'static str)

    source§

    fn erased_serialize_unit_variant(\n &mut self,\n name: &'static str,\n variant_index: u32,\n variant: &'static str\n)

    source§

    fn erased_serialize_newtype_struct(\n &mut self,\n name: &'static str,\n value: &dyn Serialize\n)

    source§

    fn erased_serialize_newtype_variant(\n &mut self,\n name: &'static str,\n variant_index: u32,\n variant: &'static str,\n value: &dyn Serialize\n)

    source§

    fn erased_serialize_seq(\n &mut self,\n len: Option<usize>\n) -> Result<&mut dyn SerializeSeq, ErrorImpl>

    source§

    fn erased_serialize_tuple(\n &mut self,\n len: usize\n) -> Result<&mut dyn SerializeTuple, ErrorImpl>

    source§

    fn erased_serialize_tuple_struct(\n &mut self,\n name: &'static str,\n len: usize\n) -> Result<&mut dyn SerializeTupleStruct, ErrorImpl>

    source§

    fn erased_serialize_tuple_variant(\n &mut self,\n name: &'static str,\n variant_index: u32,\n variant: &'static str,\n len: usize\n) -> Result<&mut dyn SerializeTupleVariant, ErrorImpl>

    source§

    fn erased_serialize_map(\n &mut self,\n len: Option<usize>\n) -> Result<&mut dyn SerializeMap, ErrorImpl>

    source§

    fn erased_serialize_struct(\n &mut self,\n name: &'static str,\n len: usize\n) -> Result<&mut dyn SerializeStruct, ErrorImpl>

    source§

    fn erased_serialize_struct_variant(\n &mut self,\n name: &'static str,\n variant_index: u32,\n variant: &'static str,\n len: usize\n) -> Result<&mut dyn SerializeStructVariant, ErrorImpl>

    source§

    fn erased_is_human_readable(&self) -> bool

    ","Serializer","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<S> Source for Box<S>
    where\n S: Source + ?Sized,

    source§

    fn visit<'kvs>(\n &'kvs self,\n visitor: &mut dyn VisitSource<'kvs>\n) -> Result<(), Error>

    Visit key-values. Read more
    source§

    fn get(&self, key: Key<'_>) -> Option<Value<'_>>

    Get the value for a given key. Read more
    source§

    fn count(&self) -> usize

    Count the number of key-values that can be visited. Read more
    ","Source","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    §

    impl<S> Strategy for Box<S>
    where\n S: Strategy + ?Sized,

    §

    type Tree = <S as Strategy>::Tree

    The value tree generated by this Strategy.
    §

    type Value = <S as Strategy>::Value

    The type of value used by functions under test generated by this Strategy. Read more
    §

    fn new_tree(\n &self,\n runner: &mut TestRunner\n) -> Result<<Box<S> as Strategy>::Tree, Reason>

    Generate a new value tree from the given runner. Read more
    §

    fn prop_map<O, F>(self, fun: F) -> Map<Self, F>
    where\n O: Debug,\n F: Fn(Self::Value) -> O,\n Self: Sized,

    Returns a strategy which produces values transformed by the function\nfun. Read more
    §

    fn prop_map_into<O>(self) -> MapInto<Self, O>
    where\n O: Debug,\n Self: Sized,\n Self::Value: Into<O>,

    Returns a strategy which produces values of type O by transforming\nSelf with Into<O>. Read more
    §

    fn prop_perturb<O, F>(self, fun: F) -> Perturb<Self, F>
    where\n O: Debug,\n F: Fn(Self::Value, TestRng) -> O,\n Self: Sized,

    Returns a strategy which produces values transformed by the function\nfun, which is additionally given a random number generator. Read more
    §

    fn prop_flat_map<S, F>(self, fun: F) -> Flatten<Map<Self, F>>
    where\n S: Strategy,\n F: Fn(Self::Value) -> S,\n Self: Sized,

    Maps values produced by this strategy into new strategies and picks\nvalues from those strategies. Read more
    §

    fn prop_ind_flat_map<S, F>(self, fun: F) -> IndFlatten<Map<Self, F>>
    where\n S: Strategy,\n F: Fn(Self::Value) -> S,\n Self: Sized,

    Maps values produced by this strategy into new strategies and picks\nvalues from those strategies while considering the new strategies to be\nindependent. Read more
    §

    fn prop_ind_flat_map2<S, F>(self, fun: F) -> IndFlattenMap<Self, F>
    where\n S: Strategy,\n F: Fn(Self::Value) -> S,\n Self: Sized,

    Similar to prop_ind_flat_map(), but produces 2-tuples with the input\ngenerated from self in slot 0 and the derived strategy in slot 1. Read more
    §

    fn prop_filter<R, F>(self, whence: R, fun: F) -> Filter<Self, F>
    where\n R: Into<Reason>,\n F: Fn(&Self::Value) -> bool,\n Self: Sized,

    Returns a strategy which only produces values accepted by fun. Read more
    §

    fn prop_filter_map<F, O>(\n self,\n whence: impl Into<Reason>,\n fun: F\n) -> FilterMap<Self, F>
    where\n F: Fn(Self::Value) -> Option<O>,\n O: Debug,\n Self: Sized,

    Returns a strategy which only produces transformed values where fun\nreturns Some(value) and rejects those where fun returns None. Read more
    §

    fn prop_union(self, other: Self) -> Union<Self>
    where\n Self: Sized,

    Returns a strategy which picks uniformly from self and other. Read more
    §

    fn prop_recursive<R, F>(\n self,\n depth: u32,\n desired_size: u32,\n expected_branch_size: u32,\n recurse: F\n) -> Recursive<Self::Value, F>
    where\n R: Strategy<Value = Self::Value> + 'static,\n F: Fn(BoxedStrategy<Self::Value>) -> R,\n Self: Sized + 'static,

    Generate a recursive structure with self items as leaves. Read more
    §

    fn boxed(self) -> BoxedStrategy<Self::Value>
    where\n Self: Sized + 'static,

    Erases the type of this Strategy so it can be passed around as a\nsimple trait object. Read more
    §

    fn no_shrink(self) -> NoShrink<Self>
    where\n Self: Sized,

    Wraps this strategy to prevent values from being subject to shrinking. Read more
    ","Strategy","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<T> ToValue for Box<T>
    where\n T: ToValue + ?Sized,

    source§

    fn to_value(&self) -> Value<'_>

    Perform the conversion.
    ","ToValue","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    §

    impl<T> ValueTree for Box<T>
    where\n T: ValueTree + ?Sized,

    §

    type Value = <T as ValueTree>::Value

    The type of the value produced by this ValueTree.
    §

    fn current(&self) -> <Box<T> as ValueTree>::Value

    Returns the current value.
    §

    fn simplify(&mut self) -> bool

    Attempts to simplify the current value. Notionally, this sets the\n“high” value to the current value, and the current value to a “halfway\npoint” between high and low, rounding towards low. Read more
    §

    fn complicate(&mut self) -> bool

    Attempts to partially undo the last simplification. Notionally, this\nsets the “low” value to one plus the current value, and the current\nvalue to a “halfway point” between high and the new low, rounding\ntowards low. Read more
    ","ValueTree","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<'kvs, V> VisitSource<'kvs> for Box<V>
    where\n V: VisitSource<'kvs> + ?Sized,

    source§

    fn visit_pair(\n &mut self,\n key: Key<'kvs>,\n value: Value<'kvs>\n) -> Result<(), Error>

    Visit a key-value pair.
    ","VisitSource<'kvs>","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<W> Write for Box<W>
    where\n W: Write + ?Sized,

    source§

    fn write(&mut self, buf: &[u8]) -> Result<usize, Error>

    Write a buffer into this writer, returning how many bytes were written. Read more
    source§

    fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize, Error>

    Like write, except that it writes from a slice of buffers. Read more
    source§

    fn is_write_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Writer has an efficient write_vectored\nimplementation. Read more
    source§

    fn flush(&mut self) -> Result<(), Error>

    Flush this output stream, ensuring that all intermediately buffered\ncontents reach their destination. Read more
    source§

    fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>

    Attempts to write an entire buffer into this writer. Read more
    source§

    fn write_fmt(&mut self, fmt: Arguments<'_>) -> Result<(), Error>

    Writes a formatted string into this writer, returning any error\nencountered. Read more
    source§

    fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (write_all_vectored)
    Attempts to write multiple buffers into this writer. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Creates a “by reference” adapter for this instance of Write. Read more
    ","Write","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<T, U, A> CoerceUnsized<Box<U, A>> for Box<T, A>
    where\n T: Unsize<U> + ?Sized,\n A: Allocator,\n U: ?Sized,

    ","CoerceUnsized>","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<R> CryptoRng for Box<R>
    where\n R: CryptoRng + ?Sized,

    ","CryptoRng","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<T, A> DerefPure for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    ","DerefPure","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<T, U> DispatchFromDyn<Box<U>> for Box<T>
    where\n T: Unsize<U> + ?Sized,\n U: ?Sized,

    ","DispatchFromDyn>","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> Eq for Box<T, A>
    where\n T: Eq + ?Sized,\n A: Allocator,

    ","Eq","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.26.0 · source§

    impl<I, A> FusedIterator for Box<I, A>
    where\n I: FusedIterator + ?Sized,\n A: Allocator,

    ","FusedIterator","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.33.0 · source§

    impl<T, A> Unpin for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    ","Unpin","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"]] +"conjure_core":[["
    §

    impl<A> Arbitrary for Box<A>
    where\n A: Arbitrary,

    §

    type Parameters = <A as Arbitrary>::Parameters

    The type of parameters that arbitrary_with accepts for configuration\nof the generated Strategy. Parameters must implement Default.
    §

    type Strategy = MapInto<<A as Arbitrary>::Strategy, Box<A>>

    The type of Strategy used to generate values of type Self.
    §

    fn arbitrary_with(\n args: <Box<A> as Arbitrary>::Parameters\n) -> <Box<A> as Arbitrary>::Strategy

    Generates a Strategy for producing arbitrary values of type the\nimplementing type (Self). The strategy is passed the arguments given\nin args. Read more
    §

    fn arbitrary() -> Self::Strategy

    Generates a Strategy for producing arbitrary values\nof type the implementing type (Self). Read more
    ","Arbitrary","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    §

    impl<A> ArbitraryF1<A> for Box<A>
    where\n A: Debug + 'static,

    §

    type Parameters = ()

    The type of parameters that lift1_with accepts for\nconfiguration of the lifted and generated Strategy. Parameters\nmust implement Default.
    §

    fn lift1_with<S>(\n base: S,\n _args: <Box<A> as ArbitraryF1<A>>::Parameters\n) -> BoxedStrategy<Box<A>>
    where\n S: Strategy<Value = A> + 'static,

    Lifts a given Strategy to a new Strategy for the (presumably)\nbigger type. This is useful for lifting a Strategy for SomeType\nto a container such as Vec of SomeType. The composite strategy is\npassed the arguments given in args. Read more
    §

    fn lift1<AS>(base: AS) -> BoxedStrategy<Self>
    where\n AS: Strategy<Value = A> + 'static,

    Lifts a given Strategy to a new Strategy for the (presumably)\nbigger type. This is useful for lifting a Strategy for SomeType\nto a container such as Vec<SomeType>. Read more
    ","ArbitraryF1","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.64.0 · source§

    impl<T> AsFd for Box<T>
    where\n T: AsFd + ?Sized,

    source§

    fn as_fd(&self) -> BorrowedFd<'_>

    Borrows the file descriptor. Read more
    ","AsFd","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.5.0 · source§

    impl<T, A> AsMut<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

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

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.63.0 · source§

    impl<T> AsRawFd for Box<T>
    where\n T: AsRawFd,

    source§

    fn as_raw_fd(&self) -> i32

    Extracts the raw file descriptor. Read more
    ","AsRawFd","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.5.0 · source§

    impl<T, A> AsRef<T> for Box<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","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<Args, F, A> AsyncFn<Args> for Box<F, A>
    where\n Args: Tuple,\n F: AsyncFn<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn async_call(\n &self,\n args: Args\n) -> <Box<F, A> as AsyncFnMut<Args>>::CallRefFuture<'_>

    🔬This is a nightly-only experimental API. (async_fn_traits)
    Call the AsyncFn, returning a future which may borrow from the called closure.
    ","AsyncFn","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<Args, F, A> AsyncFnMut<Args> for Box<F, A>
    where\n Args: Tuple,\n F: AsyncFnMut<Args> + ?Sized,\n A: Allocator,

    §

    type CallRefFuture<'a> = <F as AsyncFnMut<Args>>::CallRefFuture<'a>\nwhere\n Box<F, A>: 'a

    🔬This is a nightly-only experimental API. (async_fn_traits)
    source§

    extern "rust-call" fn async_call_mut(\n &mut self,\n args: Args\n) -> <Box<F, A> as AsyncFnMut<Args>>::CallRefFuture<'_>

    🔬This is a nightly-only experimental API. (async_fn_traits)
    Call the AsyncFnMut, returning a future which may borrow from the called closure.
    ","AsyncFnMut","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<Args, F, A> AsyncFnOnce<Args> for Box<F, A>
    where\n Args: Tuple,\n F: AsyncFnOnce<Args> + ?Sized,\n A: Allocator,

    §

    type Output = <F as AsyncFnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (async_fn_traits)
    Output type of the called closure’s future.
    §

    type CallOnceFuture = <F as AsyncFnOnce<Args>>::CallOnceFuture

    🔬This is a nightly-only experimental API. (async_fn_traits)
    Future returned by AsyncFnOnce::async_call_once.
    source§

    extern "rust-call" fn async_call_once(\n self,\n args: Args\n) -> <Box<F, A> as AsyncFnOnce<Args>>::CallOnceFuture

    🔬This is a nightly-only experimental API. (async_fn_traits)
    Call the AsyncFnOnce, returning a future which may move out of the called closure.
    ","AsyncFnOnce","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<S> AsyncIterator for Box<S>
    where\n S: AsyncIterator + Unpin + ?Sized,

    §

    type Item = <S as AsyncIterator>::Item

    🔬This is a nightly-only experimental API. (async_iterator)
    The type of items yielded by the async iterator.
    source§

    fn poll_next(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Box<S> as AsyncIterator>::Item>>

    🔬This is a nightly-only experimental API. (async_iterator)
    Attempt to pull out the next value of this async iterator, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the async iterator is exhausted. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    🔬This is a nightly-only experimental API. (async_iterator)
    Returns the bounds on the remaining length of the async iterator. Read more
    ","AsyncIterator","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.1.0 · source§

    impl<T, A> Borrow<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    ","Borrow","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.1.0 · source§

    impl<T, A> BorrowMut<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

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

    Mutably borrows from an owned value. Read more
    ","BorrowMut","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<T> Box<T>

    1.0.0 · source

    pub fn new(x: T) -> Box<T>

    Allocates memory on the heap and then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    §Examples
    \n
    let five = Box::new(5);
    \n
    source

    pub fn new_uninit() -> Box<MaybeUninit<T>>

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

    Constructs a new box with uninitialized contents.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n\nlet mut five = Box::<u32>::new_uninit();\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn new_zeroed() -> Box<MaybeUninit<T>>

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

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n\nlet zero = Box::<u32>::new_zeroed();\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    1.33.0 · source

    pub fn pin(x: T) -> Pin<Box<T>>

    Constructs a new Pin<Box<T>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin(x)\ndoes the same as Box::into_pin(Box::new(x)). Consider using\ninto_pin if you already have a Box<T>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new.

    \n
    source

    pub fn try_new(x: T) -> Result<Box<T>, AllocError>

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

    Allocates memory on the heap then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nlet five = Box::try_new(5)?;
    \n
    source

    pub fn try_new_uninit() -> Result<Box<MaybeUninit<T>>, AllocError>

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

    Constructs a new box with uninitialized contents on the heap,\nreturning an error if the allocation fails

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet mut five = Box::<u32>::try_new_uninit()?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn try_new_zeroed() -> Result<Box<MaybeUninit<T>>, AllocError>

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

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes on the heap

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet zero = Box::<u32>::try_new_zeroed()?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    ",0,"conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<T> Box<T>
    where\n T: ?Sized,

    1.4.0 · source

    pub unsafe fn from_raw(raw: *mut T) -> Box<T>

    Constructs a box from a raw pointer.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    §Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n

    The safety conditions are described in the memory layout section.

    \n
    §Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw:

    \n\n
    let x = Box::new(5);\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manually create a Box from scratch by using the global allocator:

    \n\n
    use std::alloc::{alloc, Layout};\n\nunsafe {\n    let ptr = alloc(Layout::new::<i32>()) as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw(ptr);\n}
    \n
    ",0,"conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<T, A> Box<T, A>
    where\n A: Allocator,

    source

    pub fn new_in(x: T, alloc: A) -> Box<T, A>
    where\n A: Allocator,

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

    Allocates memory in the given allocator then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::new_in(5, System);
    \n
    source

    pub fn try_new_in(x: T, alloc: A) -> Result<Box<T, A>, AllocError>
    where\n A: Allocator,

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

    Allocates memory in the given allocator then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::try_new_in(5, System)?;
    \n
    source

    pub fn new_uninit_in(alloc: A) -> Box<MaybeUninit<T>, A>
    where\n A: Allocator,

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

    Constructs a new box with uninitialized contents in the provided allocator.

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::new_uninit_in(System);\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn try_new_uninit_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>
    where\n A: Allocator,

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

    Constructs a new box with uninitialized contents in the provided allocator,\nreturning an error if the allocation fails

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::try_new_uninit_in(System)?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    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) -> Box<MaybeUninit<T>, A>
    where\n A: Allocator,

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

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::new_zeroed_in(System);\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    source

    pub fn try_new_zeroed_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>
    where\n A: Allocator,

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

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator,\nreturning an error if the allocation fails,

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::try_new_zeroed_in(System)?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    source

    pub fn pin_in(x: T, alloc: A) -> Pin<Box<T, A>>
    where\n A: 'static + Allocator,

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

    Constructs a new Pin<Box<T, A>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin_in(x, alloc)\ndoes the same as Box::into_pin(Box::new_in(x, alloc)). Consider using\ninto_pin if you already have a Box<T, A>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new_in.

    \n
    source

    pub fn into_boxed_slice(boxed: Box<T, A>) -> Box<[T], A>

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

    Converts a Box<T> into a Box<[T]>

    \n

    This conversion does not allocate on the heap and happens in place.

    \n
    source

    pub fn into_inner(boxed: Box<T, A>) -> T

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

    Consumes the Box, returning the wrapped value.

    \n
    §Examples
    \n
    #![feature(box_into_inner)]\n\nlet c = Box::new(5);\n\nassert_eq!(Box::into_inner(c), 5);
    \n
    ",0,"conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<T, A> Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    const: unstable · source

    pub unsafe fn from_raw_in(raw: *mut T, alloc: A) -> Box<T, A>

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

    Constructs a box from a raw pointer in the given allocator.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    §Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n
    §Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw_with_allocator:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(5, System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manually create a Box from scratch by using the system allocator:

    \n\n
    #![feature(allocator_api, slice_ptr_get)]\n\nuse std::alloc::{Allocator, Layout, System};\n\nunsafe {\n    let ptr = System.allocate(Layout::new::<i32>())?.as_mut_ptr() as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw_in(ptr, System);\n}
    \n
    1.4.0 · source

    pub fn into_raw(b: Box<T, A>) -> *mut T

    Consumes the Box, returning a wrapped raw pointer.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw(b) instead of b.into_raw(). This\nis so that there is no conflict with a method on the inner type.

    \n
    §Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw\nfor automatic cleanup:

    \n\n
    let x = Box::new(String::from(\"Hello\"));\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    use std::alloc::{dealloc, Layout};\nuse std::ptr;\n\nlet x = Box::new(String::from(\"Hello\"));\nlet ptr = Box::into_raw(x);\nunsafe {\n    ptr::drop_in_place(ptr);\n    dealloc(ptr as *mut u8, Layout::new::<String>());\n}
    \n

    Note: This is equivalent to the following:

    \n\n
    let x = Box::new(String::from(\"Hello\"));\nlet ptr = Box::into_raw(x);\nunsafe {\n    drop(Box::from_raw(ptr));\n}
    \n
    source

    pub fn into_raw_with_allocator(b: Box<T, A>) -> (*mut T, A)

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

    Consumes the Box, returning a wrapped raw pointer and the allocator.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw_in function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw_with_allocator(b) instead of b.into_raw_with_allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    §Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw_in\nfor automatic cleanup:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(String::from(\"Hello\"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::{Allocator, Layout, System};\nuse std::ptr::{self, NonNull};\n\nlet x = Box::new_in(String::from(\"Hello\"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nunsafe {\n    ptr::drop_in_place(ptr);\n    let non_null = NonNull::new_unchecked(ptr);\n    alloc.deallocate(non_null.cast(), Layout::new::<String>());\n}
    \n
    const: unstable · source

    pub fn allocator(b: &Box<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 Box::allocator(&b) instead of b.allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    1.26.0 · source

    pub fn leak<'a>(b: Box<T, A>) -> &'a mut T
    where\n A: 'a,

    Consumes and leaks the Box, returning a mutable reference,\n&'a mut T. Note that the type T must outlive the chosen lifetime\n'a. If the type has only static references, or none at all, then this\nmay be chosen to be 'static.

    \n

    This function is mainly useful for data that lives for the remainder of\nthe program’s life. Dropping the returned reference will cause a memory\nleak. If this is not acceptable, the reference should first be wrapped\nwith the Box::from_raw function producing a Box. This Box can\nthen be dropped which will properly destroy T and release the\nallocated memory.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::leak(b) instead of b.leak(). This\nis so that there is no conflict with a method on the inner type.

    \n
    §Examples
    \n

    Simple usage:

    \n\n
    let x = Box::new(41);\nlet static_ref: &'static mut usize = Box::leak(x);\n*static_ref += 1;\nassert_eq!(*static_ref, 42);
    \n

    Unsized data:

    \n\n
    let x = vec![1, 2, 3].into_boxed_slice();\nlet static_ref = Box::leak(x);\nstatic_ref[0] = 4;\nassert_eq!(*static_ref, [4, 2, 3]);
    \n
    1.63.0 (const: unstable) · source

    pub fn into_pin(boxed: Box<T, A>) -> Pin<Box<T, A>>
    where\n A: 'static,

    Converts a Box<T> into a Pin<Box<T>>. If T does not implement Unpin, then\n*boxed will be pinned in memory and unable to be moved.

    \n

    This conversion does not allocate on the heap and happens in place.

    \n

    This is also available via From.

    \n

    Constructing and pinning a Box with Box::into_pin(Box::new(x))\ncan also be written more concisely using Box::pin(x).\nThis into_pin method is useful if you already have a Box<T>, or you are\nconstructing a (pinned) Box in a different way than with Box::new.

    \n
    §Notes
    \n

    It’s not recommended that crates add an impl like From<Box<T>> for Pin<T>,\nas it’ll introduce an ambiguity when calling Pin::from.\nA demonstration of such a poor impl is shown below.

    \n\n
    struct Foo; // A type defined in this crate.\nimpl From<Box<()>> for Pin<Foo> {\n    fn from(_: Box<()>) -> Pin<Foo> {\n        Pin::new(Foo)\n    }\n}\n\nlet foo = Box::new(());\nlet bar = Pin::from(foo);
    \n
    ",0,"conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<B> BufRead for Box<B>
    where\n B: BufRead + ?Sized,

    source§

    fn fill_buf(&mut self) -> Result<&[u8], Error>

    Returns the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    source§

    fn consume(&mut self, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to read. Read more
    source§

    fn read_until(&mut self, byte: u8, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes into buf until the delimiter byte or EOF is reached. Read more
    source§

    fn read_line(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until a newline (the 0xA byte) is reached, and append\nthem to the provided String buffer. Read more
    source§

    fn has_data_left(&mut self) -> Result<bool, Error>

    🔬This is a nightly-only experimental API. (buf_read_has_data_left)
    Check if the underlying Read has any data left to be read. Read more
    source§

    fn skip_until(&mut self, byte: u8) -> Result<usize, Error>

    🔬This is a nightly-only experimental API. (bufread_skip_until)
    Skip all bytes until the delimiter byte or EOF is reached. Read more
    1.0.0 · source§

    fn split(self, byte: u8) -> Split<Self>
    where\n Self: Sized,

    Returns an iterator over the contents of this reader split on the byte\nbyte. Read more
    1.0.0 · source§

    fn lines(self) -> Lines<Self>
    where\n Self: Sized,

    Returns an iterator over the lines of this reader. Read more
    ","BufRead","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> Clone for Box<T, A>
    where\n T: Clone,\n A: Allocator + Clone,

    source§

    fn clone(&self) -> Box<T, A>

    Returns a new box with a clone() of this box’s contents.

    \n
    §Examples
    \n
    let x = Box::new(5);\nlet y = x.clone();\n\n// The value is the same\nassert_eq!(x, y);\n\n// But they are unique objects\nassert_ne!(&*x as *const i32, &*y as *const i32);
    \n
    source§

    fn clone_from(&mut self, source: &Box<T, A>)

    Copies source’s contents into self without creating a new allocation.

    \n
    §Examples
    \n
    let x = Box::new(5);\nlet mut y = Box::new(10);\nlet yp: *const i32 = &*y;\n\ny.clone_from(&x);\n\n// The value is the same\nassert_eq!(x, y);\n\n// And no allocation occurred\nassert_eq!(yp, &*y);
    \n
    ","Clone","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<G, R, A> Coroutine<R> for Box<G, A>
    where\n G: Coroutine<R> + Unpin + ?Sized,\n A: Allocator,

    §

    type Yield = <G as Coroutine<R>>::Yield

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine yields. Read more
    §

    type Return = <G as Coroutine<R>>::Return

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine returns. Read more
    source§

    fn resume(\n self: Pin<&mut Box<G, A>>,\n arg: R\n) -> CoroutineState<<Box<G, A> as Coroutine<R>>::Yield, <Box<G, A> as Coroutine<R>>::Return>

    🔬This is a nightly-only experimental API. (coroutine_trait)
    Resumes the execution of this coroutine. Read more
    ","Coroutine","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> Debug for Box<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","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T> Default for Box<T>
    where\n T: Default,

    source§

    fn default() -> Box<T>

    Creates a Box<T>, with the Default value for T.

    \n
    ","Default","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> Deref for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    §

    type Target = T

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &T

    Dereferences the value.
    ","Deref","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> DerefMut for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

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

    Mutably dereferences the value.
    ","DerefMut","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<'de, T> Deserialize<'de> for Box<T>
    where\n T: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Box<T>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<'de, T, U> DeserializeAs<'de, Box<T>> for Box<U>
    where\n U: DeserializeAs<'de, T>,

    source§

    fn deserialize_as<D>(\n deserializer: D\n) -> Result<Box<T>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Box>","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<'de, T> Deserializer<'de> for Box<T>
    where\n T: Deserializer<'de> + ?Sized,

    source§

    fn erased_deserialize_any(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_bool(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_i8(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_i16(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_i32(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_i64(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_i128(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_u8(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_u16(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_u32(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_u64(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_u128(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_f32(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_f64(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_char(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_str(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_string(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_bytes(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_byte_buf(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_option(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_unit(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_unit_struct(\n &mut self,\n name: &'static str,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_newtype_struct(\n &mut self,\n name: &'static str,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_seq(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_tuple(\n &mut self,\n len: usize,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_tuple_struct(\n &mut self,\n name: &'static str,\n len: usize,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_map(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_struct(\n &mut self,\n name: &'static str,\n fields: &'static [&'static str],\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_identifier(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_enum(\n &mut self,\n name: &'static str,\n variants: &'static [&'static str],\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_ignored_any(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_is_human_readable(&self) -> bool

    ","Deserializer<'de>","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> Display for Box<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","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<I, A> DoubleEndedIterator for Box<I, A>
    where\n I: DoubleEndedIterator + ?Sized,\n A: Allocator,

    source§

    fn next_back(&mut self) -> Option<<I as Iterator>::Item>

    Removes and returns an element from the end of the iterator. Read more
    source§

    fn nth_back(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source§

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator from the back by n elements. Read more
    1.27.0 · source§

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\nelements starting from the back of the iterator. Read more
    1.27.0 · source§

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator’s elements to a single,\nfinal value, starting from the back. Read more
    1.27.0 · source§

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    ","DoubleEndedIterator","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> Drop for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.8.0 · source§

    impl<T> Error for Box<T>
    where\n T: Error,

    source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source§

    fn provide<'b>(&'b self, request: &mut Request<'b>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    ","Error","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<I, A> ExactSizeIterator for Box<I, A>
    where\n I: ExactSizeIterator + ?Sized,\n A: Allocator,

    source§

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source§

    fn is_empty(&self) -> bool

    🔬This is a nightly-only experimental API. (exact_size_is_empty)
    Returns true if the iterator is empty. Read more
    ","ExactSizeIterator","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.35.0 · source§

    impl<Args, F, A> Fn<Args> for Box<F, A>
    where\n Args: Tuple,\n F: Fn<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call(\n &self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","Fn","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.35.0 · source§

    impl<Args, F, A> FnMut<Args> for Box<F, A>
    where\n Args: Tuple,\n F: FnMut<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call_mut(\n &mut self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnMut","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.35.0 · source§

    impl<Args, F, A> FnOnce<Args> for Box<F, A>
    where\n Args: Tuple,\n F: FnOnce<Args> + ?Sized,\n A: Allocator,

    §

    type Output = <F as FnOnce<Args>>::Output

    The returned type after the call operator is used.
    source§

    extern "rust-call" fn call_once(\n self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnOnce","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.6.0 · source§

    impl<T> From<T> for Box<T>

    source§

    fn from(t: T) -> Box<T>

    Converts a T into a Box<T>

    \n

    The conversion allocates on the heap and moves t\nfrom the stack into it.

    \n
    §Examples
    \n
    let x = 5;\nlet boxed = Box::new(5);\n\nassert_eq!(Box::from(x), boxed);
    \n
    ","From","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.36.0 · source§

    impl<F, A> Future for Box<F, A>
    where\n F: Future + Unpin + ?Sized,\n A: Allocator,

    §

    type Output = <F as Future>::Output

    The type of value produced on completion.
    source§

    fn poll(\n self: Pin<&mut Box<F, A>>,\n cx: &mut Context<'_>\n) -> Poll<<Box<F, A> as Future>::Output>

    Attempt to resolve the future to a final value, registering\nthe current task for wakeup if the value is not yet available. Read more
    ","Future","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> Hash for Box<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","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.22.0 · source§

    impl<T, A> Hasher for Box<T, A>
    where\n T: Hasher + ?Sized,\n A: Allocator,

    source§

    fn finish(&self) -> u64

    Returns the hash value for the values written so far. Read more
    source§

    fn write(&mut self, bytes: &[u8])

    Writes some data into this Hasher. Read more
    source§

    fn write_u8(&mut self, i: u8)

    Writes a single u8 into this hasher.
    source§

    fn write_u16(&mut self, i: u16)

    Writes a single u16 into this hasher.
    source§

    fn write_u32(&mut self, i: u32)

    Writes a single u32 into this hasher.
    source§

    fn write_u64(&mut self, i: u64)

    Writes a single u64 into this hasher.
    source§

    fn write_u128(&mut self, i: u128)

    Writes a single u128 into this hasher.
    source§

    fn write_usize(&mut self, i: usize)

    Writes a single usize into this hasher.
    source§

    fn write_i8(&mut self, i: i8)

    Writes a single i8 into this hasher.
    source§

    fn write_i16(&mut self, i: i16)

    Writes a single i16 into this hasher.
    source§

    fn write_i32(&mut self, i: i32)

    Writes a single i32 into this hasher.
    source§

    fn write_i64(&mut self, i: i64)

    Writes a single i64 into this hasher.
    source§

    fn write_i128(&mut self, i: i128)

    Writes a single i128 into this hasher.
    source§

    fn write_isize(&mut self, i: isize)

    Writes a single isize into this hasher.
    source§

    fn write_length_prefix(&mut self, len: usize)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a length prefix into this hasher, as part of being prefix-free. Read more
    source§

    fn write_str(&mut self, s: &str)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a single str into this hasher. Read more
    ","Hasher","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<I, A> Iterator for Box<I, A>
    where\n I: Iterator + ?Sized,\n A: Allocator,

    §

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source§

    fn next(&mut self) -> Option<<I as Iterator>::Item>

    Advances the iterator and returns the next value. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

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

    fn nth(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source§

    fn last(self) -> Option<<I as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source§

    fn next_chunk<const N: usize>(\n &mut self\n) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_next_chunk)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 · source§

    fn count(self) -> usize
    where\n Self: Sized,

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

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator by n elements. Read more
    1.28.0 · source§

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n Self: Sized,

    Creates an iterator starting at the same point, but stepping by\nthe given amount at each iteration. Read more
    1.0.0 · source§

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n Self: Sized,\n U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 · source§

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n Self: Sized,\n U: IntoIterator,

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

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n Self: Sized,\n G: FnMut() -> Self::Item,

    🔬This is a nightly-only experimental API. (iter_intersperse)
    Creates a new iterator which places an item generated by separator\nbetween adjacent items of the original iterator. Read more
    1.0.0 · source§

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\nelement. Read more
    1.21.0 · source§

    fn for_each<F>(self, f: F)
    where\n Self: Sized,\n F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 · source§

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\nshould be yielded. Read more
    1.0.0 · source§

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 · source§

    fn enumerate(self) -> Enumerate<Self>
    where\n Self: Sized,

    Creates an iterator which gives the current iteration count as well as\nthe next value. Read more
    1.0.0 · source§

    fn peekable(self) -> Peekable<Self>
    where\n Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\nto look at the next element of the iterator without consuming it. See\ntheir documentation for more information. Read more
    1.0.0 · source§

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 · source§

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 · source§

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(Self::Item) -> Option<B>,

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

    fn skip(self, n: usize) -> Skip<Self>
    where\n Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 · source§

    fn take(self, n: usize) -> Take<Self>
    where\n Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\nif the underlying iterator ends sooner. Read more
    1.0.0 · source§

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n Self: Sized,\n F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\nunlike fold, produces a new iterator. Read more
    1.0.0 · source§

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n Self: Sized,\n U: IntoIterator,\n F: FnMut(Self::Item) -> U,

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

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n Self: Sized,\n F: FnMut(&[Self::Item; N]) -> R,

    🔬This is a nightly-only experimental API. (iter_map_windows)
    Calls the given function f for each contiguous window of size N over\nself and returns an iterator over the outputs of f. Like slice::windows(),\nthe windows during mapping overlap as well. Read more
    1.0.0 · source§

    fn fuse(self) -> Fuse<Self>
    where\n Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 · source§

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n Self: Sized,\n F: FnMut(&Self::Item),

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

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 · source§

    fn collect<B>(self) -> B
    where\n B: FromIterator<Self::Item>,\n Self: Sized,

    Transforms an iterator into a collection. Read more
    source§

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n E: Extend<Self::Item>,\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_collect_into)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 · source§

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n Self: Sized,\n B: Default + Extend<Self::Item>,\n F: FnMut(&Self::Item) -> bool,

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

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_is_partitioned)
    Checks if the elements of this iterator are partitioned according to the given predicate,\nsuch that all those that return true precede all those that return false. Read more
    1.27.0 · source§

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\nsuccessfully, producing a single, final value. Read more
    1.27.0 · source§

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n Self: Sized,\n F: FnMut(Self::Item) -> R,\n R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\niterator, stopping at the first error and returning that error. Read more
    1.0.0 · source§

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\nreturning the final result. Read more
    1.51.0 · source§

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\noperation. Read more
    source§

    fn try_reduce<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> R,\n R: Try<Output = Self::Item>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (iterator_try_reduce)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\nclosure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 · source§

    fn all<F>(&mut self, f: F) -> bool
    where\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn any<F>(&mut self, f: F) -> bool
    where\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 · source§

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\nthe first non-none result. Read more
    source§

    fn try_find<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n Self: Sized,\n F: FnMut(&Self::Item) -> R,\n R: Try<Output = bool>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (try_find)
    Applies function to the elements of iterator and returns\nthe first true result or the first error. Read more
    1.0.0 · source§

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 · source§

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\nspecified function. Read more
    1.15.0 · source§

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\nspecified comparison function. Read more
    1.6.0 · source§

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\nspecified function. Read more
    1.15.0 · source§

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\nspecified comparison function. Read more
    1.0.0 · source§

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 · source§

    fn copied<'a, T>(self) -> Copied<Self>
    where\n T: 'a + Copy,\n Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 · source§

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n T: 'a + Clone,\n Self: Sized + Iterator<Item = &'a T>,

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

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_array_chunks)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 · source§

    fn sum<S>(self) -> S
    where\n Self: Sized,\n S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 · source§

    fn product<P>(self) -> P
    where\n Self: Sized,\n P: Product<Self::Item>,

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

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Lexicographically compares the PartialOrd elements of\nthis Iterator with those of another. The comparison works like short-circuit\nevaluation, returning a result without comparing the remaining elements.\nAs soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source§

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn eq<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are equal to those of\nanother. Read more
    source§

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Determines if the elements of this Iterator are equal to those of\nanother with respect to the specified equality function. Read more
    1.5.0 · source§

    fn ne<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\nanother. Read more
    1.5.0 · source§

    fn lt<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless than those of another. Read more
    1.5.0 · source§

    fn le<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless or equal to those of another. Read more
    1.5.0 · source§

    fn gt<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than those of another. Read more
    1.5.0 · source§

    fn ge<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than or equal to those of another. Read more
    source§

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source§

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n Self: Sized,\n F: FnMut(Self::Item) -> K,\n K: PartialOrd,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given key extraction\nfunction. Read more
    ","Iterator","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    §

    impl<T> JsonSchema for Box<T>
    where\n T: JsonSchema + ?Sized,

    §

    fn is_referenceable() -> bool

    Whether JSON Schemas generated for this type should be re-used where possible using the $ref keyword. Read more
    §

    fn schema_name() -> String

    The name of the generated JSON Schema. Read more
    §

    fn schema_id() -> Cow<'static, str>

    Returns a string that uniquely identifies the schema produced by this type. Read more
    §

    fn json_schema(gen: &mut SchemaGenerator) -> Schema

    Generates a JSON Schema for this type. Read more
    ","JsonSchema","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<T> Log for Box<T>
    where\n T: Log + ?Sized,

    source§

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Determines if a log message with the specified metadata would be\nlogged. Read more
    source§

    fn log(&self, record: &Record<'_>)

    Logs the Record. Read more
    source§

    fn flush(&self)

    Flushes any buffered records.
    ","Log","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> Ord for Box<T, A>
    where\n T: Ord + ?Sized,\n A: Allocator,

    source§

    fn cmp(&self, other: &Box<T, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    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","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> PartialEq for Box<T, A>
    where\n T: PartialEq + ?Sized,\n A: Allocator,

    source§

    fn eq(&self, other: &Box<T, A>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &Box<T, A>) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> PartialOrd for Box<T, A>
    where\n T: PartialOrd + ?Sized,\n A: Allocator,

    source§

    fn partial_cmp(&self, other: &Box<T, A>) -> Option<Ordering>

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

    fn lt(&self, other: &Box<T, A>) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source§

    fn le(&self, other: &Box<T, A>) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    source§

    fn ge(&self, other: &Box<T, A>) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    source§

    fn gt(&self, other: &Box<T, A>) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    ","PartialOrd","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> Pointer for Box<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","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<R> Read for Box<R>
    where\n R: Read + ?Sized,

    source§

    fn read(&mut self, buf: &mut [u8]) -> Result<usize, Error>

    Pull some bytes from this source into the specified buffer, returning\nhow many bytes were read. Read more
    source§

    fn read_buf(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Pull some bytes from this source into the specified buffer. Read more
    source§

    fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>

    Like read, except that it reads into a slice of buffers. Read more
    source§

    fn is_read_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Reader has an efficient read_vectored\nimplementation. Read more
    source§

    fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes until EOF in this source, placing them into buf. Read more
    source§

    fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until EOF in this source, appending them to buf. Read more
    source§

    fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>

    Read the exact number of bytes required to fill buf. Read more
    source§

    fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Read the exact number of bytes required to fill cursor. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Creates a “by reference” adaptor for this instance of Read. Read more
    1.0.0 · source§

    fn bytes(self) -> Bytes<Self>
    where\n Self: Sized,

    Transforms this Read instance to an Iterator over its bytes. Read more
    1.0.0 · source§

    fn chain<R>(self, next: R) -> Chain<Self, R>
    where\n R: Read,\n Self: Sized,

    Creates an adapter which will chain this stream with another. Read more
    1.0.0 · source§

    fn take(self, limit: u64) -> Take<Self>
    where\n Self: Sized,

    Creates an adapter which will read at most limit bytes from it. Read more
    ","Read","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<R> RngCore for Box<R>
    where\n R: RngCore + ?Sized,

    source§

    fn next_u32(&mut self) -> u32

    Return the next random u32. Read more
    source§

    fn next_u64(&mut self) -> u64

    Return the next random u64. Read more
    source§

    fn fill_bytes(&mut self, dest: &mut [u8])

    Fill dest with random data. Read more
    source§

    fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error>

    Fill dest entirely with random data. Read more
    ","RngCore","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<S> Seek for Box<S>
    where\n S: Seek + ?Sized,

    source§

    fn seek(&mut self, pos: SeekFrom) -> Result<u64, Error>

    Seek to an offset, in bytes, in a stream. Read more
    source§

    fn stream_position(&mut self) -> Result<u64, Error>

    Returns the current seek position from the start of the stream. Read more
    1.55.0 · source§

    fn rewind(&mut self) -> Result<(), Error>

    Rewind to the beginning of a stream. Read more
    source§

    fn stream_len(&mut self) -> Result<u64, Error>

    🔬This is a nightly-only experimental API. (seek_stream_len)
    Returns the length of this stream (in bytes). Read more
    1.80.0 · source§

    fn seek_relative(&mut self, offset: i64) -> Result<(), Error>

    Seeks relative to the current position. Read more
    ","Seek","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<T> Serialize for Box<T>
    where\n T: Serialize + ?Sized,

    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","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<T, U> SerializeAs<Box<T>> for Box<U>
    where\n U: SerializeAs<T>,

    source§

    fn serialize_as<S>(\n source: &Box<T>,\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.
    ","SerializeAs>","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<T> Serializer for Box<T>
    where\n T: Serializer + ?Sized,

    source§

    fn erased_serialize_bool(&mut self, v: bool)

    source§

    fn erased_serialize_i8(&mut self, v: i8)

    source§

    fn erased_serialize_i16(&mut self, v: i16)

    source§

    fn erased_serialize_i32(&mut self, v: i32)

    source§

    fn erased_serialize_i64(&mut self, v: i64)

    source§

    fn erased_serialize_i128(&mut self, v: i128)

    source§

    fn erased_serialize_u8(&mut self, v: u8)

    source§

    fn erased_serialize_u16(&mut self, v: u16)

    source§

    fn erased_serialize_u32(&mut self, v: u32)

    source§

    fn erased_serialize_u64(&mut self, v: u64)

    source§

    fn erased_serialize_u128(&mut self, v: u128)

    source§

    fn erased_serialize_f32(&mut self, v: f32)

    source§

    fn erased_serialize_f64(&mut self, v: f64)

    source§

    fn erased_serialize_char(&mut self, v: char)

    source§

    fn erased_serialize_str(&mut self, v: &str)

    source§

    fn erased_serialize_bytes(&mut self, v: &[u8])

    source§

    fn erased_serialize_none(&mut self)

    source§

    fn erased_serialize_some(&mut self, value: &dyn Serialize)

    source§

    fn erased_serialize_unit(&mut self)

    source§

    fn erased_serialize_unit_struct(&mut self, name: &'static str)

    source§

    fn erased_serialize_unit_variant(\n &mut self,\n name: &'static str,\n variant_index: u32,\n variant: &'static str\n)

    source§

    fn erased_serialize_newtype_struct(\n &mut self,\n name: &'static str,\n value: &dyn Serialize\n)

    source§

    fn erased_serialize_newtype_variant(\n &mut self,\n name: &'static str,\n variant_index: u32,\n variant: &'static str,\n value: &dyn Serialize\n)

    source§

    fn erased_serialize_seq(\n &mut self,\n len: Option<usize>\n) -> Result<&mut dyn SerializeSeq, ErrorImpl>

    source§

    fn erased_serialize_tuple(\n &mut self,\n len: usize\n) -> Result<&mut dyn SerializeTuple, ErrorImpl>

    source§

    fn erased_serialize_tuple_struct(\n &mut self,\n name: &'static str,\n len: usize\n) -> Result<&mut dyn SerializeTupleStruct, ErrorImpl>

    source§

    fn erased_serialize_tuple_variant(\n &mut self,\n name: &'static str,\n variant_index: u32,\n variant: &'static str,\n len: usize\n) -> Result<&mut dyn SerializeTupleVariant, ErrorImpl>

    source§

    fn erased_serialize_map(\n &mut self,\n len: Option<usize>\n) -> Result<&mut dyn SerializeMap, ErrorImpl>

    source§

    fn erased_serialize_struct(\n &mut self,\n name: &'static str,\n len: usize\n) -> Result<&mut dyn SerializeStruct, ErrorImpl>

    source§

    fn erased_serialize_struct_variant(\n &mut self,\n name: &'static str,\n variant_index: u32,\n variant: &'static str,\n len: usize\n) -> Result<&mut dyn SerializeStructVariant, ErrorImpl>

    source§

    fn erased_is_human_readable(&self) -> bool

    ","Serializer","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<S> Source for Box<S>
    where\n S: Source + ?Sized,

    source§

    fn visit<'kvs>(\n &'kvs self,\n visitor: &mut dyn VisitSource<'kvs>\n) -> Result<(), Error>

    Visit key-values. Read more
    source§

    fn get(&self, key: Key<'_>) -> Option<Value<'_>>

    Get the value for a given key. Read more
    source§

    fn count(&self) -> usize

    Count the number of key-values that can be visited. Read more
    ","Source","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    §

    impl<S> Strategy for Box<S>
    where\n S: Strategy + ?Sized,

    §

    type Tree = <S as Strategy>::Tree

    The value tree generated by this Strategy.
    §

    type Value = <S as Strategy>::Value

    The type of value used by functions under test generated by this Strategy. Read more
    §

    fn new_tree(\n &self,\n runner: &mut TestRunner\n) -> Result<<Box<S> as Strategy>::Tree, Reason>

    Generate a new value tree from the given runner. Read more
    §

    fn prop_map<O, F>(self, fun: F) -> Map<Self, F>
    where\n O: Debug,\n F: Fn(Self::Value) -> O,\n Self: Sized,

    Returns a strategy which produces values transformed by the function\nfun. Read more
    §

    fn prop_map_into<O>(self) -> MapInto<Self, O>
    where\n O: Debug,\n Self: Sized,\n Self::Value: Into<O>,

    Returns a strategy which produces values of type O by transforming\nSelf with Into<O>. Read more
    §

    fn prop_perturb<O, F>(self, fun: F) -> Perturb<Self, F>
    where\n O: Debug,\n F: Fn(Self::Value, TestRng) -> O,\n Self: Sized,

    Returns a strategy which produces values transformed by the function\nfun, which is additionally given a random number generator. Read more
    §

    fn prop_flat_map<S, F>(self, fun: F) -> Flatten<Map<Self, F>>
    where\n S: Strategy,\n F: Fn(Self::Value) -> S,\n Self: Sized,

    Maps values produced by this strategy into new strategies and picks\nvalues from those strategies. Read more
    §

    fn prop_ind_flat_map<S, F>(self, fun: F) -> IndFlatten<Map<Self, F>>
    where\n S: Strategy,\n F: Fn(Self::Value) -> S,\n Self: Sized,

    Maps values produced by this strategy into new strategies and picks\nvalues from those strategies while considering the new strategies to be\nindependent. Read more
    §

    fn prop_ind_flat_map2<S, F>(self, fun: F) -> IndFlattenMap<Self, F>
    where\n S: Strategy,\n F: Fn(Self::Value) -> S,\n Self: Sized,

    Similar to prop_ind_flat_map(), but produces 2-tuples with the input\ngenerated from self in slot 0 and the derived strategy in slot 1. Read more
    §

    fn prop_filter<R, F>(self, whence: R, fun: F) -> Filter<Self, F>
    where\n R: Into<Reason>,\n F: Fn(&Self::Value) -> bool,\n Self: Sized,

    Returns a strategy which only produces values accepted by fun. Read more
    §

    fn prop_filter_map<F, O>(\n self,\n whence: impl Into<Reason>,\n fun: F\n) -> FilterMap<Self, F>
    where\n F: Fn(Self::Value) -> Option<O>,\n O: Debug,\n Self: Sized,

    Returns a strategy which only produces transformed values where fun\nreturns Some(value) and rejects those where fun returns None. Read more
    §

    fn prop_union(self, other: Self) -> Union<Self>
    where\n Self: Sized,

    Returns a strategy which picks uniformly from self and other. Read more
    §

    fn prop_recursive<R, F>(\n self,\n depth: u32,\n desired_size: u32,\n expected_branch_size: u32,\n recurse: F\n) -> Recursive<Self::Value, F>
    where\n R: Strategy<Value = Self::Value> + 'static,\n F: Fn(BoxedStrategy<Self::Value>) -> R,\n Self: Sized + 'static,

    Generate a recursive structure with self items as leaves. Read more
    §

    fn boxed(self) -> BoxedStrategy<Self::Value>
    where\n Self: Sized + 'static,

    Erases the type of this Strategy so it can be passed around as a\nsimple trait object. Read more
    §

    fn no_shrink(self) -> NoShrink<Self>
    where\n Self: Sized,

    Wraps this strategy to prevent values from being subject to shrinking. Read more
    ","Strategy","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<T> ToValue for Box<T>
    where\n T: ToValue + ?Sized,

    source§

    fn to_value(&self) -> Value<'_>

    Perform the conversion.
    ","ToValue","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    §

    impl<T> ValueTree for Box<T>
    where\n T: ValueTree + ?Sized,

    §

    type Value = <T as ValueTree>::Value

    The type of the value produced by this ValueTree.
    §

    fn current(&self) -> <Box<T> as ValueTree>::Value

    Returns the current value.
    §

    fn simplify(&mut self) -> bool

    Attempts to simplify the current value. Notionally, this sets the\n“high” value to the current value, and the current value to a “halfway\npoint” between high and low, rounding towards low. Read more
    §

    fn complicate(&mut self) -> bool

    Attempts to partially undo the last simplification. Notionally, this\nsets the “low” value to one plus the current value, and the current\nvalue to a “halfway point” between high and the new low, rounding\ntowards low. Read more
    ","ValueTree","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<'kvs, V> VisitSource<'kvs> for Box<V>
    where\n V: VisitSource<'kvs> + ?Sized,

    source§

    fn visit_pair(\n &mut self,\n key: Key<'kvs>,\n value: Value<'kvs>\n) -> Result<(), Error>

    Visit a key-value pair.
    ","VisitSource<'kvs>","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<W> Write for Box<W>
    where\n W: Write + ?Sized,

    source§

    fn write(&mut self, buf: &[u8]) -> Result<usize, Error>

    Write a buffer into this writer, returning how many bytes were written. Read more
    source§

    fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize, Error>

    Like write, except that it writes from a slice of buffers. Read more
    source§

    fn is_write_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Writer has an efficient write_vectored\nimplementation. Read more
    source§

    fn flush(&mut self) -> Result<(), Error>

    Flush this output stream, ensuring that all intermediately buffered\ncontents reach their destination. Read more
    source§

    fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>

    Attempts to write an entire buffer into this writer. Read more
    source§

    fn write_fmt(&mut self, fmt: Arguments<'_>) -> Result<(), Error>

    Writes a formatted string into this writer, returning any error\nencountered. Read more
    source§

    fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (write_all_vectored)
    Attempts to write multiple buffers into this writer. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Creates a “by reference” adapter for this instance of Write. Read more
    ","Write","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<T, U, A> CoerceUnsized<Box<U, A>> for Box<T, A>
    where\n T: Unsize<U> + ?Sized,\n A: Allocator,\n U: ?Sized,

    ","CoerceUnsized>","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<R> CryptoRng for Box<R>
    where\n R: CryptoRng + ?Sized,

    ","CryptoRng","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<T, A> DerefPure for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    ","DerefPure","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    source§

    impl<T, U> DispatchFromDyn<Box<U>> for Box<T>
    where\n T: Unsize<U> + ?Sized,\n U: ?Sized,

    ","DispatchFromDyn>","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> Eq for Box<T, A>
    where\n T: Eq + ?Sized,\n A: Allocator,

    ","Eq","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.26.0 · source§

    impl<I, A> FusedIterator for Box<I, A>
    where\n I: FusedIterator + ?Sized,\n A: Allocator,

    ","FusedIterator","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"],["
    1.33.0 · source§

    impl<T, A> Unpin for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    ","Unpin","conjure_core::solver::SolverCallback","conjure_core::solver::SolverMutCallback"]], +"conjure_oxide":[["
    §

    impl<A> Arbitrary for Box<A>
    where\n A: Arbitrary,

    §

    type Parameters = <A as Arbitrary>::Parameters

    The type of parameters that arbitrary_with accepts for configuration\nof the generated Strategy. Parameters must implement Default.
    §

    type Strategy = MapInto<<A as Arbitrary>::Strategy, Box<A>>

    The type of Strategy used to generate values of type Self.
    §

    fn arbitrary_with(\n args: <Box<A> as Arbitrary>::Parameters\n) -> <Box<A> as Arbitrary>::Strategy

    Generates a Strategy for producing arbitrary values of type the\nimplementing type (Self). The strategy is passed the arguments given\nin args. Read more
    §

    fn arbitrary() -> Self::Strategy

    Generates a Strategy for producing arbitrary values\nof type the implementing type (Self). Read more
    ","Arbitrary","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    §

    impl<A> ArbitraryF1<A> for Box<A>
    where\n A: Debug + 'static,

    §

    type Parameters = ()

    The type of parameters that lift1_with accepts for\nconfiguration of the lifted and generated Strategy. Parameters\nmust implement Default.
    §

    fn lift1_with<S>(\n base: S,\n _args: <Box<A> as ArbitraryF1<A>>::Parameters\n) -> BoxedStrategy<Box<A>>
    where\n S: Strategy<Value = A> + 'static,

    Lifts a given Strategy to a new Strategy for the (presumably)\nbigger type. This is useful for lifting a Strategy for SomeType\nto a container such as Vec of SomeType. The composite strategy is\npassed the arguments given in args. Read more
    §

    fn lift1<AS>(base: AS) -> BoxedStrategy<Self>
    where\n AS: Strategy<Value = A> + 'static,

    Lifts a given Strategy to a new Strategy for the (presumably)\nbigger type. This is useful for lifting a Strategy for SomeType\nto a container such as Vec<SomeType>. Read more
    ","ArbitraryF1","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.64.0 · source§

    impl<T> AsFd for Box<T>
    where\n T: AsFd + ?Sized,

    source§

    fn as_fd(&self) -> BorrowedFd<'_>

    Borrows the file descriptor. Read more
    ","AsFd","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.5.0 · source§

    impl<T, A> AsMut<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

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

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.63.0 · source§

    impl<T> AsRawFd for Box<T>
    where\n T: AsRawFd,

    source§

    fn as_raw_fd(&self) -> i32

    Extracts the raw file descriptor. Read more
    ","AsRawFd","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.5.0 · source§

    impl<T, A> AsRef<T> for Box<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","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<Args, F, A> AsyncFn<Args> for Box<F, A>
    where\n Args: Tuple,\n F: AsyncFn<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn async_call(\n &self,\n args: Args\n) -> <Box<F, A> as AsyncFnMut<Args>>::CallRefFuture<'_>

    🔬This is a nightly-only experimental API. (async_fn_traits)
    Call the AsyncFn, returning a future which may borrow from the called closure.
    ","AsyncFn","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<Args, F, A> AsyncFnMut<Args> for Box<F, A>
    where\n Args: Tuple,\n F: AsyncFnMut<Args> + ?Sized,\n A: Allocator,

    §

    type CallRefFuture<'a> = <F as AsyncFnMut<Args>>::CallRefFuture<'a>\nwhere\n Box<F, A>: 'a

    🔬This is a nightly-only experimental API. (async_fn_traits)
    source§

    extern "rust-call" fn async_call_mut(\n &mut self,\n args: Args\n) -> <Box<F, A> as AsyncFnMut<Args>>::CallRefFuture<'_>

    🔬This is a nightly-only experimental API. (async_fn_traits)
    Call the AsyncFnMut, returning a future which may borrow from the called closure.
    ","AsyncFnMut","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<Args, F, A> AsyncFnOnce<Args> for Box<F, A>
    where\n Args: Tuple,\n F: AsyncFnOnce<Args> + ?Sized,\n A: Allocator,

    §

    type Output = <F as AsyncFnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (async_fn_traits)
    Output type of the called closure’s future.
    §

    type CallOnceFuture = <F as AsyncFnOnce<Args>>::CallOnceFuture

    🔬This is a nightly-only experimental API. (async_fn_traits)
    Future returned by AsyncFnOnce::async_call_once.
    source§

    extern "rust-call" fn async_call_once(\n self,\n args: Args\n) -> <Box<F, A> as AsyncFnOnce<Args>>::CallOnceFuture

    🔬This is a nightly-only experimental API. (async_fn_traits)
    Call the AsyncFnOnce, returning a future which may move out of the called closure.
    ","AsyncFnOnce","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<S> AsyncIterator for Box<S>
    where\n S: AsyncIterator + Unpin + ?Sized,

    §

    type Item = <S as AsyncIterator>::Item

    🔬This is a nightly-only experimental API. (async_iterator)
    The type of items yielded by the async iterator.
    source§

    fn poll_next(\n self: Pin<&mut Box<S>>,\n cx: &mut Context<'_>\n) -> Poll<Option<<Box<S> as AsyncIterator>::Item>>

    🔬This is a nightly-only experimental API. (async_iterator)
    Attempt to pull out the next value of this async iterator, registering the\ncurrent task for wakeup if the value is not yet available, and returning\nNone if the async iterator is exhausted. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

    🔬This is a nightly-only experimental API. (async_iterator)
    Returns the bounds on the remaining length of the async iterator. Read more
    ","AsyncIterator","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.1.0 · source§

    impl<T, A> Borrow<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn borrow(&self) -> &T

    Immutably borrows from an owned value. Read more
    ","Borrow","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.1.0 · source§

    impl<T, A> BorrowMut<T> for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

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

    Mutably borrows from an owned value. Read more
    ","BorrowMut","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<T> Box<T>

    1.0.0 · source

    pub fn new(x: T) -> Box<T>

    Allocates memory on the heap and then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    §Examples
    \n
    let five = Box::new(5);
    \n
    source

    pub fn new_uninit() -> Box<MaybeUninit<T>>

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

    Constructs a new box with uninitialized contents.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n\nlet mut five = Box::<u32>::new_uninit();\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn new_zeroed() -> Box<MaybeUninit<T>>

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

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(new_uninit)]\n\nlet zero = Box::<u32>::new_zeroed();\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    1.33.0 · source

    pub fn pin(x: T) -> Pin<Box<T>>

    Constructs a new Pin<Box<T>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin(x)\ndoes the same as Box::into_pin(Box::new(x)). Consider using\ninto_pin if you already have a Box<T>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new.

    \n
    source

    pub fn try_new(x: T) -> Result<Box<T>, AllocError>

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

    Allocates memory on the heap then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nlet five = Box::try_new(5)?;
    \n
    source

    pub fn try_new_uninit() -> Result<Box<MaybeUninit<T>>, AllocError>

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

    Constructs a new box with uninitialized contents on the heap,\nreturning an error if the allocation fails

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet mut five = Box::<u32>::try_new_uninit()?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5);
    \n
    source

    pub fn try_new_zeroed() -> Result<Box<MaybeUninit<T>>, AllocError>

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

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes on the heap

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nlet zero = Box::<u32>::try_new_zeroed()?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    ",0,"conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<T> Box<T>
    where\n T: ?Sized,

    1.4.0 · source

    pub unsafe fn from_raw(raw: *mut T) -> Box<T>

    Constructs a box from a raw pointer.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    §Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n

    The safety conditions are described in the memory layout section.

    \n
    §Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw:

    \n\n
    let x = Box::new(5);\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manually create a Box from scratch by using the global allocator:

    \n\n
    use std::alloc::{alloc, Layout};\n\nunsafe {\n    let ptr = alloc(Layout::new::<i32>()) as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw(ptr);\n}
    \n
    ",0,"conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<T, A> Box<T, A>
    where\n A: Allocator,

    source

    pub fn new_in(x: T, alloc: A) -> Box<T, A>
    where\n A: Allocator,

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

    Allocates memory in the given allocator then places x into it.

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::new_in(5, System);
    \n
    source

    pub fn try_new_in(x: T, alloc: A) -> Result<Box<T, A>, AllocError>
    where\n A: Allocator,

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

    Allocates memory in the given allocator then places x into it,\nreturning an error if the allocation fails

    \n

    This doesn’t actually allocate if T is zero-sized.

    \n
    §Examples
    \n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet five = Box::try_new_in(5, System)?;
    \n
    source

    pub fn new_uninit_in(alloc: A) -> Box<MaybeUninit<T>, A>
    where\n A: Allocator,

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

    Constructs a new box with uninitialized contents in the provided allocator.

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::new_uninit_in(System);\n\nlet five = unsafe {\n    // Deferred initialization:\n    five.as_mut_ptr().write(5);\n\n    five.assume_init()\n};\n\nassert_eq!(*five, 5)
    \n
    source

    pub fn try_new_uninit_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>
    where\n A: Allocator,

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

    Constructs a new box with uninitialized contents in the provided allocator,\nreturning an error if the allocation fails

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet mut five = Box::<u32, _>::try_new_uninit_in(System)?;\n\nlet five = unsafe {\n    // Deferred initialization:\n    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) -> Box<MaybeUninit<T>, A>
    where\n A: Allocator,

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

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator.

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::new_zeroed_in(System);\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0)
    \n
    source

    pub fn try_new_zeroed_in(alloc: A) -> Result<Box<MaybeUninit<T>, A>, AllocError>
    where\n A: Allocator,

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

    Constructs a new Box with uninitialized contents, with the memory\nbeing filled with 0 bytes in the provided allocator,\nreturning an error if the allocation fails,

    \n

    See MaybeUninit::zeroed for examples of correct and incorrect usage\nof this method.

    \n
    §Examples
    \n
    #![feature(allocator_api, new_uninit)]\n\nuse std::alloc::System;\n\nlet zero = Box::<u32, _>::try_new_zeroed_in(System)?;\nlet zero = unsafe { zero.assume_init() };\n\nassert_eq!(*zero, 0);
    \n
    source

    pub fn pin_in(x: T, alloc: A) -> Pin<Box<T, A>>
    where\n A: 'static + Allocator,

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

    Constructs a new Pin<Box<T, A>>. If T does not implement Unpin, then\nx will be pinned in memory and unable to be moved.

    \n

    Constructing and pinning of the Box can also be done in two steps: Box::pin_in(x, alloc)\ndoes the same as Box::into_pin(Box::new_in(x, alloc)). Consider using\ninto_pin if you already have a Box<T, A>, or if you want to\nconstruct a (pinned) Box in a different way than with Box::new_in.

    \n
    source

    pub fn into_boxed_slice(boxed: Box<T, A>) -> Box<[T], A>

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

    Converts a Box<T> into a Box<[T]>

    \n

    This conversion does not allocate on the heap and happens in place.

    \n
    source

    pub fn into_inner(boxed: Box<T, A>) -> T

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

    Consumes the Box, returning the wrapped value.

    \n
    §Examples
    \n
    #![feature(box_into_inner)]\n\nlet c = Box::new(5);\n\nassert_eq!(Box::into_inner(c), 5);
    \n
    ",0,"conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<T, A> Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    const: unstable · source

    pub unsafe fn from_raw_in(raw: *mut T, alloc: A) -> Box<T, A>

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

    Constructs a box from a raw pointer in the given allocator.

    \n

    After calling this function, the raw pointer is owned by the\nresulting Box. Specifically, the Box destructor will call\nthe destructor of T and free the allocated memory. For this\nto be safe, the memory must have been allocated in accordance\nwith the memory layout used by Box .

    \n
    §Safety
    \n

    This function is unsafe because improper use may lead to\nmemory problems. For example, a double-free may occur if the\nfunction is called twice on the same raw pointer.

    \n
    §Examples
    \n

    Recreate a Box which was previously converted to a raw pointer\nusing Box::into_raw_with_allocator:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(5, System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manually create a Box from scratch by using the system allocator:

    \n\n
    #![feature(allocator_api, slice_ptr_get)]\n\nuse std::alloc::{Allocator, Layout, System};\n\nunsafe {\n    let ptr = System.allocate(Layout::new::<i32>())?.as_mut_ptr() as *mut i32;\n    // In general .write is required to avoid attempting to destruct\n    // the (uninitialized) previous contents of `ptr`, though for this\n    // simple example `*ptr = 5` would have worked as well.\n    ptr.write(5);\n    let x = Box::from_raw_in(ptr, System);\n}
    \n
    1.4.0 · source

    pub fn into_raw(b: Box<T, A>) -> *mut T

    Consumes the Box, returning a wrapped raw pointer.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw(b) instead of b.into_raw(). This\nis so that there is no conflict with a method on the inner type.

    \n
    §Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw\nfor automatic cleanup:

    \n\n
    let x = Box::new(String::from(\"Hello\"));\nlet ptr = Box::into_raw(x);\nlet x = unsafe { Box::from_raw(ptr) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    use std::alloc::{dealloc, Layout};\nuse std::ptr;\n\nlet x = Box::new(String::from(\"Hello\"));\nlet ptr = Box::into_raw(x);\nunsafe {\n    ptr::drop_in_place(ptr);\n    dealloc(ptr as *mut u8, Layout::new::<String>());\n}
    \n

    Note: This is equivalent to the following:

    \n\n
    let x = Box::new(String::from(\"Hello\"));\nlet ptr = Box::into_raw(x);\nunsafe {\n    drop(Box::from_raw(ptr));\n}
    \n
    source

    pub fn into_raw_with_allocator(b: Box<T, A>) -> (*mut T, A)

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

    Consumes the Box, returning a wrapped raw pointer and the allocator.

    \n

    The pointer will be properly aligned and non-null.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the Box. In particular, the\ncaller should properly destroy T and release the memory, taking\ninto account the memory layout used by Box. The easiest way to\ndo this is to convert the raw pointer back into a Box with the\nBox::from_raw_in function, allowing the Box destructor to perform\nthe cleanup.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::into_raw_with_allocator(b) instead of b.into_raw_with_allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    §Examples
    \n

    Converting the raw pointer back into a Box with Box::from_raw_in\nfor automatic cleanup:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::System;\n\nlet x = Box::new_in(String::from(\"Hello\"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nlet x = unsafe { Box::from_raw_in(ptr, alloc) };
    \n

    Manual cleanup by explicitly running the destructor and deallocating\nthe memory:

    \n\n
    #![feature(allocator_api)]\n\nuse std::alloc::{Allocator, Layout, System};\nuse std::ptr::{self, NonNull};\n\nlet x = Box::new_in(String::from(\"Hello\"), System);\nlet (ptr, alloc) = Box::into_raw_with_allocator(x);\nunsafe {\n    ptr::drop_in_place(ptr);\n    let non_null = NonNull::new_unchecked(ptr);\n    alloc.deallocate(non_null.cast(), Layout::new::<String>());\n}
    \n
    const: unstable · source

    pub fn allocator(b: &Box<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 Box::allocator(&b) instead of b.allocator(). This\nis so that there is no conflict with a method on the inner type.

    \n
    1.26.0 · source

    pub fn leak<'a>(b: Box<T, A>) -> &'a mut T
    where\n A: 'a,

    Consumes and leaks the Box, returning a mutable reference,\n&'a mut T. Note that the type T must outlive the chosen lifetime\n'a. If the type has only static references, or none at all, then this\nmay be chosen to be 'static.

    \n

    This function is mainly useful for data that lives for the remainder of\nthe program’s life. Dropping the returned reference will cause a memory\nleak. If this is not acceptable, the reference should first be wrapped\nwith the Box::from_raw function producing a Box. This Box can\nthen be dropped which will properly destroy T and release the\nallocated memory.

    \n

    Note: this is an associated function, which means that you have\nto call it as Box::leak(b) instead of b.leak(). This\nis so that there is no conflict with a method on the inner type.

    \n
    §Examples
    \n

    Simple usage:

    \n\n
    let x = Box::new(41);\nlet static_ref: &'static mut usize = Box::leak(x);\n*static_ref += 1;\nassert_eq!(*static_ref, 42);
    \n

    Unsized data:

    \n\n
    let x = vec![1, 2, 3].into_boxed_slice();\nlet static_ref = Box::leak(x);\nstatic_ref[0] = 4;\nassert_eq!(*static_ref, [4, 2, 3]);
    \n
    1.63.0 (const: unstable) · source

    pub fn into_pin(boxed: Box<T, A>) -> Pin<Box<T, A>>
    where\n A: 'static,

    Converts a Box<T> into a Pin<Box<T>>. If T does not implement Unpin, then\n*boxed will be pinned in memory and unable to be moved.

    \n

    This conversion does not allocate on the heap and happens in place.

    \n

    This is also available via From.

    \n

    Constructing and pinning a Box with Box::into_pin(Box::new(x))\ncan also be written more concisely using Box::pin(x).\nThis into_pin method is useful if you already have a Box<T>, or you are\nconstructing a (pinned) Box in a different way than with Box::new.

    \n
    §Notes
    \n

    It’s not recommended that crates add an impl like From<Box<T>> for Pin<T>,\nas it’ll introduce an ambiguity when calling Pin::from.\nA demonstration of such a poor impl is shown below.

    \n\n
    struct Foo; // A type defined in this crate.\nimpl From<Box<()>> for Pin<Foo> {\n    fn from(_: Box<()>) -> Pin<Foo> {\n        Pin::new(Foo)\n    }\n}\n\nlet foo = Box::new(());\nlet bar = Pin::from(foo);
    \n
    ",0,"conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<B> BufRead for Box<B>
    where\n B: BufRead + ?Sized,

    source§

    fn fill_buf(&mut self) -> Result<&[u8], Error>

    Returns the contents of the internal buffer, filling it with more data\nfrom the inner reader if it is empty. Read more
    source§

    fn consume(&mut self, amt: usize)

    Tells this buffer that amt bytes have been consumed from the buffer,\nso they should no longer be returned in calls to read. Read more
    source§

    fn read_until(&mut self, byte: u8, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes into buf until the delimiter byte or EOF is reached. Read more
    source§

    fn read_line(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until a newline (the 0xA byte) is reached, and append\nthem to the provided String buffer. Read more
    source§

    fn has_data_left(&mut self) -> Result<bool, Error>

    🔬This is a nightly-only experimental API. (buf_read_has_data_left)
    Check if the underlying Read has any data left to be read. Read more
    source§

    fn skip_until(&mut self, byte: u8) -> Result<usize, Error>

    🔬This is a nightly-only experimental API. (bufread_skip_until)
    Skip all bytes until the delimiter byte or EOF is reached. Read more
    1.0.0 · source§

    fn split(self, byte: u8) -> Split<Self>
    where\n Self: Sized,

    Returns an iterator over the contents of this reader split on the byte\nbyte. Read more
    1.0.0 · source§

    fn lines(self) -> Lines<Self>
    where\n Self: Sized,

    Returns an iterator over the lines of this reader. Read more
    ","BufRead","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> Clone for Box<T, A>
    where\n T: Clone,\n A: Allocator + Clone,

    source§

    fn clone(&self) -> Box<T, A>

    Returns a new box with a clone() of this box’s contents.

    \n
    §Examples
    \n
    let x = Box::new(5);\nlet y = x.clone();\n\n// The value is the same\nassert_eq!(x, y);\n\n// But they are unique objects\nassert_ne!(&*x as *const i32, &*y as *const i32);
    \n
    source§

    fn clone_from(&mut self, source: &Box<T, A>)

    Copies source’s contents into self without creating a new allocation.

    \n
    §Examples
    \n
    let x = Box::new(5);\nlet mut y = Box::new(10);\nlet yp: *const i32 = &*y;\n\ny.clone_from(&x);\n\n// The value is the same\nassert_eq!(x, y);\n\n// And no allocation occurred\nassert_eq!(yp, &*y);
    \n
    ","Clone","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<G, R, A> Coroutine<R> for Box<G, A>
    where\n G: Coroutine<R> + Unpin + ?Sized,\n A: Allocator,

    §

    type Yield = <G as Coroutine<R>>::Yield

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine yields. Read more
    §

    type Return = <G as Coroutine<R>>::Return

    🔬This is a nightly-only experimental API. (coroutine_trait)
    The type of value this coroutine returns. Read more
    source§

    fn resume(\n self: Pin<&mut Box<G, A>>,\n arg: R\n) -> CoroutineState<<Box<G, A> as Coroutine<R>>::Yield, <Box<G, A> as Coroutine<R>>::Return>

    🔬This is a nightly-only experimental API. (coroutine_trait)
    Resumes the execution of this coroutine. Read more
    ","Coroutine","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> Debug for Box<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","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T> Default for Box<T>
    where\n T: Default,

    source§

    fn default() -> Box<T>

    Creates a Box<T>, with the Default value for T.

    \n
    ","Default","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> Deref for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    §

    type Target = T

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &T

    Dereferences the value.
    ","Deref","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> DerefMut for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

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

    Mutably dereferences the value.
    ","DerefMut","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<'de, T> Deserialize<'de> for Box<T>
    where\n T: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Box<T>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<'de, T, U> DeserializeAs<'de, Box<T>> for Box<U>
    where\n U: DeserializeAs<'de, T>,

    source§

    fn deserialize_as<D>(\n deserializer: D\n) -> Result<Box<T>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Box>","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<'de, T> Deserializer<'de> for Box<T>
    where\n T: Deserializer<'de> + ?Sized,

    source§

    fn erased_deserialize_any(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_bool(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_i8(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_i16(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_i32(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_i64(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_i128(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_u8(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_u16(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_u32(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_u64(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_u128(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_f32(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_f64(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_char(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_str(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_string(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_bytes(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_byte_buf(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_option(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_unit(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_unit_struct(\n &mut self,\n name: &'static str,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_newtype_struct(\n &mut self,\n name: &'static str,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_seq(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_tuple(\n &mut self,\n len: usize,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_tuple_struct(\n &mut self,\n name: &'static str,\n len: usize,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_map(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_struct(\n &mut self,\n name: &'static str,\n fields: &'static [&'static str],\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_identifier(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_enum(\n &mut self,\n name: &'static str,\n variants: &'static [&'static str],\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_deserialize_ignored_any(\n &mut self,\n visitor: &mut dyn Visitor<'de>\n) -> Result<Out, Error>

    source§

    fn erased_is_human_readable(&self) -> bool

    ","Deserializer<'de>","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> Display for Box<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","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<I, A> DoubleEndedIterator for Box<I, A>
    where\n I: DoubleEndedIterator + ?Sized,\n A: Allocator,

    source§

    fn next_back(&mut self) -> Option<<I as Iterator>::Item>

    Removes and returns an element from the end of the iterator. Read more
    source§

    fn nth_back(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element from the end of the iterator. Read more
    source§

    fn advance_back_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator from the back by n elements. Read more
    1.27.0 · source§

    fn try_rfold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    This is the reverse version of Iterator::try_fold(): it takes\nelements starting from the back of the iterator. Read more
    1.27.0 · source§

    fn rfold<B, F>(self, init: B, f: F) -> B
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    An iterator method that reduces the iterator’s elements to a single,\nfinal value, starting from the back. Read more
    1.27.0 · source§

    fn rfind<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator from the back that satisfies a predicate. Read more
    ","DoubleEndedIterator","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> Drop for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    source§

    fn drop(&mut self)

    Executes the destructor for this type. Read more
    ","Drop","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.8.0 · source§

    impl<T> Error for Box<T>
    where\n T: Error,

    source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    source§

    fn provide<'b>(&'b self, request: &mut Request<'b>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    ","Error","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<I, A> ExactSizeIterator for Box<I, A>
    where\n I: ExactSizeIterator + ?Sized,\n A: Allocator,

    source§

    fn len(&self) -> usize

    Returns the exact remaining length of the iterator. Read more
    source§

    fn is_empty(&self) -> bool

    🔬This is a nightly-only experimental API. (exact_size_is_empty)
    Returns true if the iterator is empty. Read more
    ","ExactSizeIterator","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.35.0 · source§

    impl<Args, F, A> Fn<Args> for Box<F, A>
    where\n Args: Tuple,\n F: Fn<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call(\n &self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","Fn","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.35.0 · source§

    impl<Args, F, A> FnMut<Args> for Box<F, A>
    where\n Args: Tuple,\n F: FnMut<Args> + ?Sized,\n A: Allocator,

    source§

    extern "rust-call" fn call_mut(\n &mut self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnMut","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.35.0 · source§

    impl<Args, F, A> FnOnce<Args> for Box<F, A>
    where\n Args: Tuple,\n F: FnOnce<Args> + ?Sized,\n A: Allocator,

    §

    type Output = <F as FnOnce<Args>>::Output

    The returned type after the call operator is used.
    source§

    extern "rust-call" fn call_once(\n self,\n args: Args\n) -> <Box<F, A> as FnOnce<Args>>::Output

    🔬This is a nightly-only experimental API. (fn_traits)
    Performs the call operation.
    ","FnOnce","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.6.0 · source§

    impl<T> From<T> for Box<T>

    source§

    fn from(t: T) -> Box<T>

    Converts a T into a Box<T>

    \n

    The conversion allocates on the heap and moves t\nfrom the stack into it.

    \n
    §Examples
    \n
    let x = 5;\nlet boxed = Box::new(5);\n\nassert_eq!(Box::from(x), boxed);
    \n
    ","From","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.36.0 · source§

    impl<F, A> Future for Box<F, A>
    where\n F: Future + Unpin + ?Sized,\n A: Allocator,

    §

    type Output = <F as Future>::Output

    The type of value produced on completion.
    source§

    fn poll(\n self: Pin<&mut Box<F, A>>,\n cx: &mut Context<'_>\n) -> Poll<<Box<F, A> as Future>::Output>

    Attempt to resolve the future to a final value, registering\nthe current task for wakeup if the value is not yet available. Read more
    ","Future","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> Hash for Box<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","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.22.0 · source§

    impl<T, A> Hasher for Box<T, A>
    where\n T: Hasher + ?Sized,\n A: Allocator,

    source§

    fn finish(&self) -> u64

    Returns the hash value for the values written so far. Read more
    source§

    fn write(&mut self, bytes: &[u8])

    Writes some data into this Hasher. Read more
    source§

    fn write_u8(&mut self, i: u8)

    Writes a single u8 into this hasher.
    source§

    fn write_u16(&mut self, i: u16)

    Writes a single u16 into this hasher.
    source§

    fn write_u32(&mut self, i: u32)

    Writes a single u32 into this hasher.
    source§

    fn write_u64(&mut self, i: u64)

    Writes a single u64 into this hasher.
    source§

    fn write_u128(&mut self, i: u128)

    Writes a single u128 into this hasher.
    source§

    fn write_usize(&mut self, i: usize)

    Writes a single usize into this hasher.
    source§

    fn write_i8(&mut self, i: i8)

    Writes a single i8 into this hasher.
    source§

    fn write_i16(&mut self, i: i16)

    Writes a single i16 into this hasher.
    source§

    fn write_i32(&mut self, i: i32)

    Writes a single i32 into this hasher.
    source§

    fn write_i64(&mut self, i: i64)

    Writes a single i64 into this hasher.
    source§

    fn write_i128(&mut self, i: i128)

    Writes a single i128 into this hasher.
    source§

    fn write_isize(&mut self, i: isize)

    Writes a single isize into this hasher.
    source§

    fn write_length_prefix(&mut self, len: usize)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a length prefix into this hasher, as part of being prefix-free. Read more
    source§

    fn write_str(&mut self, s: &str)

    🔬This is a nightly-only experimental API. (hasher_prefixfree_extras)
    Writes a single str into this hasher. Read more
    ","Hasher","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<I, A> Iterator for Box<I, A>
    where\n I: Iterator + ?Sized,\n A: Allocator,

    §

    type Item = <I as Iterator>::Item

    The type of the elements being iterated over.
    source§

    fn next(&mut self) -> Option<<I as Iterator>::Item>

    Advances the iterator and returns the next value. Read more
    source§

    fn size_hint(&self) -> (usize, Option<usize>)

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

    fn nth(&mut self, n: usize) -> Option<<I as Iterator>::Item>

    Returns the nth element of the iterator. Read more
    source§

    fn last(self) -> Option<<I as Iterator>::Item>

    Consumes the iterator, returning the last element. Read more
    source§

    fn next_chunk<const N: usize>(\n &mut self\n) -> Result<[Self::Item; N], IntoIter<Self::Item, N>>
    where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_next_chunk)
    Advances the iterator and returns an array containing the next N values. Read more
    1.0.0 · source§

    fn count(self) -> usize
    where\n Self: Sized,

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

    fn advance_by(&mut self, n: usize) -> Result<(), NonZero<usize>>

    🔬This is a nightly-only experimental API. (iter_advance_by)
    Advances the iterator by n elements. Read more
    1.28.0 · source§

    fn step_by(self, step: usize) -> StepBy<Self>
    where\n Self: Sized,

    Creates an iterator starting at the same point, but stepping by\nthe given amount at each iteration. Read more
    1.0.0 · source§

    fn chain<U>(self, other: U) -> Chain<Self, <U as IntoIterator>::IntoIter>
    where\n Self: Sized,\n U: IntoIterator<Item = Self::Item>,

    Takes two iterators and creates a new iterator over both in sequence. Read more
    1.0.0 · source§

    fn zip<U>(self, other: U) -> Zip<Self, <U as IntoIterator>::IntoIter>
    where\n Self: Sized,\n U: IntoIterator,

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

    fn intersperse_with<G>(self, separator: G) -> IntersperseWith<Self, G>
    where\n Self: Sized,\n G: FnMut() -> Self::Item,

    🔬This is a nightly-only experimental API. (iter_intersperse)
    Creates a new iterator which places an item generated by separator\nbetween adjacent items of the original iterator. Read more
    1.0.0 · source§

    fn map<B, F>(self, f: F) -> Map<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> B,

    Takes a closure and creates an iterator which calls that closure on each\nelement. Read more
    1.21.0 · source§

    fn for_each<F>(self, f: F)
    where\n Self: Sized,\n F: FnMut(Self::Item),

    Calls a closure on each element of an iterator. Read more
    1.0.0 · source§

    fn filter<P>(self, predicate: P) -> Filter<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator which uses a closure to determine if an element\nshould be yielded. Read more
    1.0.0 · source§

    fn filter_map<B, F>(self, f: F) -> FilterMap<Self, F>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Creates an iterator that both filters and maps. Read more
    1.0.0 · source§

    fn enumerate(self) -> Enumerate<Self>
    where\n Self: Sized,

    Creates an iterator which gives the current iteration count as well as\nthe next value. Read more
    1.0.0 · source§

    fn peekable(self) -> Peekable<Self>
    where\n Self: Sized,

    Creates an iterator which can use the peek and peek_mut methods\nto look at the next element of the iterator without consuming it. See\ntheir documentation for more information. Read more
    1.0.0 · source§

    fn skip_while<P>(self, predicate: P) -> SkipWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that skips elements based on a predicate. Read more
    1.0.0 · source§

    fn take_while<P>(self, predicate: P) -> TakeWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Creates an iterator that yields elements based on a predicate. Read more
    1.57.0 · source§

    fn map_while<B, P>(self, predicate: P) -> MapWhile<Self, P>
    where\n Self: Sized,\n P: FnMut(Self::Item) -> Option<B>,

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

    fn skip(self, n: usize) -> Skip<Self>
    where\n Self: Sized,

    Creates an iterator that skips the first n elements. Read more
    1.0.0 · source§

    fn take(self, n: usize) -> Take<Self>
    where\n Self: Sized,

    Creates an iterator that yields the first n elements, or fewer\nif the underlying iterator ends sooner. Read more
    1.0.0 · source§

    fn scan<St, B, F>(self, initial_state: St, f: F) -> Scan<Self, St, F>
    where\n Self: Sized,\n F: FnMut(&mut St, Self::Item) -> Option<B>,

    An iterator adapter which, like fold, holds internal state, but\nunlike fold, produces a new iterator. Read more
    1.0.0 · source§

    fn flat_map<U, F>(self, f: F) -> FlatMap<Self, U, F>
    where\n Self: Sized,\n U: IntoIterator,\n F: FnMut(Self::Item) -> U,

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

    fn map_windows<F, R, const N: usize>(self, f: F) -> MapWindows<Self, F, N>
    where\n Self: Sized,\n F: FnMut(&[Self::Item; N]) -> R,

    🔬This is a nightly-only experimental API. (iter_map_windows)
    Calls the given function f for each contiguous window of size N over\nself and returns an iterator over the outputs of f. Like slice::windows(),\nthe windows during mapping overlap as well. Read more
    1.0.0 · source§

    fn fuse(self) -> Fuse<Self>
    where\n Self: Sized,

    Creates an iterator which ends after the first None. Read more
    1.0.0 · source§

    fn inspect<F>(self, f: F) -> Inspect<Self, F>
    where\n Self: Sized,\n F: FnMut(&Self::Item),

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

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Borrows an iterator, rather than consuming it. Read more
    1.0.0 · source§

    fn collect<B>(self) -> B
    where\n B: FromIterator<Self::Item>,\n Self: Sized,

    Transforms an iterator into a collection. Read more
    source§

    fn collect_into<E>(self, collection: &mut E) -> &mut E
    where\n E: Extend<Self::Item>,\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_collect_into)
    Collects all the items from an iterator into a collection. Read more
    1.0.0 · source§

    fn partition<B, F>(self, f: F) -> (B, B)
    where\n Self: Sized,\n B: Default + Extend<Self::Item>,\n F: FnMut(&Self::Item) -> bool,

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

    fn is_partitioned<P>(self, predicate: P) -> bool
    where\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_is_partitioned)
    Checks if the elements of this iterator are partitioned according to the given predicate,\nsuch that all those that return true precede all those that return false. Read more
    1.27.0 · source§

    fn try_fold<B, F, R>(&mut self, init: B, f: F) -> R
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> R,\n R: Try<Output = B>,

    An iterator method that applies a function as long as it returns\nsuccessfully, producing a single, final value. Read more
    1.27.0 · source§

    fn try_for_each<F, R>(&mut self, f: F) -> R
    where\n Self: Sized,\n F: FnMut(Self::Item) -> R,\n R: Try<Output = ()>,

    An iterator method that applies a fallible function to each item in the\niterator, stopping at the first error and returning that error. Read more
    1.0.0 · source§

    fn fold<B, F>(self, init: B, f: F) -> B
    where\n Self: Sized,\n F: FnMut(B, Self::Item) -> B,

    Folds every element into an accumulator by applying an operation,\nreturning the final result. Read more
    1.51.0 · source§

    fn reduce<F>(self, f: F) -> Option<Self::Item>
    where\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> Self::Item,

    Reduces the elements to a single one, by repeatedly applying a reducing\noperation. Read more
    source§

    fn try_reduce<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<<R as Try>::Output>>>::TryType
    where\n Self: Sized,\n F: FnMut(Self::Item, Self::Item) -> R,\n R: Try<Output = Self::Item>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (iterator_try_reduce)
    Reduces the elements to a single one by repeatedly applying a reducing operation. If the\nclosure returns a failure, the failure is propagated back to the caller immediately. Read more
    1.0.0 · source§

    fn all<F>(&mut self, f: F) -> bool
    where\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if every element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn any<F>(&mut self, f: F) -> bool
    where\n Self: Sized,\n F: FnMut(Self::Item) -> bool,

    Tests if any element of the iterator matches a predicate. Read more
    1.0.0 · source§

    fn find<P>(&mut self, predicate: P) -> Option<Self::Item>
    where\n Self: Sized,\n P: FnMut(&Self::Item) -> bool,

    Searches for an element of an iterator that satisfies a predicate. Read more
    1.30.0 · source§

    fn find_map<B, F>(&mut self, f: F) -> Option<B>
    where\n Self: Sized,\n F: FnMut(Self::Item) -> Option<B>,

    Applies function to the elements of iterator and returns\nthe first non-none result. Read more
    source§

    fn try_find<F, R>(\n &mut self,\n f: F\n) -> <<R as Try>::Residual as Residual<Option<Self::Item>>>::TryType
    where\n Self: Sized,\n F: FnMut(&Self::Item) -> R,\n R: Try<Output = bool>,\n <R as Try>::Residual: Residual<Option<Self::Item>>,

    🔬This is a nightly-only experimental API. (try_find)
    Applies function to the elements of iterator and returns\nthe first true result or the first error. Read more
    1.0.0 · source§

    fn position<P>(&mut self, predicate: P) -> Option<usize>
    where\n Self: Sized,\n P: FnMut(Self::Item) -> bool,

    Searches for an element in an iterator, returning its index. Read more
    1.6.0 · source§

    fn max_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the maximum value from the\nspecified function. Read more
    1.15.0 · source§

    fn max_by<F>(self, compare: F) -> Option<Self::Item>
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the maximum value with respect to the\nspecified comparison function. Read more
    1.6.0 · source§

    fn min_by_key<B, F>(self, f: F) -> Option<Self::Item>
    where\n B: Ord,\n Self: Sized,\n F: FnMut(&Self::Item) -> B,

    Returns the element that gives the minimum value from the\nspecified function. Read more
    1.15.0 · source§

    fn min_by<F>(self, compare: F) -> Option<Self::Item>
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> Ordering,

    Returns the element that gives the minimum value with respect to the\nspecified comparison function. Read more
    1.0.0 · source§

    fn unzip<A, B, FromA, FromB>(self) -> (FromA, FromB)
    where\n FromA: Default + Extend<A>,\n FromB: Default + Extend<B>,\n Self: Sized + Iterator<Item = (A, B)>,

    Converts an iterator of pairs into a pair of containers. Read more
    1.36.0 · source§

    fn copied<'a, T>(self) -> Copied<Self>
    where\n T: 'a + Copy,\n Self: Sized + Iterator<Item = &'a T>,

    Creates an iterator which copies all of its elements. Read more
    1.0.0 · source§

    fn cloned<'a, T>(self) -> Cloned<Self>
    where\n T: 'a + Clone,\n Self: Sized + Iterator<Item = &'a T>,

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

    fn array_chunks<const N: usize>(self) -> ArrayChunks<Self, N>
    where\n Self: Sized,

    🔬This is a nightly-only experimental API. (iter_array_chunks)
    Returns an iterator over N elements of the iterator at a time. Read more
    1.11.0 · source§

    fn sum<S>(self) -> S
    where\n Self: Sized,\n S: Sum<Self::Item>,

    Sums the elements of an iterator. Read more
    1.11.0 · source§

    fn product<P>(self) -> P
    where\n Self: Sized,\n P: Product<Self::Item>,

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

    fn cmp_by<I, F>(self, other: I, cmp: F) -> Ordering
    where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Ordering,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn partial_cmp<I>(self, other: I) -> Option<Ordering>
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Lexicographically compares the PartialOrd elements of\nthis Iterator with those of another. The comparison works like short-circuit\nevaluation, returning a result without comparing the remaining elements.\nAs soon as an order can be determined, the evaluation stops and a result is returned. Read more
    source§

    fn partial_cmp_by<I, F>(self, other: I, partial_cmp: F) -> Option<Ordering>
    where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> Option<Ordering>,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Lexicographically compares the elements of this Iterator with those\nof another with respect to the specified comparison function. Read more
    1.5.0 · source§

    fn eq<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are equal to those of\nanother. Read more
    source§

    fn eq_by<I, F>(self, other: I, eq: F) -> bool
    where\n Self: Sized,\n I: IntoIterator,\n F: FnMut(Self::Item, <I as IntoIterator>::Item) -> bool,

    🔬This is a nightly-only experimental API. (iter_order_by)
    Determines if the elements of this Iterator are equal to those of\nanother with respect to the specified equality function. Read more
    1.5.0 · source§

    fn ne<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialEq<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are not equal to those of\nanother. Read more
    1.5.0 · source§

    fn lt<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless than those of another. Read more
    1.5.0 · source§

    fn le<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\nless or equal to those of another. Read more
    1.5.0 · source§

    fn gt<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than those of another. Read more
    1.5.0 · source§

    fn ge<I>(self, other: I) -> bool
    where\n I: IntoIterator,\n Self::Item: PartialOrd<<I as IntoIterator>::Item>,\n Self: Sized,

    Determines if the elements of this Iterator are lexicographically\ngreater than or equal to those of another. Read more
    source§

    fn is_sorted_by<F>(self, compare: F) -> bool
    where\n Self: Sized,\n F: FnMut(&Self::Item, &Self::Item) -> bool,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given comparator function. Read more
    source§

    fn is_sorted_by_key<F, K>(self, f: F) -> bool
    where\n Self: Sized,\n F: FnMut(Self::Item) -> K,\n K: PartialOrd,

    🔬This is a nightly-only experimental API. (is_sorted)
    Checks if the elements of this iterator are sorted using the given key extraction\nfunction. Read more
    ","Iterator","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    §

    impl<T> JsonSchema for Box<T>
    where\n T: JsonSchema + ?Sized,

    §

    fn is_referenceable() -> bool

    Whether JSON Schemas generated for this type should be re-used where possible using the $ref keyword. Read more
    §

    fn schema_name() -> String

    The name of the generated JSON Schema. Read more
    §

    fn schema_id() -> Cow<'static, str>

    Returns a string that uniquely identifies the schema produced by this type. Read more
    §

    fn json_schema(gen: &mut SchemaGenerator) -> Schema

    Generates a JSON Schema for this type. Read more
    ","JsonSchema","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<T> Log for Box<T>
    where\n T: Log + ?Sized,

    source§

    fn enabled(&self, metadata: &Metadata<'_>) -> bool

    Determines if a log message with the specified metadata would be\nlogged. Read more
    source§

    fn log(&self, record: &Record<'_>)

    Logs the Record. Read more
    source§

    fn flush(&self)

    Flushes any buffered records.
    ","Log","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> Ord for Box<T, A>
    where\n T: Ord + ?Sized,\n A: Allocator,

    source§

    fn cmp(&self, other: &Box<T, A>) -> Ordering

    This method returns an Ordering between self and other. Read more
    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","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> PartialEq for Box<T, A>
    where\n T: PartialEq + ?Sized,\n A: Allocator,

    source§

    fn eq(&self, other: &Box<T, A>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &Box<T, A>) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> PartialOrd for Box<T, A>
    where\n T: PartialOrd + ?Sized,\n A: Allocator,

    source§

    fn partial_cmp(&self, other: &Box<T, A>) -> Option<Ordering>

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

    fn lt(&self, other: &Box<T, A>) -> bool

    This method tests less than (for self and other) and is used by the < operator. Read more
    source§

    fn le(&self, other: &Box<T, A>) -> bool

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    source§

    fn ge(&self, other: &Box<T, A>) -> bool

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    source§

    fn gt(&self, other: &Box<T, A>) -> bool

    This method tests greater than (for self and other) and is used by the > operator. Read more
    ","PartialOrd","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> Pointer for Box<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","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<R> Read for Box<R>
    where\n R: Read + ?Sized,

    source§

    fn read(&mut self, buf: &mut [u8]) -> Result<usize, Error>

    Pull some bytes from this source into the specified buffer, returning\nhow many bytes were read. Read more
    source§

    fn read_buf(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Pull some bytes from this source into the specified buffer. Read more
    source§

    fn read_vectored(&mut self, bufs: &mut [IoSliceMut<'_>]) -> Result<usize, Error>

    Like read, except that it reads into a slice of buffers. Read more
    source§

    fn is_read_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Reader has an efficient read_vectored\nimplementation. Read more
    source§

    fn read_to_end(&mut self, buf: &mut Vec<u8>) -> Result<usize, Error>

    Read all bytes until EOF in this source, placing them into buf. Read more
    source§

    fn read_to_string(&mut self, buf: &mut String) -> Result<usize, Error>

    Read all bytes until EOF in this source, appending them to buf. Read more
    source§

    fn read_exact(&mut self, buf: &mut [u8]) -> Result<(), Error>

    Read the exact number of bytes required to fill buf. Read more
    source§

    fn read_buf_exact(&mut self, cursor: BorrowedCursor<'_>) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (read_buf)
    Read the exact number of bytes required to fill cursor. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Creates a “by reference” adaptor for this instance of Read. Read more
    1.0.0 · source§

    fn bytes(self) -> Bytes<Self>
    where\n Self: Sized,

    Transforms this Read instance to an Iterator over its bytes. Read more
    1.0.0 · source§

    fn chain<R>(self, next: R) -> Chain<Self, R>
    where\n R: Read,\n Self: Sized,

    Creates an adapter which will chain this stream with another. Read more
    1.0.0 · source§

    fn take(self, limit: u64) -> Take<Self>
    where\n Self: Sized,

    Creates an adapter which will read at most limit bytes from it. Read more
    ","Read","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<R> RngCore for Box<R>
    where\n R: RngCore + ?Sized,

    source§

    fn next_u32(&mut self) -> u32

    Return the next random u32. Read more
    source§

    fn next_u64(&mut self) -> u64

    Return the next random u64. Read more
    source§

    fn fill_bytes(&mut self, dest: &mut [u8])

    Fill dest with random data. Read more
    source§

    fn try_fill_bytes(&mut self, dest: &mut [u8]) -> Result<(), Error>

    Fill dest entirely with random data. Read more
    ","RngCore","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<S> Seek for Box<S>
    where\n S: Seek + ?Sized,

    source§

    fn seek(&mut self, pos: SeekFrom) -> Result<u64, Error>

    Seek to an offset, in bytes, in a stream. Read more
    source§

    fn stream_position(&mut self) -> Result<u64, Error>

    Returns the current seek position from the start of the stream. Read more
    1.55.0 · source§

    fn rewind(&mut self) -> Result<(), Error>

    Rewind to the beginning of a stream. Read more
    source§

    fn stream_len(&mut self) -> Result<u64, Error>

    🔬This is a nightly-only experimental API. (seek_stream_len)
    Returns the length of this stream (in bytes). Read more
    1.80.0 · source§

    fn seek_relative(&mut self, offset: i64) -> Result<(), Error>

    Seeks relative to the current position. Read more
    ","Seek","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<T> Serialize for Box<T>
    where\n T: Serialize + ?Sized,

    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","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<T, U> SerializeAs<Box<T>> for Box<U>
    where\n U: SerializeAs<T>,

    source§

    fn serialize_as<S>(\n source: &Box<T>,\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.
    ","SerializeAs>","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<T> Serializer for Box<T>
    where\n T: Serializer + ?Sized,

    source§

    fn erased_serialize_bool(&mut self, v: bool)

    source§

    fn erased_serialize_i8(&mut self, v: i8)

    source§

    fn erased_serialize_i16(&mut self, v: i16)

    source§

    fn erased_serialize_i32(&mut self, v: i32)

    source§

    fn erased_serialize_i64(&mut self, v: i64)

    source§

    fn erased_serialize_i128(&mut self, v: i128)

    source§

    fn erased_serialize_u8(&mut self, v: u8)

    source§

    fn erased_serialize_u16(&mut self, v: u16)

    source§

    fn erased_serialize_u32(&mut self, v: u32)

    source§

    fn erased_serialize_u64(&mut self, v: u64)

    source§

    fn erased_serialize_u128(&mut self, v: u128)

    source§

    fn erased_serialize_f32(&mut self, v: f32)

    source§

    fn erased_serialize_f64(&mut self, v: f64)

    source§

    fn erased_serialize_char(&mut self, v: char)

    source§

    fn erased_serialize_str(&mut self, v: &str)

    source§

    fn erased_serialize_bytes(&mut self, v: &[u8])

    source§

    fn erased_serialize_none(&mut self)

    source§

    fn erased_serialize_some(&mut self, value: &dyn Serialize)

    source§

    fn erased_serialize_unit(&mut self)

    source§

    fn erased_serialize_unit_struct(&mut self, name: &'static str)

    source§

    fn erased_serialize_unit_variant(\n &mut self,\n name: &'static str,\n variant_index: u32,\n variant: &'static str\n)

    source§

    fn erased_serialize_newtype_struct(\n &mut self,\n name: &'static str,\n value: &dyn Serialize\n)

    source§

    fn erased_serialize_newtype_variant(\n &mut self,\n name: &'static str,\n variant_index: u32,\n variant: &'static str,\n value: &dyn Serialize\n)

    source§

    fn erased_serialize_seq(\n &mut self,\n len: Option<usize>\n) -> Result<&mut dyn SerializeSeq, ErrorImpl>

    source§

    fn erased_serialize_tuple(\n &mut self,\n len: usize\n) -> Result<&mut dyn SerializeTuple, ErrorImpl>

    source§

    fn erased_serialize_tuple_struct(\n &mut self,\n name: &'static str,\n len: usize\n) -> Result<&mut dyn SerializeTupleStruct, ErrorImpl>

    source§

    fn erased_serialize_tuple_variant(\n &mut self,\n name: &'static str,\n variant_index: u32,\n variant: &'static str,\n len: usize\n) -> Result<&mut dyn SerializeTupleVariant, ErrorImpl>

    source§

    fn erased_serialize_map(\n &mut self,\n len: Option<usize>\n) -> Result<&mut dyn SerializeMap, ErrorImpl>

    source§

    fn erased_serialize_struct(\n &mut self,\n name: &'static str,\n len: usize\n) -> Result<&mut dyn SerializeStruct, ErrorImpl>

    source§

    fn erased_serialize_struct_variant(\n &mut self,\n name: &'static str,\n variant_index: u32,\n variant: &'static str,\n len: usize\n) -> Result<&mut dyn SerializeStructVariant, ErrorImpl>

    source§

    fn erased_is_human_readable(&self) -> bool

    ","Serializer","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<S> Source for Box<S>
    where\n S: Source + ?Sized,

    source§

    fn visit<'kvs>(\n &'kvs self,\n visitor: &mut dyn VisitSource<'kvs>\n) -> Result<(), Error>

    Visit key-values. Read more
    source§

    fn get(&self, key: Key<'_>) -> Option<Value<'_>>

    Get the value for a given key. Read more
    source§

    fn count(&self) -> usize

    Count the number of key-values that can be visited. Read more
    ","Source","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    §

    impl<S> Strategy for Box<S>
    where\n S: Strategy + ?Sized,

    §

    type Tree = <S as Strategy>::Tree

    The value tree generated by this Strategy.
    §

    type Value = <S as Strategy>::Value

    The type of value used by functions under test generated by this Strategy. Read more
    §

    fn new_tree(\n &self,\n runner: &mut TestRunner\n) -> Result<<Box<S> as Strategy>::Tree, Reason>

    Generate a new value tree from the given runner. Read more
    §

    fn prop_map<O, F>(self, fun: F) -> Map<Self, F>
    where\n O: Debug,\n F: Fn(Self::Value) -> O,\n Self: Sized,

    Returns a strategy which produces values transformed by the function\nfun. Read more
    §

    fn prop_map_into<O>(self) -> MapInto<Self, O>
    where\n O: Debug,\n Self: Sized,\n Self::Value: Into<O>,

    Returns a strategy which produces values of type O by transforming\nSelf with Into<O>. Read more
    §

    fn prop_perturb<O, F>(self, fun: F) -> Perturb<Self, F>
    where\n O: Debug,\n F: Fn(Self::Value, TestRng) -> O,\n Self: Sized,

    Returns a strategy which produces values transformed by the function\nfun, which is additionally given a random number generator. Read more
    §

    fn prop_flat_map<S, F>(self, fun: F) -> Flatten<Map<Self, F>>
    where\n S: Strategy,\n F: Fn(Self::Value) -> S,\n Self: Sized,

    Maps values produced by this strategy into new strategies and picks\nvalues from those strategies. Read more
    §

    fn prop_ind_flat_map<S, F>(self, fun: F) -> IndFlatten<Map<Self, F>>
    where\n S: Strategy,\n F: Fn(Self::Value) -> S,\n Self: Sized,

    Maps values produced by this strategy into new strategies and picks\nvalues from those strategies while considering the new strategies to be\nindependent. Read more
    §

    fn prop_ind_flat_map2<S, F>(self, fun: F) -> IndFlattenMap<Self, F>
    where\n S: Strategy,\n F: Fn(Self::Value) -> S,\n Self: Sized,

    Similar to prop_ind_flat_map(), but produces 2-tuples with the input\ngenerated from self in slot 0 and the derived strategy in slot 1. Read more
    §

    fn prop_filter<R, F>(self, whence: R, fun: F) -> Filter<Self, F>
    where\n R: Into<Reason>,\n F: Fn(&Self::Value) -> bool,\n Self: Sized,

    Returns a strategy which only produces values accepted by fun. Read more
    §

    fn prop_filter_map<F, O>(\n self,\n whence: impl Into<Reason>,\n fun: F\n) -> FilterMap<Self, F>
    where\n F: Fn(Self::Value) -> Option<O>,\n O: Debug,\n Self: Sized,

    Returns a strategy which only produces transformed values where fun\nreturns Some(value) and rejects those where fun returns None. Read more
    §

    fn prop_union(self, other: Self) -> Union<Self>
    where\n Self: Sized,

    Returns a strategy which picks uniformly from self and other. Read more
    §

    fn prop_recursive<R, F>(\n self,\n depth: u32,\n desired_size: u32,\n expected_branch_size: u32,\n recurse: F\n) -> Recursive<Self::Value, F>
    where\n R: Strategy<Value = Self::Value> + 'static,\n F: Fn(BoxedStrategy<Self::Value>) -> R,\n Self: Sized + 'static,

    Generate a recursive structure with self items as leaves. Read more
    §

    fn boxed(self) -> BoxedStrategy<Self::Value>
    where\n Self: Sized + 'static,

    Erases the type of this Strategy so it can be passed around as a\nsimple trait object. Read more
    §

    fn no_shrink(self) -> NoShrink<Self>
    where\n Self: Sized,

    Wraps this strategy to prevent values from being subject to shrinking. Read more
    ","Strategy","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<T> ToValue for Box<T>
    where\n T: ToValue + ?Sized,

    source§

    fn to_value(&self) -> Value<'_>

    Perform the conversion.
    ","ToValue","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    §

    impl<T> ValueTree for Box<T>
    where\n T: ValueTree + ?Sized,

    §

    type Value = <T as ValueTree>::Value

    The type of the value produced by this ValueTree.
    §

    fn current(&self) -> <Box<T> as ValueTree>::Value

    Returns the current value.
    §

    fn simplify(&mut self) -> bool

    Attempts to simplify the current value. Notionally, this sets the\n“high” value to the current value, and the current value to a “halfway\npoint” between high and low, rounding towards low. Read more
    §

    fn complicate(&mut self) -> bool

    Attempts to partially undo the last simplification. Notionally, this\nsets the “low” value to one plus the current value, and the current\nvalue to a “halfway point” between high and the new low, rounding\ntowards low. Read more
    ","ValueTree","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<'kvs, V> VisitSource<'kvs> for Box<V>
    where\n V: VisitSource<'kvs> + ?Sized,

    source§

    fn visit_pair(\n &mut self,\n key: Key<'kvs>,\n value: Value<'kvs>\n) -> Result<(), Error>

    Visit a key-value pair.
    ","VisitSource<'kvs>","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<W> Write for Box<W>
    where\n W: Write + ?Sized,

    source§

    fn write(&mut self, buf: &[u8]) -> Result<usize, Error>

    Write a buffer into this writer, returning how many bytes were written. Read more
    source§

    fn write_vectored(&mut self, bufs: &[IoSlice<'_>]) -> Result<usize, Error>

    Like write, except that it writes from a slice of buffers. Read more
    source§

    fn is_write_vectored(&self) -> bool

    🔬This is a nightly-only experimental API. (can_vector)
    Determines if this Writer has an efficient write_vectored\nimplementation. Read more
    source§

    fn flush(&mut self) -> Result<(), Error>

    Flush this output stream, ensuring that all intermediately buffered\ncontents reach their destination. Read more
    source§

    fn write_all(&mut self, buf: &[u8]) -> Result<(), Error>

    Attempts to write an entire buffer into this writer. Read more
    source§

    fn write_fmt(&mut self, fmt: Arguments<'_>) -> Result<(), Error>

    Writes a formatted string into this writer, returning any error\nencountered. Read more
    source§

    fn write_all_vectored(&mut self, bufs: &mut [IoSlice<'_>]) -> Result<(), Error>

    🔬This is a nightly-only experimental API. (write_all_vectored)
    Attempts to write multiple buffers into this writer. Read more
    1.0.0 · source§

    fn by_ref(&mut self) -> &mut Self
    where\n Self: Sized,

    Creates a “by reference” adapter for this instance of Write. Read more
    ","Write","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<T, U, A> CoerceUnsized<Box<U, A>> for Box<T, A>
    where\n T: Unsize<U> + ?Sized,\n A: Allocator,\n U: ?Sized,

    ","CoerceUnsized>","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<R> CryptoRng for Box<R>
    where\n R: CryptoRng + ?Sized,

    ","CryptoRng","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<T, A> DerefPure for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    ","DerefPure","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    source§

    impl<T, U> DispatchFromDyn<Box<U>> for Box<T>
    where\n T: Unsize<U> + ?Sized,\n U: ?Sized,

    ","DispatchFromDyn>","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.0.0 · source§

    impl<T, A> Eq for Box<T, A>
    where\n T: Eq + ?Sized,\n A: Allocator,

    ","Eq","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.26.0 · source§

    impl<I, A> FusedIterator for Box<I, A>
    where\n I: FusedIterator + ?Sized,\n A: Allocator,

    ","FusedIterator","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"],["
    1.33.0 · source§

    impl<T, A> Unpin for Box<T, A>
    where\n A: Allocator,\n T: ?Sized,

    ","Unpin","conjure_oxide::solver::SolverCallback","conjure_oxide::solver::SolverMutCallback"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/docs/type.impl/alloc/string/struct.String.js b/docs/type.impl/alloc/string/struct.String.js index b7fce0c08c..62b1bb0b92 100644 --- a/docs/type.impl/alloc/string/struct.String.js +++ b/docs/type.impl/alloc/string/struct.String.js @@ -1,3 +1,3 @@ (function() {var type_impls = { -"minion_rs":[["
    1.0.0 · source§

    impl Add<&str> for String

    Implements the + operator for concatenating two strings.

    \n

    This consumes the String on the left-hand side and re-uses its buffer (growing it if\nnecessary). This is done to avoid allocating a new String and copying the entire contents on\nevery operation, which would lead to O(n^2) running time when building an n-byte string by\nrepeated concatenation.

    \n

    The string on the right-hand side is only borrowed; its contents are copied into the returned\nString.

    \n

    §Examples

    \n

    Concatenating two Strings takes the first by value and borrows the second:

    \n\n
    let a = String::from(\"hello\");\nlet b = String::from(\" world\");\nlet c = a + &b;\n// `a` is moved and can no longer be used here.
    \n

    If you want to keep using the first String, you can clone it and append to the clone instead:

    \n\n
    let a = String::from(\"hello\");\nlet b = String::from(\" world\");\nlet c = a.clone() + &b;\n// `a` is still valid here.
    \n

    Concatenating &str slices can be done by converting the first to a String:

    \n\n
    let a = \"hello\";\nlet b = \" world\";\nlet c = a.to_string() + b;
    \n
    §

    type Output = String

    The resulting type after applying the + operator.
    source§

    fn add(self, other: &str) -> String

    Performs the + operation. Read more
    ","Add<&str>","minion_rs::ast::VarName"],["
    1.12.0 · source§

    impl AddAssign<&str> for String

    Implements the += operator for appending to a String.

    \n

    This has the same behavior as the push_str method.

    \n
    source§

    fn add_assign(&mut self, other: &str)

    Performs the += operation. Read more
    ","AddAssign<&str>","minion_rs::ast::VarName"],["
    1.43.0 · source§

    impl AsMut<str> for String

    source§

    fn as_mut(&mut self) -> &mut str

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl AsRef<[u8]> for String

    source§

    fn as_ref(&self) -> &[u8]

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef<[u8]>","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl AsRef<OsStr> for String

    source§

    fn as_ref(&self) -> &OsStr

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl AsRef<Path> for String

    source§

    fn as_ref(&self) -> &Path

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl AsRef<str> for String

    source§

    fn as_ref(&self) -> &str

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl Borrow<str> for String

    source§

    fn borrow(&self) -> &str

    Immutably borrows from an owned value. Read more
    ","Borrow","minion_rs::ast::VarName"],["
    1.36.0 · source§

    impl BorrowMut<str> for String

    source§

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

    Mutably borrows from an owned value. Read more
    ","BorrowMut","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl Clone for String

    source§

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

    Clones the contents of source into self.

    \n

    This method is preferred over simply assigning source.clone() to self,\nas it avoids reallocation if possible.

    \n
    source§

    fn clone(&self) -> String

    Returns a copy of the value. Read more
    ","Clone","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl Debug for String

    source§

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

    Formats the value using the given formatter. Read more
    ","Debug","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl Default for String

    source§

    fn default() -> String

    Creates an empty String.

    \n
    ","Default","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl Deref for String

    §

    type Target = str

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &str

    Dereferences the value.
    ","Deref","minion_rs::ast::VarName"],["
    1.3.0 · source§

    impl DerefMut for String

    source§

    fn deref_mut(&mut self) -> &mut str

    Mutably dereferences the value.
    ","DerefMut","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl Display for String

    source§

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

    Formats the value using the given formatter. Read more
    ","Display","minion_rs::ast::VarName"],["
    1.2.0 · source§

    impl<'a> Extend<&'a char> for String

    source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = &'a char>,

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

    fn extend_one(&mut self, _: &'a char)

    🔬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 char>","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl<'a> Extend<&'a str> for String

    source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = &'a str>,

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

    fn extend_one(&mut self, s: &'a str)

    🔬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 str>","minion_rs::ast::VarName"],["
    1.45.0 · source§

    impl Extend<Box<str>> for String

    source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = Box<str>>,

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

    fn extend_one(&mut self, item: A)

    🔬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>","minion_rs::ast::VarName"],["
    1.19.0 · source§

    impl<'a> Extend<Cow<'a, str>> for String

    source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = Cow<'a, str>>,

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

    fn extend_one(&mut self, s: Cow<'a, str>)

    🔬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>","minion_rs::ast::VarName"],["
    1.4.0 · source§

    impl Extend<String> for String

    source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = String>,

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

    fn extend_one(&mut self, s: String)

    🔬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","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl Extend<char> for String

    source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = char>,

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

    fn extend_one(&mut self, c: char)

    🔬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","minion_rs::ast::VarName"],["
    1.35.0 · source§

    impl From<&String> for String

    source§

    fn from(s: &String) -> String

    Converts a &String into a String.

    \n

    This clones s and returns the clone.

    \n
    ","From<&String>","minion_rs::ast::VarName"],["
    1.44.0 · source§

    impl From<&mut str> for String

    source§

    fn from(s: &mut str) -> String

    Converts a &mut str into a String.

    \n

    The result is allocated on the heap.

    \n
    ","From<&mut str>","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl From<&str> for String

    source§

    fn from(s: &str) -> String

    Converts a &str into a String.

    \n

    The result is allocated on the heap.

    \n
    ","From<&str>","minion_rs::ast::VarName"],["
    1.18.0 · source§

    impl From<Box<str>> for String

    source§

    fn from(s: Box<str>) -> String

    Converts the given boxed str slice to a String.\nIt is notable that the str slice is owned.

    \n
    §Examples
    \n
    let s1: String = String::from(\"hello world\");\nlet s2: Box<str> = s1.into_boxed_str();\nlet s3: String = String::from(s2);\n\nassert_eq!(\"hello world\", s3)
    \n
    ","From>","minion_rs::ast::VarName"],["
    1.14.0 · source§

    impl<'a> From<Cow<'a, str>> for String

    source§

    fn from(s: Cow<'a, str>) -> String

    Converts a clone-on-write string to an owned\ninstance of String.

    \n

    This extracts the owned string,\nclones the string if it is not already owned.

    \n
    §Example
    \n
    // If the string is not owned...\nlet cow: Cow<'_, str> = Cow::Borrowed(\"eggplant\");\n// It will allocate on the heap and copy the string.\nlet owned: String = String::from(cow);\nassert_eq!(&owned[..], \"eggplant\");
    \n
    ","From>","minion_rs::ast::VarName"],["
    1.46.0 · source§

    impl From<char> for String

    source§

    fn from(c: char) -> String

    Allocates an owned String from a single character.

    \n
    §Example
    \n
    let c: char = 'a';\nlet s: String = String::from(c);\nassert_eq!(\"a\", &s[..]);
    \n
    ","From","minion_rs::ast::VarName"],["
    1.17.0 · source§

    impl<'a> FromIterator<&'a char> for String

    source§

    fn from_iter<I>(iter: I) -> String
    where\n I: IntoIterator<Item = &'a char>,

    Creates a value from an iterator. Read more
    ","FromIterator<&'a char>","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl<'a> FromIterator<&'a str> for String

    source§

    fn from_iter<I>(iter: I) -> String
    where\n I: IntoIterator<Item = &'a str>,

    Creates a value from an iterator. Read more
    ","FromIterator<&'a str>","minion_rs::ast::VarName"],["
    1.45.0 · source§

    impl FromIterator<Box<str>> for String

    source§

    fn from_iter<I>(iter: I) -> String
    where\n I: IntoIterator<Item = Box<str>>,

    Creates a value from an iterator. Read more
    ","FromIterator>","minion_rs::ast::VarName"],["
    1.19.0 · source§

    impl<'a> FromIterator<Cow<'a, str>> for String

    source§

    fn from_iter<I>(iter: I) -> String
    where\n I: IntoIterator<Item = Cow<'a, str>>,

    Creates a value from an iterator. Read more
    ","FromIterator>","minion_rs::ast::VarName"],["
    1.4.0 · source§

    impl FromIterator<String> for String

    source§

    fn from_iter<I>(iter: I) -> String
    where\n I: IntoIterator<Item = String>,

    Creates a value from an iterator. Read more
    ","FromIterator","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl FromIterator<char> for String

    source§

    fn from_iter<I>(iter: I) -> String
    where\n I: IntoIterator<Item = char>,

    Creates a value from an iterator. Read more
    ","FromIterator","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl FromStr for String

    §

    type Err = Infallible

    The associated error which can be returned from parsing.
    source§

    fn from_str(s: &str) -> Result<String, <String as FromStr>::Err>

    Parses a string s to return a value of this type. Read more
    ","FromStr","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl Hash for String

    source§

    fn hash<H>(&self, hasher: &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","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl<I> Index<I> for String
    where\n I: SliceIndex<str>,

    §

    type Output = <I as SliceIndex<str>>::Output

    The returned type after indexing.
    source§

    fn index(&self, index: I) -> &<I as SliceIndex<str>>::Output

    Performs the indexing (container[index]) operation. Read more
    ","Index","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl<I> IndexMut<I> for String
    where\n I: SliceIndex<str>,

    source§

    fn index_mut(&mut self, index: I) -> &mut <I as SliceIndex<str>>::Output

    Performs the mutable indexing (container[index]) operation. Read more
    ","IndexMut","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl Ord for String

    source§

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

    This method returns an Ordering between self and other. Read more
    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","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl<'a, 'b> PartialEq<&'a str> for String

    source§

    fn eq(&self, other: &&'a str) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &&'a str) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<&'a str>","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl<'a, 'b> PartialEq<Cow<'a, str>> for String

    source§

    fn eq(&self, other: &Cow<'a, str>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &Cow<'a, str>) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq>","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl<'a, 'b> PartialEq<str> for String

    source§

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

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

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

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl PartialEq for String

    source§

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

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

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

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl PartialOrd for String

    source§

    fn partial_cmp(&self, other: &String) -> 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

    This method 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

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    1.0.0 · source§

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

    This method 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

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    ","PartialOrd","minion_rs::ast::VarName"],["
    source§

    impl String

    1.0.0 (const: 1.39.0) · source

    pub const fn new() -> String

    Creates a new empty String.

    \n

    Given that the String is empty, this will not allocate any initial\nbuffer. While that means that this initial operation is very\ninexpensive, it may cause excessive allocation later when you add\ndata. If you have an idea of how much data the String will hold,\nconsider the with_capacity method to prevent excessive\nre-allocation.

    \n
    §Examples
    \n
    let s = String::new();
    \n
    1.0.0 · source

    pub fn with_capacity(capacity: usize) -> String

    Creates a new empty String with at least the specified capacity.

    \n

    Strings have an internal buffer to hold their data. The capacity is\nthe length of that buffer, and can be queried with the capacity\nmethod. This method creates an empty String, but one with an initial\nbuffer that can hold at least capacity bytes. This is useful when you\nmay be appending a bunch of data to the String, reducing the number of\nreallocations it needs to do.

    \n

    If the given capacity is 0, no allocation will occur, and this method\nis identical to the new method.

    \n
    §Examples
    \n
    let mut s = String::with_capacity(10);\n\n// The String contains no chars, even though it has capacity for more\nassert_eq!(s.len(), 0);\n\n// These are all done without reallocating...\nlet cap = s.capacity();\nfor _ in 0..10 {\n    s.push('a');\n}\n\nassert_eq!(s.capacity(), cap);\n\n// ...but this may make the string reallocate\ns.push('a');
    \n
    source

    pub fn try_with_capacity(capacity: usize) -> Result<String, TryReserveError>

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

    Creates a new empty String with at least the specified capacity.

    \n
    §Errors
    \n

    Returns Err if the capacity exceeds isize::MAX bytes,\nor if the memory allocator reports failure.

    \n
    1.0.0 · source

    pub fn from_utf8(vec: Vec<u8>) -> Result<String, FromUtf8Error>

    Converts a vector of bytes to a String.

    \n

    A string (String) is made of bytes (u8), and a vector of bytes\n(Vec<u8>) is made of bytes, so this function converts between the\ntwo. Not all byte slices are valid Strings, however: String\nrequires that it is valid UTF-8. from_utf8() checks to ensure that\nthe bytes are valid UTF-8, and then does the conversion.

    \n

    If you are sure that the byte slice is valid UTF-8, and you don’t want\nto incur the overhead of the validity check, there is an unsafe version\nof this function, from_utf8_unchecked, which has the same behavior\nbut skips the check.

    \n

    This method will take care to not copy the vector, for efficiency’s\nsake.

    \n

    If you need a &str instead of a String, consider\nstr::from_utf8.

    \n

    The inverse of this method is into_bytes.

    \n
    §Errors
    \n

    Returns Err if the slice is not UTF-8 with a description as to why the\nprovided bytes are not UTF-8. The vector you moved in is also included.

    \n
    §Examples
    \n

    Basic usage:

    \n\n
    // some bytes, in a vector\nlet sparkle_heart = vec![240, 159, 146, 150];\n\n// We know these bytes are valid, so we'll use `unwrap()`.\nlet sparkle_heart = String::from_utf8(sparkle_heart).unwrap();\n\nassert_eq!(\"💖\", sparkle_heart);
    \n

    Incorrect bytes:

    \n\n
    // some invalid bytes, in a vector\nlet sparkle_heart = vec![0, 159, 146, 150];\n\nassert!(String::from_utf8(sparkle_heart).is_err());
    \n

    See the docs for FromUtf8Error for more details on what you can do\nwith this error.

    \n
    1.0.0 · source

    pub fn from_utf8_lossy(v: &[u8]) -> Cow<'_, str>

    Converts a slice of bytes to a string, including invalid characters.

    \n

    Strings are made of bytes (u8), and a slice of bytes\n(&[u8]) is made of bytes, so this function converts\nbetween the two. Not all byte slices are valid strings, however: strings\nare required to be valid UTF-8. During this conversion,\nfrom_utf8_lossy() will replace any invalid UTF-8 sequences with\nU+FFFD REPLACEMENT CHARACTER, which looks like this: �

    \n

    If you are sure that the byte slice is valid UTF-8, and you don’t want\nto incur the overhead of the conversion, there is an unsafe version\nof this function, from_utf8_unchecked, which has the same behavior\nbut skips the checks.

    \n

    This function returns a Cow<'a, str>. If our byte slice is invalid\nUTF-8, then we need to insert the replacement characters, which will\nchange the size of the string, and hence, require a String. But if\nit’s already valid UTF-8, we don’t need a new allocation. This return\ntype allows us to handle both cases.

    \n
    §Examples
    \n

    Basic usage:

    \n\n
    // some bytes, in a vector\nlet sparkle_heart = vec![240, 159, 146, 150];\n\nlet sparkle_heart = String::from_utf8_lossy(&sparkle_heart);\n\nassert_eq!(\"💖\", sparkle_heart);
    \n

    Incorrect bytes:

    \n\n
    // some invalid bytes\nlet input = b\"Hello \\xF0\\x90\\x80World\";\nlet output = String::from_utf8_lossy(input);\n\nassert_eq!(\"Hello �World\", output);
    \n
    1.0.0 · source

    pub fn from_utf16(v: &[u16]) -> Result<String, FromUtf16Error>

    Decode a UTF-16–encoded vector v into a String, returning Err\nif v contains any invalid data.

    \n
    §Examples
    \n
    // 𝄞music\nlet v = &[0xD834, 0xDD1E, 0x006d, 0x0075,\n          0x0073, 0x0069, 0x0063];\nassert_eq!(String::from(\"𝄞music\"),\n           String::from_utf16(v).unwrap());\n\n// 𝄞mu<invalid>ic\nlet v = &[0xD834, 0xDD1E, 0x006d, 0x0075,\n          0xD800, 0x0069, 0x0063];\nassert!(String::from_utf16(v).is_err());
    \n
    1.0.0 · source

    pub fn from_utf16_lossy(v: &[u16]) -> String

    Decode a UTF-16–encoded slice v into a String, replacing\ninvalid data with the replacement character (U+FFFD).

    \n

    Unlike from_utf8_lossy which returns a Cow<'a, str>,\nfrom_utf16_lossy returns a String since the UTF-16 to UTF-8\nconversion requires a memory allocation.

    \n
    §Examples
    \n
    // 𝄞mus<invalid>ic<invalid>\nlet v = &[0xD834, 0xDD1E, 0x006d, 0x0075,\n          0x0073, 0xDD1E, 0x0069, 0x0063,\n          0xD834];\n\nassert_eq!(String::from(\"𝄞mus\\u{FFFD}ic\\u{FFFD}\"),\n           String::from_utf16_lossy(v));
    \n
    source

    pub fn from_utf16le(v: &[u8]) -> Result<String, FromUtf16Error>

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

    Decode a UTF-16LE–encoded vector v into a String, returning Err\nif v contains any invalid data.

    \n
    §Examples
    \n

    Basic usage:

    \n\n
    #![feature(str_from_utf16_endian)]\n// 𝄞music\nlet v = &[0x34, 0xD8, 0x1E, 0xDD, 0x6d, 0x00, 0x75, 0x00,\n          0x73, 0x00, 0x69, 0x00, 0x63, 0x00];\nassert_eq!(String::from(\"𝄞music\"),\n           String::from_utf16le(v).unwrap());\n\n// 𝄞mu<invalid>ic\nlet v = &[0x34, 0xD8, 0x1E, 0xDD, 0x6d, 0x00, 0x75, 0x00,\n          0x00, 0xD8, 0x69, 0x00, 0x63, 0x00];\nassert!(String::from_utf16le(v).is_err());
    \n
    source

    pub fn from_utf16le_lossy(v: &[u8]) -> String

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

    Decode a UTF-16LE–encoded slice v into a String, replacing\ninvalid data with the replacement character (U+FFFD).

    \n

    Unlike from_utf8_lossy which returns a Cow<'a, str>,\nfrom_utf16le_lossy returns a String since the UTF-16 to UTF-8\nconversion requires a memory allocation.

    \n
    §Examples
    \n

    Basic usage:

    \n\n
    #![feature(str_from_utf16_endian)]\n// 𝄞mus<invalid>ic<invalid>\nlet v = &[0x34, 0xD8, 0x1E, 0xDD, 0x6d, 0x00, 0x75, 0x00,\n          0x73, 0x00, 0x1E, 0xDD, 0x69, 0x00, 0x63, 0x00,\n          0x34, 0xD8];\n\nassert_eq!(String::from(\"𝄞mus\\u{FFFD}ic\\u{FFFD}\"),\n           String::from_utf16le_lossy(v));
    \n
    source

    pub fn from_utf16be(v: &[u8]) -> Result<String, FromUtf16Error>

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

    Decode a UTF-16BE–encoded vector v into a String, returning Err\nif v contains any invalid data.

    \n
    §Examples
    \n

    Basic usage:

    \n\n
    #![feature(str_from_utf16_endian)]\n// 𝄞music\nlet v = &[0xD8, 0x34, 0xDD, 0x1E, 0x00, 0x6d, 0x00, 0x75,\n          0x00, 0x73, 0x00, 0x69, 0x00, 0x63];\nassert_eq!(String::from(\"𝄞music\"),\n           String::from_utf16be(v).unwrap());\n\n// 𝄞mu<invalid>ic\nlet v = &[0xD8, 0x34, 0xDD, 0x1E, 0x00, 0x6d, 0x00, 0x75,\n          0xD8, 0x00, 0x00, 0x69, 0x00, 0x63];\nassert!(String::from_utf16be(v).is_err());
    \n
    source

    pub fn from_utf16be_lossy(v: &[u8]) -> String

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

    Decode a UTF-16BE–encoded slice v into a String, replacing\ninvalid data with the replacement character (U+FFFD).

    \n

    Unlike from_utf8_lossy which returns a Cow<'a, str>,\nfrom_utf16le_lossy returns a String since the UTF-16 to UTF-8\nconversion requires a memory allocation.

    \n
    §Examples
    \n

    Basic usage:

    \n\n
    #![feature(str_from_utf16_endian)]\n// 𝄞mus<invalid>ic<invalid>\nlet v = &[0xD8, 0x34, 0xDD, 0x1E, 0x00, 0x6d, 0x00, 0x75,\n          0x00, 0x73, 0xDD, 0x1E, 0x00, 0x69, 0x00, 0x63,\n          0xD8, 0x34];\n\nassert_eq!(String::from(\"𝄞mus\\u{FFFD}ic\\u{FFFD}\"),\n           String::from_utf16be_lossy(v));
    \n
    source

    pub fn into_raw_parts(self) -> (*mut u8, usize, usize)

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

    Decomposes a String into its raw components: (pointer, length, capacity).

    \n

    Returns the raw pointer to the underlying data, the length of\nthe string (in bytes), and the allocated capacity of the data\n(in bytes). These are the same arguments in the same order as\nthe arguments to from_raw_parts.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the String. The only way to do\nthis is to convert the raw pointer, length, and capacity back\ninto a String with the from_raw_parts function, allowing\nthe destructor to perform the cleanup.

    \n
    §Examples
    \n
    #![feature(vec_into_raw_parts)]\nlet s = String::from(\"hello\");\n\nlet (ptr, len, cap) = s.into_raw_parts();\n\nlet rebuilt = unsafe { String::from_raw_parts(ptr, len, cap) };\nassert_eq!(rebuilt, \"hello\");
    \n
    1.0.0 · source

    pub unsafe fn from_raw_parts(\n buf: *mut u8,\n length: usize,\n capacity: usize\n) -> String

    Creates a new String from a pointer, a length and a capacity.

    \n
    §Safety
    \n

    This is highly unsafe, due to the number of invariants that aren’t\nchecked:

    \n
      \n
    • The memory at buf needs to have been previously allocated by the\nsame allocator the standard library uses, with a required alignment of exactly 1.
    • \n
    • length needs to be less than or equal to capacity.
    • \n
    • capacity needs to be the correct value.
    • \n
    • The first length bytes at buf need to be valid UTF-8.
    • \n
    \n

    Violating these may cause problems like corrupting the allocator’s\ninternal data structures. For example, it is normally not safe to\nbuild a String from a pointer to a C char array containing UTF-8\nunless you are certain that array was originally allocated by the\nRust standard library’s allocator.

    \n

    The ownership of buf is effectively transferred to the\nString which may then deallocate, reallocate or change the\ncontents of memory pointed to by the pointer at will. Ensure\nthat nothing else uses the pointer after calling this\nfunction.

    \n
    §Examples
    \n
    use std::mem;\n\nunsafe {\n    let s = String::from(\"hello\");\n\n    // Prevent automatically dropping the String's data\n    let mut s = mem::ManuallyDrop::new(s);\n\n    let ptr = s.as_mut_ptr();\n    let len = s.len();\n    let capacity = s.capacity();\n\n    let s = String::from_raw_parts(ptr, len, capacity);\n\n    assert_eq!(String::from(\"hello\"), s);\n}
    \n
    1.0.0 · source

    pub unsafe fn from_utf8_unchecked(bytes: Vec<u8>) -> String

    Converts a vector of bytes to a String without checking that the\nstring contains valid UTF-8.

    \n

    See the safe version, from_utf8, for more details.

    \n
    §Safety
    \n

    This function is unsafe because it does not check that the bytes passed\nto it are valid UTF-8. If this constraint is violated, it may cause\nmemory unsafety issues with future users of the String, as the rest of\nthe standard library assumes that Strings are valid UTF-8.

    \n
    §Examples
    \n
    // some bytes, in a vector\nlet sparkle_heart = vec![240, 159, 146, 150];\n\nlet sparkle_heart = unsafe {\n    String::from_utf8_unchecked(sparkle_heart)\n};\n\nassert_eq!(\"💖\", sparkle_heart);
    \n
    1.0.0 · source

    pub fn into_bytes(self) -> Vec<u8>

    Converts a String into a byte vector.

    \n

    This consumes the String, so we do not need to copy its contents.

    \n
    §Examples
    \n
    let s = String::from(\"hello\");\nlet bytes = s.into_bytes();\n\nassert_eq!(&[104, 101, 108, 108, 111][..], &bytes[..]);
    \n
    1.7.0 · source

    pub fn as_str(&self) -> &str

    Extracts a string slice containing the entire String.

    \n
    §Examples
    \n
    let s = String::from(\"foo\");\n\nassert_eq!(\"foo\", s.as_str());
    \n
    1.7.0 · source

    pub fn as_mut_str(&mut self) -> &mut str

    Converts a String into a mutable string slice.

    \n
    §Examples
    \n
    let mut s = String::from(\"foobar\");\nlet s_mut_str = s.as_mut_str();\n\ns_mut_str.make_ascii_uppercase();\n\nassert_eq!(\"FOOBAR\", s_mut_str);
    \n
    1.0.0 · source

    pub fn push_str(&mut self, string: &str)

    Appends a given string slice onto the end of this String.

    \n
    §Examples
    \n
    let mut s = String::from(\"foo\");\n\ns.push_str(\"bar\");\n\nassert_eq!(\"foobar\", s);
    \n
    source

    pub fn extend_from_within<R>(&mut self, src: R)
    where\n R: RangeBounds<usize>,

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

    Copies elements from src range to the end of the string.

    \n
    §Panics
    \n

    Panics if the starting point or end point do not lie on a char\nboundary, or if they’re out of bounds.

    \n
    §Examples
    \n
    #![feature(string_extend_from_within)]\nlet mut string = String::from(\"abcde\");\n\nstring.extend_from_within(2..);\nassert_eq!(string, \"abcdecde\");\n\nstring.extend_from_within(..2);\nassert_eq!(string, \"abcdecdeab\");\n\nstring.extend_from_within(4..8);\nassert_eq!(string, \"abcdecdeabecde\");
    \n
    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns this String’s capacity, in bytes.

    \n
    §Examples
    \n
    let s = String::with_capacity(10);\n\nassert!(s.capacity() >= 10);
    \n
    1.0.0 · source

    pub fn reserve(&mut self, additional: usize)

    Reserves capacity for at least additional bytes more than the\ncurrent length. The allocator may reserve more space to speculatively\navoid frequent allocations. 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 capacity overflows usize.

    \n
    §Examples
    \n

    Basic usage:

    \n\n
    let mut s = String::new();\n\ns.reserve(10);\n\nassert!(s.capacity() >= 10);
    \n

    This might not actually increase the capacity:

    \n\n
    let mut s = String::with_capacity(10);\ns.push('a');\ns.push('b');\n\n// s now has a length of 2 and a capacity of at least 10\nlet capacity = s.capacity();\nassert_eq!(2, s.len());\nassert!(capacity >= 10);\n\n// Since we already have at least an extra 8 capacity, calling this...\ns.reserve(8);\n\n// ... doesn't actually increase.\nassert_eq!(capacity, s.capacity());
    \n
    1.0.0 · source

    pub fn reserve_exact(&mut self, additional: usize)

    Reserves the minimum capacity for at least additional bytes more than\nthe current length. Unlike reserve, this will not\ndeliberately over-allocate to speculatively avoid frequent allocations.\nAfter calling reserve_exact, capacity will be greater than or equal to\nself.len() + additional. Does nothing if the capacity is already\nsufficient.

    \n
    §Panics
    \n

    Panics if the new capacity overflows usize.

    \n
    §Examples
    \n

    Basic usage:

    \n\n
    let mut s = String::new();\n\ns.reserve_exact(10);\n\nassert!(s.capacity() >= 10);
    \n

    This might not actually increase the capacity:

    \n\n
    let mut s = String::with_capacity(10);\ns.push('a');\ns.push('b');\n\n// s now has a length of 2 and a capacity of at least 10\nlet capacity = s.capacity();\nassert_eq!(2, s.len());\nassert!(capacity >= 10);\n\n// Since we already have at least an extra 8 capacity, calling this...\ns.reserve_exact(8);\n\n// ... doesn't actually increase.\nassert_eq!(capacity, s.capacity());
    \n
    1.57.0 · source

    pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>

    Tries to reserve capacity for at least additional bytes more than the\ncurrent length. The allocator may reserve more space to speculatively\navoid frequent allocations. After calling try_reserve, capacity will be\ngreater than or equal to self.len() + additional if it returns\nOk(()). Does nothing if capacity is already sufficient. This method\npreserves the contents even if an error occurs.

    \n
    §Errors
    \n

    If the capacity overflows, or the allocator reports a failure, then an error\nis returned.

    \n
    §Examples
    \n
    use std::collections::TryReserveError;\n\nfn process_data(data: &str) -> Result<String, TryReserveError> {\n    let mut output = String::new();\n\n    // Pre-reserve the memory, exiting if we can't\n    output.try_reserve(data.len())?;\n\n    // Now we know this can't OOM in the middle of our complex work\n    output.push_str(data);\n\n    Ok(output)\n}
    \n
    1.57.0 · source

    pub fn try_reserve_exact(\n &mut self,\n additional: usize\n) -> Result<(), TryReserveError>

    Tries to reserve the minimum capacity for at least additional bytes\nmore than the current length. Unlike try_reserve, this will not\ndeliberately over-allocate to speculatively avoid frequent allocations.\nAfter calling try_reserve_exact, capacity will be greater than or\nequal to self.len() + additional if it returns Ok(()).\nDoes nothing if the capacity is already sufficient.

    \n

    Note that the allocator may give the collection more space than it\nrequests. Therefore, capacity can not be relied upon to be precisely\nminimal. Prefer try_reserve if future insertions are expected.

    \n
    §Errors
    \n

    If the capacity overflows, or the allocator reports a failure, then an error\nis returned.

    \n
    §Examples
    \n
    use std::collections::TryReserveError;\n\nfn process_data(data: &str) -> Result<String, TryReserveError> {\n    let mut output = String::new();\n\n    // Pre-reserve the memory, exiting if we can't\n    output.try_reserve_exact(data.len())?;\n\n    // Now we know this can't OOM in the middle of our complex work\n    output.push_str(data);\n\n    Ok(output)\n}
    \n
    1.0.0 · source

    pub fn shrink_to_fit(&mut self)

    Shrinks the capacity of this String to match its length.

    \n
    §Examples
    \n
    let mut s = String::from(\"foo\");\n\ns.reserve(100);\nassert!(s.capacity() >= 100);\n\ns.shrink_to_fit();\nassert_eq!(3, s.capacity());
    \n
    1.56.0 · source

    pub fn shrink_to(&mut self, min_capacity: usize)

    Shrinks the capacity of this String with a lower bound.

    \n

    The capacity will remain at least as large as both the length\nand the supplied value.

    \n

    If the current capacity is less than the lower limit, this is a no-op.

    \n
    §Examples
    \n
    let mut s = String::from(\"foo\");\n\ns.reserve(100);\nassert!(s.capacity() >= 100);\n\ns.shrink_to(10);\nassert!(s.capacity() >= 10);\ns.shrink_to(0);\nassert!(s.capacity() >= 3);
    \n
    1.0.0 · source

    pub fn push(&mut self, ch: char)

    Appends the given char to the end of this String.

    \n
    §Examples
    \n
    let mut s = String::from(\"abc\");\n\ns.push('1');\ns.push('2');\ns.push('3');\n\nassert_eq!(\"abc123\", s);
    \n
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Returns a byte slice of this String’s contents.

    \n

    The inverse of this method is from_utf8.

    \n
    §Examples
    \n
    let s = String::from(\"hello\");\n\nassert_eq!(&[104, 101, 108, 108, 111], s.as_bytes());
    \n
    1.0.0 · source

    pub fn truncate(&mut self, new_len: usize)

    Shortens this String to the specified length.

    \n

    If new_len is greater than the string’s current length, this has no\neffect.

    \n

    Note that this method has no effect on the allocated capacity\nof the string

    \n
    §Panics
    \n

    Panics if new_len does not lie on a char boundary.

    \n
    §Examples
    \n
    let mut s = String::from(\"hello\");\n\ns.truncate(2);\n\nassert_eq!(\"he\", s);
    \n
    1.0.0 · source

    pub fn pop(&mut self) -> Option<char>

    Removes the last character from the string buffer and returns it.

    \n

    Returns None if this String is empty.

    \n
    §Examples
    \n
    let mut s = String::from(\"abč\");\n\nassert_eq!(s.pop(), Some('č'));\nassert_eq!(s.pop(), Some('b'));\nassert_eq!(s.pop(), Some('a'));\n\nassert_eq!(s.pop(), None);
    \n
    1.0.0 · source

    pub fn remove(&mut self, idx: usize) -> char

    Removes a char from this String at a byte position and returns it.

    \n

    This is an O(n) operation, as it requires copying every element in the\nbuffer.

    \n
    §Panics
    \n

    Panics if idx is larger than or equal to the String’s length,\nor if it does not lie on a char boundary.

    \n
    §Examples
    \n
    let mut s = String::from(\"abç\");\n\nassert_eq!(s.remove(0), 'a');\nassert_eq!(s.remove(1), 'ç');\nassert_eq!(s.remove(0), 'b');
    \n
    source

    pub fn remove_matches<'a, P>(&'a mut self, pat: P)
    where\n P: for<'x> Pattern<'x>,

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

    Remove all matches of pattern pat in the String.

    \n
    §Examples
    \n
    #![feature(string_remove_matches)]\nlet mut s = String::from(\"Trees are not green, the sky is not blue.\");\ns.remove_matches(\"not \");\nassert_eq!(\"Trees are green, the sky is blue.\", s);
    \n

    Matches will be detected and removed iteratively, so in cases where\npatterns overlap, only the first pattern will be removed:

    \n\n
    #![feature(string_remove_matches)]\nlet mut s = String::from(\"banana\");\ns.remove_matches(\"ana\");\nassert_eq!(\"bna\", s);
    \n
    1.26.0 · source

    pub fn retain<F>(&mut self, f: F)
    where\n F: FnMut(char) -> bool,

    Retains only the characters specified by the predicate.

    \n

    In other words, remove all characters c such that f(c) returns false.\nThis method operates in place, visiting each character exactly once in the\noriginal order, and preserves the order of the retained characters.

    \n
    §Examples
    \n
    let mut s = String::from(\"f_o_ob_ar\");\n\ns.retain(|c| c != '_');\n\nassert_eq!(s, \"foobar\");
    \n

    Because the elements are visited exactly once in the original order,\nexternal state may be used to decide which elements to keep.

    \n\n
    let mut s = String::from(\"abcde\");\nlet keep = [false, true, true, false, true];\nlet mut iter = keep.iter();\ns.retain(|_| *iter.next().unwrap());\nassert_eq!(s, \"bce\");
    \n
    1.0.0 · source

    pub fn insert(&mut self, idx: usize, ch: char)

    Inserts a character into this String at a byte position.

    \n

    This is an O(n) operation as it requires copying every element in the\nbuffer.

    \n
    §Panics
    \n

    Panics if idx is larger than the String’s length, or if it does not\nlie on a char boundary.

    \n
    §Examples
    \n
    let mut s = String::with_capacity(3);\n\ns.insert(0, 'f');\ns.insert(1, 'o');\ns.insert(2, 'o');\n\nassert_eq!(\"foo\", s);
    \n
    1.16.0 · source

    pub fn insert_str(&mut self, idx: usize, string: &str)

    Inserts a string slice into this String at a byte position.

    \n

    This is an O(n) operation as it requires copying every element in the\nbuffer.

    \n
    §Panics
    \n

    Panics if idx is larger than the String’s length, or if it does not\nlie on a char boundary.

    \n
    §Examples
    \n
    let mut s = String::from(\"bar\");\n\ns.insert_str(0, \"foo\");\n\nassert_eq!(\"foobar\", s);
    \n
    1.0.0 · source

    pub unsafe fn as_mut_vec(&mut self) -> &mut Vec<u8>

    Returns a mutable reference to the contents of this String.

    \n
    §Safety
    \n

    This function is unsafe because the returned &mut Vec allows writing\nbytes which are not valid UTF-8. If this constraint is violated, using\nthe original String after dropping the &mut Vec may violate memory\nsafety, as the rest of the standard library assumes that Strings are\nvalid UTF-8.

    \n
    §Examples
    \n
    let mut s = String::from(\"hello\");\n\nunsafe {\n    let vec = s.as_mut_vec();\n    assert_eq!(&[104, 101, 108, 108, 111][..], &vec[..]);\n\n    vec.reverse();\n}\nassert_eq!(s, \"olleh\");
    \n
    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the length of this String, in bytes, not chars or\ngraphemes. In other words, it might not be what a human considers the\nlength of the string.

    \n
    §Examples
    \n
    let a = String::from(\"foo\");\nassert_eq!(a.len(), 3);\n\nlet fancy_f = String::from(\"ƒoo\");\nassert_eq!(fancy_f.len(), 4);\nassert_eq!(fancy_f.chars().count(), 3);
    \n
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if this String has a length of zero, and false otherwise.

    \n
    §Examples
    \n
    let mut v = String::new();\nassert!(v.is_empty());\n\nv.push('a');\nassert!(!v.is_empty());
    \n
    1.16.0 · source

    pub fn split_off(&mut self, at: usize) -> String

    Splits the string into two at the given byte index.

    \n

    Returns a newly allocated String. self contains bytes [0, at), and\nthe returned String contains bytes [at, len). at must be on the\nboundary of a UTF-8 code point.

    \n

    Note that the capacity of self does not change.

    \n
    §Panics
    \n

    Panics if at is not on a UTF-8 code point boundary, or if it is beyond the last\ncode point of the string.

    \n
    §Examples
    \n
    let mut hello = String::from(\"Hello, World!\");\nlet world = hello.split_off(7);\nassert_eq!(hello, \"Hello, \");\nassert_eq!(world, \"World!\");
    \n
    1.0.0 · source

    pub fn clear(&mut self)

    Truncates this String, removing all contents.

    \n

    While this means the String will have a length of zero, it does not\ntouch its capacity.

    \n
    §Examples
    \n
    let mut s = String::from(\"foo\");\n\ns.clear();\n\nassert!(s.is_empty());\nassert_eq!(0, s.len());\nassert_eq!(3, s.capacity());
    \n
    1.6.0 · source

    pub fn drain<R>(&mut self, range: R) -> Drain<'_>
    where\n R: RangeBounds<usize>,

    Removes the specified range from the string in bulk, returning all\nremoved characters as an iterator.

    \n

    The returned iterator keeps a mutable borrow on the string to optimize\nits implementation.

    \n
    §Panics
    \n

    Panics if the starting point or end point do not lie on a char\nboundary, or if they’re out of bounds.

    \n
    §Leaking
    \n

    If the returned iterator goes out of scope without being dropped (due to\ncore::mem::forget, for example), the string may still contain a copy\nof any drained characters, or may have lost characters arbitrarily,\nincluding characters outside the range.

    \n
    §Examples
    \n
    let mut s = String::from(\"α is alpha, β is beta\");\nlet beta_offset = s.find('β').unwrap_or(s.len());\n\n// Remove the range up until the β from the string\nlet t: String = s.drain(..beta_offset).collect();\nassert_eq!(t, \"α is alpha, \");\nassert_eq!(s, \"β is beta\");\n\n// A full range clears the string, like `clear()` does\ns.drain(..);\nassert_eq!(s, \"\");
    \n
    1.27.0 · source

    pub fn replace_range<R>(&mut self, range: R, replace_with: &str)
    where\n R: RangeBounds<usize>,

    Removes the specified range in the string,\nand replaces it with the given string.\nThe given string doesn’t need to be the same length as the range.

    \n
    §Panics
    \n

    Panics if the starting point or end point do not lie on a char\nboundary, or if they’re out of bounds.

    \n
    §Examples
    \n
    let mut s = String::from(\"α is alpha, β is beta\");\nlet beta_offset = s.find('β').unwrap_or(s.len());\n\n// Replace the range up until the β from the string\ns.replace_range(..beta_offset, \"Α is capital alpha; \");\nassert_eq!(s, \"Α is capital alpha; β is beta\");
    \n
    1.4.0 · source

    pub fn into_boxed_str(self) -> Box<str>

    Converts this String into a Box<str>.

    \n

    This will drop any excess capacity.

    \n
    §Examples
    \n
    let s = String::from(\"hello\");\n\nlet b = s.into_boxed_str();
    \n
    1.72.0 · source

    pub fn leak<'a>(self) -> &'a mut str

    Consumes and leaks the String, returning a mutable reference to the contents,\n&'a mut str.

    \n

    The caller has free choice over the returned lifetime, including 'static. Indeed,\nthis function is ideally used for data that lives for the remainder of the program’s life,\nas dropping the returned reference will cause a memory leak.

    \n

    It does not reallocate or shrink the String,\nso the leaked allocation may include unused capacity that is not part\nof the returned slice. If you don’t want that, call into_boxed_str,\nand then Box::leak.

    \n
    §Examples
    \n
    let x = String::from(\"bucket\");\nlet static_ref: &'static mut str = x.leak();\nassert_eq!(static_ref, \"bucket\");
    \n
    ",0,"minion_rs::ast::VarName"],["
    1.16.0 · source§

    impl ToSocketAddrs for String

    §

    type Iter = IntoIter<SocketAddr>

    Returned iterator over socket addresses which this type may correspond\nto.
    source§

    fn to_socket_addrs(&self) -> Result<IntoIter<SocketAddr>, Error>

    Converts this object to an iterator of resolved SocketAddrs. Read more
    ","ToSocketAddrs","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl Write for String

    source§

    fn write_str(&mut self, s: &str) -> Result<(), Error>

    Writes a string slice into this writer, returning whether the write\nsucceeded. Read more
    source§

    fn write_char(&mut self, c: char) -> Result<(), Error>

    Writes a char into this writer, returning whether the write succeeded. Read more
    1.0.0 · source§

    fn write_fmt(&mut self, args: Arguments<'_>) -> Result<(), Error>

    Glue for usage of the write! macro with implementors of this trait. Read more
    ","Write","minion_rs::ast::VarName"],["
    source§

    impl DerefPure for String

    ","DerefPure","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl Eq for String

    ","Eq","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl StructuralPartialEq for String

    ","StructuralPartialEq","minion_rs::ast::VarName"]] +"minion_rs":[["
    1.0.0 · source§

    impl Add<&str> for String

    Implements the + operator for concatenating two strings.

    \n

    This consumes the String on the left-hand side and re-uses its buffer (growing it if\nnecessary). This is done to avoid allocating a new String and copying the entire contents on\nevery operation, which would lead to O(n^2) running time when building an n-byte string by\nrepeated concatenation.

    \n

    The string on the right-hand side is only borrowed; its contents are copied into the returned\nString.

    \n

    §Examples

    \n

    Concatenating two Strings takes the first by value and borrows the second:

    \n\n
    let a = String::from(\"hello\");\nlet b = String::from(\" world\");\nlet c = a + &b;\n// `a` is moved and can no longer be used here.
    \n

    If you want to keep using the first String, you can clone it and append to the clone instead:

    \n\n
    let a = String::from(\"hello\");\nlet b = String::from(\" world\");\nlet c = a.clone() + &b;\n// `a` is still valid here.
    \n

    Concatenating &str slices can be done by converting the first to a String:

    \n\n
    let a = \"hello\";\nlet b = \" world\";\nlet c = a.to_string() + b;
    \n
    §

    type Output = String

    The resulting type after applying the + operator.
    source§

    fn add(self, other: &str) -> String

    Performs the + operation. Read more
    ","Add<&str>","minion_rs::ast::VarName"],["
    1.12.0 · source§

    impl AddAssign<&str> for String

    Implements the += operator for appending to a String.

    \n

    This has the same behavior as the push_str method.

    \n
    source§

    fn add_assign(&mut self, other: &str)

    Performs the += operation. Read more
    ","AddAssign<&str>","minion_rs::ast::VarName"],["
    1.43.0 · source§

    impl AsMut<str> for String

    source§

    fn as_mut(&mut self) -> &mut str

    Converts this type into a mutable reference of the (usually inferred) input type.
    ","AsMut","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl AsRef<[u8]> for String

    source§

    fn as_ref(&self) -> &[u8]

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef<[u8]>","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl AsRef<OsStr> for String

    source§

    fn as_ref(&self) -> &OsStr

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl AsRef<Path> for String

    source§

    fn as_ref(&self) -> &Path

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl AsRef<str> for String

    source§

    fn as_ref(&self) -> &str

    Converts this type into a shared reference of the (usually inferred) input type.
    ","AsRef","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl Borrow<str> for String

    source§

    fn borrow(&self) -> &str

    Immutably borrows from an owned value. Read more
    ","Borrow","minion_rs::ast::VarName"],["
    1.36.0 · source§

    impl BorrowMut<str> for String

    source§

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

    Mutably borrows from an owned value. Read more
    ","BorrowMut","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl Clone for String

    source§

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

    Clones the contents of source into self.

    \n

    This method is preferred over simply assigning source.clone() to self,\nas it avoids reallocation if possible.

    \n
    source§

    fn clone(&self) -> String

    Returns a copy of the value. Read more
    ","Clone","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl Debug for String

    source§

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

    Formats the value using the given formatter. Read more
    ","Debug","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl Default for String

    source§

    fn default() -> String

    Creates an empty String.

    \n
    ","Default","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl Deref for String

    §

    type Target = str

    The resulting type after dereferencing.
    source§

    fn deref(&self) -> &str

    Dereferences the value.
    ","Deref","minion_rs::ast::VarName"],["
    1.3.0 · source§

    impl DerefMut for String

    source§

    fn deref_mut(&mut self) -> &mut str

    Mutably dereferences the value.
    ","DerefMut","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl Display for String

    source§

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

    Formats the value using the given formatter. Read more
    ","Display","minion_rs::ast::VarName"],["
    1.2.0 · source§

    impl<'a> Extend<&'a char> for String

    source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = &'a char>,

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

    fn extend_one(&mut self, _: &'a char)

    🔬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 char>","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl<'a> Extend<&'a str> for String

    source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = &'a str>,

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

    fn extend_one(&mut self, s: &'a str)

    🔬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 str>","minion_rs::ast::VarName"],["
    1.45.0 · source§

    impl<A> Extend<Box<str, A>> for String
    where\n A: Allocator,

    source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = Box<str, A>>,

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

    fn extend_one(&mut self, item: A)

    🔬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>","minion_rs::ast::VarName"],["
    1.19.0 · source§

    impl<'a> Extend<Cow<'a, str>> for String

    source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = Cow<'a, str>>,

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

    fn extend_one(&mut self, s: Cow<'a, str>)

    🔬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>","minion_rs::ast::VarName"],["
    1.4.0 · source§

    impl Extend<String> for String

    source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = String>,

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

    fn extend_one(&mut self, s: String)

    🔬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","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl Extend<char> for String

    source§

    fn extend<I>(&mut self, iter: I)
    where\n I: IntoIterator<Item = char>,

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

    fn extend_one(&mut self, c: char)

    🔬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","minion_rs::ast::VarName"],["
    1.35.0 · source§

    impl From<&String> for String

    source§

    fn from(s: &String) -> String

    Converts a &String into a String.

    \n

    This clones s and returns the clone.

    \n
    ","From<&String>","minion_rs::ast::VarName"],["
    1.44.0 · source§

    impl From<&mut str> for String

    source§

    fn from(s: &mut str) -> String

    Converts a &mut str into a String.

    \n

    The result is allocated on the heap.

    \n
    ","From<&mut str>","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl From<&str> for String

    source§

    fn from(s: &str) -> String

    Converts a &str into a String.

    \n

    The result is allocated on the heap.

    \n
    ","From<&str>","minion_rs::ast::VarName"],["
    1.18.0 · source§

    impl From<Box<str>> for String

    source§

    fn from(s: Box<str>) -> String

    Converts the given boxed str slice to a String.\nIt is notable that the str slice is owned.

    \n
    §Examples
    \n
    let s1: String = String::from(\"hello world\");\nlet s2: Box<str> = s1.into_boxed_str();\nlet s3: String = String::from(s2);\n\nassert_eq!(\"hello world\", s3)
    \n
    ","From>","minion_rs::ast::VarName"],["
    1.14.0 · source§

    impl<'a> From<Cow<'a, str>> for String

    source§

    fn from(s: Cow<'a, str>) -> String

    Converts a clone-on-write string to an owned\ninstance of String.

    \n

    This extracts the owned string,\nclones the string if it is not already owned.

    \n
    §Example
    \n
    // If the string is not owned...\nlet cow: Cow<'_, str> = Cow::Borrowed(\"eggplant\");\n// It will allocate on the heap and copy the string.\nlet owned: String = String::from(cow);\nassert_eq!(&owned[..], \"eggplant\");
    \n
    ","From>","minion_rs::ast::VarName"],["
    1.46.0 · source§

    impl From<char> for String

    source§

    fn from(c: char) -> String

    Allocates an owned String from a single character.

    \n
    §Example
    \n
    let c: char = 'a';\nlet s: String = String::from(c);\nassert_eq!(\"a\", &s[..]);
    \n
    ","From","minion_rs::ast::VarName"],["
    1.17.0 · source§

    impl<'a> FromIterator<&'a char> for String

    source§

    fn from_iter<I>(iter: I) -> String
    where\n I: IntoIterator<Item = &'a char>,

    Creates a value from an iterator. Read more
    ","FromIterator<&'a char>","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl<'a> FromIterator<&'a str> for String

    source§

    fn from_iter<I>(iter: I) -> String
    where\n I: IntoIterator<Item = &'a str>,

    Creates a value from an iterator. Read more
    ","FromIterator<&'a str>","minion_rs::ast::VarName"],["
    1.45.0 · source§

    impl<A> FromIterator<Box<str, A>> for String
    where\n A: Allocator,

    source§

    fn from_iter<I>(iter: I) -> String
    where\n I: IntoIterator<Item = Box<str, A>>,

    Creates a value from an iterator. Read more
    ","FromIterator>","minion_rs::ast::VarName"],["
    1.19.0 · source§

    impl<'a> FromIterator<Cow<'a, str>> for String

    source§

    fn from_iter<I>(iter: I) -> String
    where\n I: IntoIterator<Item = Cow<'a, str>>,

    Creates a value from an iterator. Read more
    ","FromIterator>","minion_rs::ast::VarName"],["
    1.4.0 · source§

    impl FromIterator<String> for String

    source§

    fn from_iter<I>(iter: I) -> String
    where\n I: IntoIterator<Item = String>,

    Creates a value from an iterator. Read more
    ","FromIterator","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl FromIterator<char> for String

    source§

    fn from_iter<I>(iter: I) -> String
    where\n I: IntoIterator<Item = char>,

    Creates a value from an iterator. Read more
    ","FromIterator","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl FromStr for String

    §

    type Err = Infallible

    The associated error which can be returned from parsing.
    source§

    fn from_str(s: &str) -> Result<String, <String as FromStr>::Err>

    Parses a string s to return a value of this type. Read more
    ","FromStr","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl Hash for String

    source§

    fn hash<H>(&self, hasher: &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","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl<I> Index<I> for String
    where\n I: SliceIndex<str>,

    §

    type Output = <I as SliceIndex<str>>::Output

    The returned type after indexing.
    source§

    fn index(&self, index: I) -> &<I as SliceIndex<str>>::Output

    Performs the indexing (container[index]) operation. Read more
    ","Index","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl<I> IndexMut<I> for String
    where\n I: SliceIndex<str>,

    source§

    fn index_mut(&mut self, index: I) -> &mut <I as SliceIndex<str>>::Output

    Performs the mutable indexing (container[index]) operation. Read more
    ","IndexMut","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl Ord for String

    source§

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

    This method returns an Ordering between self and other. Read more
    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","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl<'a, 'b> PartialEq<&'a str> for String

    source§

    fn eq(&self, other: &&'a str) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &&'a str) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq<&'a str>","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl<'a, 'b> PartialEq<Cow<'a, str>> for String

    source§

    fn eq(&self, other: &Cow<'a, str>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

    fn ne(&self, other: &Cow<'a, str>) -> bool

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq>","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl<'a, 'b> PartialEq<str> for String

    source§

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

    This method tests for self and other values to be equal, and is used\nby ==.
    source§

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

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl PartialEq for String

    source§

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

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

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

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl PartialOrd for String

    source§

    fn partial_cmp(&self, other: &String) -> 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

    This method 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

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    1.0.0 · source§

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

    This method 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

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    ","PartialOrd","minion_rs::ast::VarName"],["
    source§

    impl String

    1.0.0 (const: 1.39.0) · source

    pub const fn new() -> String

    Creates a new empty String.

    \n

    Given that the String is empty, this will not allocate any initial\nbuffer. While that means that this initial operation is very\ninexpensive, it may cause excessive allocation later when you add\ndata. If you have an idea of how much data the String will hold,\nconsider the with_capacity method to prevent excessive\nre-allocation.

    \n
    §Examples
    \n
    let s = String::new();
    \n
    1.0.0 · source

    pub fn with_capacity(capacity: usize) -> String

    Creates a new empty String with at least the specified capacity.

    \n

    Strings have an internal buffer to hold their data. The capacity is\nthe length of that buffer, and can be queried with the capacity\nmethod. This method creates an empty String, but one with an initial\nbuffer that can hold at least capacity bytes. This is useful when you\nmay be appending a bunch of data to the String, reducing the number of\nreallocations it needs to do.

    \n

    If the given capacity is 0, no allocation will occur, and this method\nis identical to the new method.

    \n
    §Examples
    \n
    let mut s = String::with_capacity(10);\n\n// The String contains no chars, even though it has capacity for more\nassert_eq!(s.len(), 0);\n\n// These are all done without reallocating...\nlet cap = s.capacity();\nfor _ in 0..10 {\n    s.push('a');\n}\n\nassert_eq!(s.capacity(), cap);\n\n// ...but this may make the string reallocate\ns.push('a');
    \n
    source

    pub fn try_with_capacity(capacity: usize) -> Result<String, TryReserveError>

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

    Creates a new empty String with at least the specified capacity.

    \n
    §Errors
    \n

    Returns Err if the capacity exceeds isize::MAX bytes,\nor if the memory allocator reports failure.

    \n
    1.0.0 · source

    pub fn from_utf8(vec: Vec<u8>) -> Result<String, FromUtf8Error>

    Converts a vector of bytes to a String.

    \n

    A string (String) is made of bytes (u8), and a vector of bytes\n(Vec<u8>) is made of bytes, so this function converts between the\ntwo. Not all byte slices are valid Strings, however: String\nrequires that it is valid UTF-8. from_utf8() checks to ensure that\nthe bytes are valid UTF-8, and then does the conversion.

    \n

    If you are sure that the byte slice is valid UTF-8, and you don’t want\nto incur the overhead of the validity check, there is an unsafe version\nof this function, from_utf8_unchecked, which has the same behavior\nbut skips the check.

    \n

    This method will take care to not copy the vector, for efficiency’s\nsake.

    \n

    If you need a &str instead of a String, consider\nstr::from_utf8.

    \n

    The inverse of this method is into_bytes.

    \n
    §Errors
    \n

    Returns Err if the slice is not UTF-8 with a description as to why the\nprovided bytes are not UTF-8. The vector you moved in is also included.

    \n
    §Examples
    \n

    Basic usage:

    \n\n
    // some bytes, in a vector\nlet sparkle_heart = vec![240, 159, 146, 150];\n\n// We know these bytes are valid, so we'll use `unwrap()`.\nlet sparkle_heart = String::from_utf8(sparkle_heart).unwrap();\n\nassert_eq!(\"💖\", sparkle_heart);
    \n

    Incorrect bytes:

    \n\n
    // some invalid bytes, in a vector\nlet sparkle_heart = vec![0, 159, 146, 150];\n\nassert!(String::from_utf8(sparkle_heart).is_err());
    \n

    See the docs for FromUtf8Error for more details on what you can do\nwith this error.

    \n
    1.0.0 · source

    pub fn from_utf8_lossy(v: &[u8]) -> Cow<'_, str>

    Converts a slice of bytes to a string, including invalid characters.

    \n

    Strings are made of bytes (u8), and a slice of bytes\n(&[u8]) is made of bytes, so this function converts\nbetween the two. Not all byte slices are valid strings, however: strings\nare required to be valid UTF-8. During this conversion,\nfrom_utf8_lossy() will replace any invalid UTF-8 sequences with\nU+FFFD REPLACEMENT CHARACTER, which looks like this: �

    \n

    If you are sure that the byte slice is valid UTF-8, and you don’t want\nto incur the overhead of the conversion, there is an unsafe version\nof this function, from_utf8_unchecked, which has the same behavior\nbut skips the checks.

    \n

    This function returns a Cow<'a, str>. If our byte slice is invalid\nUTF-8, then we need to insert the replacement characters, which will\nchange the size of the string, and hence, require a String. But if\nit’s already valid UTF-8, we don’t need a new allocation. This return\ntype allows us to handle both cases.

    \n
    §Examples
    \n

    Basic usage:

    \n\n
    // some bytes, in a vector\nlet sparkle_heart = vec![240, 159, 146, 150];\n\nlet sparkle_heart = String::from_utf8_lossy(&sparkle_heart);\n\nassert_eq!(\"💖\", sparkle_heart);
    \n

    Incorrect bytes:

    \n\n
    // some invalid bytes\nlet input = b\"Hello \\xF0\\x90\\x80World\";\nlet output = String::from_utf8_lossy(input);\n\nassert_eq!(\"Hello �World\", output);
    \n
    1.0.0 · source

    pub fn from_utf16(v: &[u16]) -> Result<String, FromUtf16Error>

    Decode a UTF-16–encoded vector v into a String, returning Err\nif v contains any invalid data.

    \n
    §Examples
    \n
    // 𝄞music\nlet v = &[0xD834, 0xDD1E, 0x006d, 0x0075,\n          0x0073, 0x0069, 0x0063];\nassert_eq!(String::from(\"𝄞music\"),\n           String::from_utf16(v).unwrap());\n\n// 𝄞mu<invalid>ic\nlet v = &[0xD834, 0xDD1E, 0x006d, 0x0075,\n          0xD800, 0x0069, 0x0063];\nassert!(String::from_utf16(v).is_err());
    \n
    1.0.0 · source

    pub fn from_utf16_lossy(v: &[u16]) -> String

    Decode a UTF-16–encoded slice v into a String, replacing\ninvalid data with the replacement character (U+FFFD).

    \n

    Unlike from_utf8_lossy which returns a Cow<'a, str>,\nfrom_utf16_lossy returns a String since the UTF-16 to UTF-8\nconversion requires a memory allocation.

    \n
    §Examples
    \n
    // 𝄞mus<invalid>ic<invalid>\nlet v = &[0xD834, 0xDD1E, 0x006d, 0x0075,\n          0x0073, 0xDD1E, 0x0069, 0x0063,\n          0xD834];\n\nassert_eq!(String::from(\"𝄞mus\\u{FFFD}ic\\u{FFFD}\"),\n           String::from_utf16_lossy(v));
    \n
    source

    pub fn from_utf16le(v: &[u8]) -> Result<String, FromUtf16Error>

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

    Decode a UTF-16LE–encoded vector v into a String, returning Err\nif v contains any invalid data.

    \n
    §Examples
    \n

    Basic usage:

    \n\n
    #![feature(str_from_utf16_endian)]\n// 𝄞music\nlet v = &[0x34, 0xD8, 0x1E, 0xDD, 0x6d, 0x00, 0x75, 0x00,\n          0x73, 0x00, 0x69, 0x00, 0x63, 0x00];\nassert_eq!(String::from(\"𝄞music\"),\n           String::from_utf16le(v).unwrap());\n\n// 𝄞mu<invalid>ic\nlet v = &[0x34, 0xD8, 0x1E, 0xDD, 0x6d, 0x00, 0x75, 0x00,\n          0x00, 0xD8, 0x69, 0x00, 0x63, 0x00];\nassert!(String::from_utf16le(v).is_err());
    \n
    source

    pub fn from_utf16le_lossy(v: &[u8]) -> String

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

    Decode a UTF-16LE–encoded slice v into a String, replacing\ninvalid data with the replacement character (U+FFFD).

    \n

    Unlike from_utf8_lossy which returns a Cow<'a, str>,\nfrom_utf16le_lossy returns a String since the UTF-16 to UTF-8\nconversion requires a memory allocation.

    \n
    §Examples
    \n

    Basic usage:

    \n\n
    #![feature(str_from_utf16_endian)]\n// 𝄞mus<invalid>ic<invalid>\nlet v = &[0x34, 0xD8, 0x1E, 0xDD, 0x6d, 0x00, 0x75, 0x00,\n          0x73, 0x00, 0x1E, 0xDD, 0x69, 0x00, 0x63, 0x00,\n          0x34, 0xD8];\n\nassert_eq!(String::from(\"𝄞mus\\u{FFFD}ic\\u{FFFD}\"),\n           String::from_utf16le_lossy(v));
    \n
    source

    pub fn from_utf16be(v: &[u8]) -> Result<String, FromUtf16Error>

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

    Decode a UTF-16BE–encoded vector v into a String, returning Err\nif v contains any invalid data.

    \n
    §Examples
    \n

    Basic usage:

    \n\n
    #![feature(str_from_utf16_endian)]\n// 𝄞music\nlet v = &[0xD8, 0x34, 0xDD, 0x1E, 0x00, 0x6d, 0x00, 0x75,\n          0x00, 0x73, 0x00, 0x69, 0x00, 0x63];\nassert_eq!(String::from(\"𝄞music\"),\n           String::from_utf16be(v).unwrap());\n\n// 𝄞mu<invalid>ic\nlet v = &[0xD8, 0x34, 0xDD, 0x1E, 0x00, 0x6d, 0x00, 0x75,\n          0xD8, 0x00, 0x00, 0x69, 0x00, 0x63];\nassert!(String::from_utf16be(v).is_err());
    \n
    source

    pub fn from_utf16be_lossy(v: &[u8]) -> String

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

    Decode a UTF-16BE–encoded slice v into a String, replacing\ninvalid data with the replacement character (U+FFFD).

    \n

    Unlike from_utf8_lossy which returns a Cow<'a, str>,\nfrom_utf16le_lossy returns a String since the UTF-16 to UTF-8\nconversion requires a memory allocation.

    \n
    §Examples
    \n

    Basic usage:

    \n\n
    #![feature(str_from_utf16_endian)]\n// 𝄞mus<invalid>ic<invalid>\nlet v = &[0xD8, 0x34, 0xDD, 0x1E, 0x00, 0x6d, 0x00, 0x75,\n          0x00, 0x73, 0xDD, 0x1E, 0x00, 0x69, 0x00, 0x63,\n          0xD8, 0x34];\n\nassert_eq!(String::from(\"𝄞mus\\u{FFFD}ic\\u{FFFD}\"),\n           String::from_utf16be_lossy(v));
    \n
    source

    pub fn into_raw_parts(self) -> (*mut u8, usize, usize)

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

    Decomposes a String into its raw components: (pointer, length, capacity).

    \n

    Returns the raw pointer to the underlying data, the length of\nthe string (in bytes), and the allocated capacity of the data\n(in bytes). These are the same arguments in the same order as\nthe arguments to from_raw_parts.

    \n

    After calling this function, the caller is responsible for the\nmemory previously managed by the String. The only way to do\nthis is to convert the raw pointer, length, and capacity back\ninto a String with the from_raw_parts function, allowing\nthe destructor to perform the cleanup.

    \n
    §Examples
    \n
    #![feature(vec_into_raw_parts)]\nlet s = String::from(\"hello\");\n\nlet (ptr, len, cap) = s.into_raw_parts();\n\nlet rebuilt = unsafe { String::from_raw_parts(ptr, len, cap) };\nassert_eq!(rebuilt, \"hello\");
    \n
    1.0.0 · source

    pub unsafe fn from_raw_parts(\n buf: *mut u8,\n length: usize,\n capacity: usize\n) -> String

    Creates a new String from a pointer, a length and a capacity.

    \n
    §Safety
    \n

    This is highly unsafe, due to the number of invariants that aren’t\nchecked:

    \n
      \n
    • The memory at buf needs to have been previously allocated by the\nsame allocator the standard library uses, with a required alignment of exactly 1.
    • \n
    • length needs to be less than or equal to capacity.
    • \n
    • capacity needs to be the correct value.
    • \n
    • The first length bytes at buf need to be valid UTF-8.
    • \n
    \n

    Violating these may cause problems like corrupting the allocator’s\ninternal data structures. For example, it is normally not safe to\nbuild a String from a pointer to a C char array containing UTF-8\nunless you are certain that array was originally allocated by the\nRust standard library’s allocator.

    \n

    The ownership of buf is effectively transferred to the\nString which may then deallocate, reallocate or change the\ncontents of memory pointed to by the pointer at will. Ensure\nthat nothing else uses the pointer after calling this\nfunction.

    \n
    §Examples
    \n
    use std::mem;\n\nunsafe {\n    let s = String::from(\"hello\");\n\n    // Prevent automatically dropping the String's data\n    let mut s = mem::ManuallyDrop::new(s);\n\n    let ptr = s.as_mut_ptr();\n    let len = s.len();\n    let capacity = s.capacity();\n\n    let s = String::from_raw_parts(ptr, len, capacity);\n\n    assert_eq!(String::from(\"hello\"), s);\n}
    \n
    1.0.0 · source

    pub unsafe fn from_utf8_unchecked(bytes: Vec<u8>) -> String

    Converts a vector of bytes to a String without checking that the\nstring contains valid UTF-8.

    \n

    See the safe version, from_utf8, for more details.

    \n
    §Safety
    \n

    This function is unsafe because it does not check that the bytes passed\nto it are valid UTF-8. If this constraint is violated, it may cause\nmemory unsafety issues with future users of the String, as the rest of\nthe standard library assumes that Strings are valid UTF-8.

    \n
    §Examples
    \n
    // some bytes, in a vector\nlet sparkle_heart = vec![240, 159, 146, 150];\n\nlet sparkle_heart = unsafe {\n    String::from_utf8_unchecked(sparkle_heart)\n};\n\nassert_eq!(\"💖\", sparkle_heart);
    \n
    1.0.0 · source

    pub fn into_bytes(self) -> Vec<u8>

    Converts a String into a byte vector.

    \n

    This consumes the String, so we do not need to copy its contents.

    \n
    §Examples
    \n
    let s = String::from(\"hello\");\nlet bytes = s.into_bytes();\n\nassert_eq!(&[104, 101, 108, 108, 111][..], &bytes[..]);
    \n
    1.7.0 · source

    pub fn as_str(&self) -> &str

    Extracts a string slice containing the entire String.

    \n
    §Examples
    \n
    let s = String::from(\"foo\");\n\nassert_eq!(\"foo\", s.as_str());
    \n
    1.7.0 · source

    pub fn as_mut_str(&mut self) -> &mut str

    Converts a String into a mutable string slice.

    \n
    §Examples
    \n
    let mut s = String::from(\"foobar\");\nlet s_mut_str = s.as_mut_str();\n\ns_mut_str.make_ascii_uppercase();\n\nassert_eq!(\"FOOBAR\", s_mut_str);
    \n
    1.0.0 · source

    pub fn push_str(&mut self, string: &str)

    Appends a given string slice onto the end of this String.

    \n
    §Examples
    \n
    let mut s = String::from(\"foo\");\n\ns.push_str(\"bar\");\n\nassert_eq!(\"foobar\", s);
    \n
    source

    pub fn extend_from_within<R>(&mut self, src: R)
    where\n R: RangeBounds<usize>,

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

    Copies elements from src range to the end of the string.

    \n
    §Panics
    \n

    Panics if the starting point or end point do not lie on a char\nboundary, or if they’re out of bounds.

    \n
    §Examples
    \n
    #![feature(string_extend_from_within)]\nlet mut string = String::from(\"abcde\");\n\nstring.extend_from_within(2..);\nassert_eq!(string, \"abcdecde\");\n\nstring.extend_from_within(..2);\nassert_eq!(string, \"abcdecdeab\");\n\nstring.extend_from_within(4..8);\nassert_eq!(string, \"abcdecdeabecde\");
    \n
    1.0.0 · source

    pub fn capacity(&self) -> usize

    Returns this String’s capacity, in bytes.

    \n
    §Examples
    \n
    let s = String::with_capacity(10);\n\nassert!(s.capacity() >= 10);
    \n
    1.0.0 · source

    pub fn reserve(&mut self, additional: usize)

    Reserves capacity for at least additional bytes more than the\ncurrent length. The allocator may reserve more space to speculatively\navoid frequent allocations. 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 capacity overflows usize.

    \n
    §Examples
    \n

    Basic usage:

    \n\n
    let mut s = String::new();\n\ns.reserve(10);\n\nassert!(s.capacity() >= 10);
    \n

    This might not actually increase the capacity:

    \n\n
    let mut s = String::with_capacity(10);\ns.push('a');\ns.push('b');\n\n// s now has a length of 2 and a capacity of at least 10\nlet capacity = s.capacity();\nassert_eq!(2, s.len());\nassert!(capacity >= 10);\n\n// Since we already have at least an extra 8 capacity, calling this...\ns.reserve(8);\n\n// ... doesn't actually increase.\nassert_eq!(capacity, s.capacity());
    \n
    1.0.0 · source

    pub fn reserve_exact(&mut self, additional: usize)

    Reserves the minimum capacity for at least additional bytes more than\nthe current length. Unlike reserve, this will not\ndeliberately over-allocate to speculatively avoid frequent allocations.\nAfter calling reserve_exact, capacity will be greater than or equal to\nself.len() + additional. Does nothing if the capacity is already\nsufficient.

    \n
    §Panics
    \n

    Panics if the new capacity overflows usize.

    \n
    §Examples
    \n

    Basic usage:

    \n\n
    let mut s = String::new();\n\ns.reserve_exact(10);\n\nassert!(s.capacity() >= 10);
    \n

    This might not actually increase the capacity:

    \n\n
    let mut s = String::with_capacity(10);\ns.push('a');\ns.push('b');\n\n// s now has a length of 2 and a capacity of at least 10\nlet capacity = s.capacity();\nassert_eq!(2, s.len());\nassert!(capacity >= 10);\n\n// Since we already have at least an extra 8 capacity, calling this...\ns.reserve_exact(8);\n\n// ... doesn't actually increase.\nassert_eq!(capacity, s.capacity());
    \n
    1.57.0 · source

    pub fn try_reserve(&mut self, additional: usize) -> Result<(), TryReserveError>

    Tries to reserve capacity for at least additional bytes more than the\ncurrent length. The allocator may reserve more space to speculatively\navoid frequent allocations. After calling try_reserve, capacity will be\ngreater than or equal to self.len() + additional if it returns\nOk(()). Does nothing if capacity is already sufficient. This method\npreserves the contents even if an error occurs.

    \n
    §Errors
    \n

    If the capacity overflows, or the allocator reports a failure, then an error\nis returned.

    \n
    §Examples
    \n
    use std::collections::TryReserveError;\n\nfn process_data(data: &str) -> Result<String, TryReserveError> {\n    let mut output = String::new();\n\n    // Pre-reserve the memory, exiting if we can't\n    output.try_reserve(data.len())?;\n\n    // Now we know this can't OOM in the middle of our complex work\n    output.push_str(data);\n\n    Ok(output)\n}
    \n
    1.57.0 · source

    pub fn try_reserve_exact(\n &mut self,\n additional: usize\n) -> Result<(), TryReserveError>

    Tries to reserve the minimum capacity for at least additional bytes\nmore than the current length. Unlike try_reserve, this will not\ndeliberately over-allocate to speculatively avoid frequent allocations.\nAfter calling try_reserve_exact, capacity will be greater than or\nequal to self.len() + additional if it returns Ok(()).\nDoes nothing if the capacity is already sufficient.

    \n

    Note that the allocator may give the collection more space than it\nrequests. Therefore, capacity can not be relied upon to be precisely\nminimal. Prefer try_reserve if future insertions are expected.

    \n
    §Errors
    \n

    If the capacity overflows, or the allocator reports a failure, then an error\nis returned.

    \n
    §Examples
    \n
    use std::collections::TryReserveError;\n\nfn process_data(data: &str) -> Result<String, TryReserveError> {\n    let mut output = String::new();\n\n    // Pre-reserve the memory, exiting if we can't\n    output.try_reserve_exact(data.len())?;\n\n    // Now we know this can't OOM in the middle of our complex work\n    output.push_str(data);\n\n    Ok(output)\n}
    \n
    1.0.0 · source

    pub fn shrink_to_fit(&mut self)

    Shrinks the capacity of this String to match its length.

    \n
    §Examples
    \n
    let mut s = String::from(\"foo\");\n\ns.reserve(100);\nassert!(s.capacity() >= 100);\n\ns.shrink_to_fit();\nassert_eq!(3, s.capacity());
    \n
    1.56.0 · source

    pub fn shrink_to(&mut self, min_capacity: usize)

    Shrinks the capacity of this String with a lower bound.

    \n

    The capacity will remain at least as large as both the length\nand the supplied value.

    \n

    If the current capacity is less than the lower limit, this is a no-op.

    \n
    §Examples
    \n
    let mut s = String::from(\"foo\");\n\ns.reserve(100);\nassert!(s.capacity() >= 100);\n\ns.shrink_to(10);\nassert!(s.capacity() >= 10);\ns.shrink_to(0);\nassert!(s.capacity() >= 3);
    \n
    1.0.0 · source

    pub fn push(&mut self, ch: char)

    Appends the given char to the end of this String.

    \n
    §Examples
    \n
    let mut s = String::from(\"abc\");\n\ns.push('1');\ns.push('2');\ns.push('3');\n\nassert_eq!(\"abc123\", s);
    \n
    1.0.0 · source

    pub fn as_bytes(&self) -> &[u8]

    Returns a byte slice of this String’s contents.

    \n

    The inverse of this method is from_utf8.

    \n
    §Examples
    \n
    let s = String::from(\"hello\");\n\nassert_eq!(&[104, 101, 108, 108, 111], s.as_bytes());
    \n
    1.0.0 · source

    pub fn truncate(&mut self, new_len: usize)

    Shortens this String to the specified length.

    \n

    If new_len is greater than or equal to the string’s current length, this has no\neffect.

    \n

    Note that this method has no effect on the allocated capacity\nof the string

    \n
    §Panics
    \n

    Panics if new_len does not lie on a char boundary.

    \n
    §Examples
    \n
    let mut s = String::from(\"hello\");\n\ns.truncate(2);\n\nassert_eq!(\"he\", s);
    \n
    1.0.0 · source

    pub fn pop(&mut self) -> Option<char>

    Removes the last character from the string buffer and returns it.

    \n

    Returns None if this String is empty.

    \n
    §Examples
    \n
    let mut s = String::from(\"abč\");\n\nassert_eq!(s.pop(), Some('č'));\nassert_eq!(s.pop(), Some('b'));\nassert_eq!(s.pop(), Some('a'));\n\nassert_eq!(s.pop(), None);
    \n
    1.0.0 · source

    pub fn remove(&mut self, idx: usize) -> char

    Removes a char from this String at a byte position and returns it.

    \n

    This is an O(n) operation, as it requires copying every element in the\nbuffer.

    \n
    §Panics
    \n

    Panics if idx is larger than or equal to the String’s length,\nor if it does not lie on a char boundary.

    \n
    §Examples
    \n
    let mut s = String::from(\"abç\");\n\nassert_eq!(s.remove(0), 'a');\nassert_eq!(s.remove(1), 'ç');\nassert_eq!(s.remove(0), 'b');
    \n
    source

    pub fn remove_matches<'a, P>(&'a mut self, pat: P)
    where\n P: for<'x> Pattern<'x>,

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

    Remove all matches of pattern pat in the String.

    \n
    §Examples
    \n
    #![feature(string_remove_matches)]\nlet mut s = String::from(\"Trees are not green, the sky is not blue.\");\ns.remove_matches(\"not \");\nassert_eq!(\"Trees are green, the sky is blue.\", s);
    \n

    Matches will be detected and removed iteratively, so in cases where\npatterns overlap, only the first pattern will be removed:

    \n\n
    #![feature(string_remove_matches)]\nlet mut s = String::from(\"banana\");\ns.remove_matches(\"ana\");\nassert_eq!(\"bna\", s);
    \n
    1.26.0 · source

    pub fn retain<F>(&mut self, f: F)
    where\n F: FnMut(char) -> bool,

    Retains only the characters specified by the predicate.

    \n

    In other words, remove all characters c such that f(c) returns false.\nThis method operates in place, visiting each character exactly once in the\noriginal order, and preserves the order of the retained characters.

    \n
    §Examples
    \n
    let mut s = String::from(\"f_o_ob_ar\");\n\ns.retain(|c| c != '_');\n\nassert_eq!(s, \"foobar\");
    \n

    Because the elements are visited exactly once in the original order,\nexternal state may be used to decide which elements to keep.

    \n\n
    let mut s = String::from(\"abcde\");\nlet keep = [false, true, true, false, true];\nlet mut iter = keep.iter();\ns.retain(|_| *iter.next().unwrap());\nassert_eq!(s, \"bce\");
    \n
    1.0.0 · source

    pub fn insert(&mut self, idx: usize, ch: char)

    Inserts a character into this String at a byte position.

    \n

    This is an O(n) operation as it requires copying every element in the\nbuffer.

    \n
    §Panics
    \n

    Panics if idx is larger than the String’s length, or if it does not\nlie on a char boundary.

    \n
    §Examples
    \n
    let mut s = String::with_capacity(3);\n\ns.insert(0, 'f');\ns.insert(1, 'o');\ns.insert(2, 'o');\n\nassert_eq!(\"foo\", s);
    \n
    1.16.0 · source

    pub fn insert_str(&mut self, idx: usize, string: &str)

    Inserts a string slice into this String at a byte position.

    \n

    This is an O(n) operation as it requires copying every element in the\nbuffer.

    \n
    §Panics
    \n

    Panics if idx is larger than the String’s length, or if it does not\nlie on a char boundary.

    \n
    §Examples
    \n
    let mut s = String::from(\"bar\");\n\ns.insert_str(0, \"foo\");\n\nassert_eq!(\"foobar\", s);
    \n
    1.0.0 · source

    pub unsafe fn as_mut_vec(&mut self) -> &mut Vec<u8>

    Returns a mutable reference to the contents of this String.

    \n
    §Safety
    \n

    This function is unsafe because the returned &mut Vec allows writing\nbytes which are not valid UTF-8. If this constraint is violated, using\nthe original String after dropping the &mut Vec may violate memory\nsafety, as the rest of the standard library assumes that Strings are\nvalid UTF-8.

    \n
    §Examples
    \n
    let mut s = String::from(\"hello\");\n\nunsafe {\n    let vec = s.as_mut_vec();\n    assert_eq!(&[104, 101, 108, 108, 111][..], &vec[..]);\n\n    vec.reverse();\n}\nassert_eq!(s, \"olleh\");
    \n
    1.0.0 · source

    pub fn len(&self) -> usize

    Returns the length of this String, in bytes, not chars or\ngraphemes. In other words, it might not be what a human considers the\nlength of the string.

    \n
    §Examples
    \n
    let a = String::from(\"foo\");\nassert_eq!(a.len(), 3);\n\nlet fancy_f = String::from(\"ƒoo\");\nassert_eq!(fancy_f.len(), 4);\nassert_eq!(fancy_f.chars().count(), 3);
    \n
    1.0.0 · source

    pub fn is_empty(&self) -> bool

    Returns true if this String has a length of zero, and false otherwise.

    \n
    §Examples
    \n
    let mut v = String::new();\nassert!(v.is_empty());\n\nv.push('a');\nassert!(!v.is_empty());
    \n
    1.16.0 · source

    pub fn split_off(&mut self, at: usize) -> String

    Splits the string into two at the given byte index.

    \n

    Returns a newly allocated String. self contains bytes [0, at), and\nthe returned String contains bytes [at, len). at must be on the\nboundary of a UTF-8 code point.

    \n

    Note that the capacity of self does not change.

    \n
    §Panics
    \n

    Panics if at is not on a UTF-8 code point boundary, or if it is beyond the last\ncode point of the string.

    \n
    §Examples
    \n
    let mut hello = String::from(\"Hello, World!\");\nlet world = hello.split_off(7);\nassert_eq!(hello, \"Hello, \");\nassert_eq!(world, \"World!\");
    \n
    1.0.0 · source

    pub fn clear(&mut self)

    Truncates this String, removing all contents.

    \n

    While this means the String will have a length of zero, it does not\ntouch its capacity.

    \n
    §Examples
    \n
    let mut s = String::from(\"foo\");\n\ns.clear();\n\nassert!(s.is_empty());\nassert_eq!(0, s.len());\nassert_eq!(3, s.capacity());
    \n
    1.6.0 · source

    pub fn drain<R>(&mut self, range: R) -> Drain<'_>
    where\n R: RangeBounds<usize>,

    Removes the specified range from the string in bulk, returning all\nremoved characters as an iterator.

    \n

    The returned iterator keeps a mutable borrow on the string to optimize\nits implementation.

    \n
    §Panics
    \n

    Panics if the starting point or end point do not lie on a char\nboundary, or if they’re out of bounds.

    \n
    §Leaking
    \n

    If the returned iterator goes out of scope without being dropped (due to\ncore::mem::forget, for example), the string may still contain a copy\nof any drained characters, or may have lost characters arbitrarily,\nincluding characters outside the range.

    \n
    §Examples
    \n
    let mut s = String::from(\"α is alpha, β is beta\");\nlet beta_offset = s.find('β').unwrap_or(s.len());\n\n// Remove the range up until the β from the string\nlet t: String = s.drain(..beta_offset).collect();\nassert_eq!(t, \"α is alpha, \");\nassert_eq!(s, \"β is beta\");\n\n// A full range clears the string, like `clear()` does\ns.drain(..);\nassert_eq!(s, \"\");
    \n
    1.27.0 · source

    pub fn replace_range<R>(&mut self, range: R, replace_with: &str)
    where\n R: RangeBounds<usize>,

    Removes the specified range in the string,\nand replaces it with the given string.\nThe given string doesn’t need to be the same length as the range.

    \n
    §Panics
    \n

    Panics if the starting point or end point do not lie on a char\nboundary, or if they’re out of bounds.

    \n
    §Examples
    \n
    let mut s = String::from(\"α is alpha, β is beta\");\nlet beta_offset = s.find('β').unwrap_or(s.len());\n\n// Replace the range up until the β from the string\ns.replace_range(..beta_offset, \"Α is capital alpha; \");\nassert_eq!(s, \"Α is capital alpha; β is beta\");
    \n
    1.4.0 · source

    pub fn into_boxed_str(self) -> Box<str>

    Converts this String into a Box<str>.

    \n

    Before doing the conversion, this method discards excess capacity like shrink_to_fit.\nNote that this call may reallocate and copy the bytes of the string.

    \n
    §Examples
    \n
    let s = String::from(\"hello\");\n\nlet b = s.into_boxed_str();
    \n
    1.72.0 · source

    pub fn leak<'a>(self) -> &'a mut str

    Consumes and leaks the String, returning a mutable reference to the contents,\n&'a mut str.

    \n

    The caller has free choice over the returned lifetime, including 'static. Indeed,\nthis function is ideally used for data that lives for the remainder of the program’s life,\nas dropping the returned reference will cause a memory leak.

    \n

    It does not reallocate or shrink the String, so the leaked allocation may include unused\ncapacity that is not part of the returned slice. If you want to discard excess capacity,\ncall into_boxed_str, and then Box::leak instead. However, keep in mind that\ntrimming the capacity may result in a reallocation and copy.

    \n
    §Examples
    \n
    let x = String::from(\"bucket\");\nlet static_ref: &'static mut str = x.leak();\nassert_eq!(static_ref, \"bucket\");
    \n
    ",0,"minion_rs::ast::VarName"],["
    1.16.0 · source§

    impl ToSocketAddrs for String

    §

    type Iter = IntoIter<SocketAddr>

    Returned iterator over socket addresses which this type may correspond\nto.
    source§

    fn to_socket_addrs(&self) -> Result<IntoIter<SocketAddr>, Error>

    Converts this object to an iterator of resolved SocketAddrs. Read more
    ","ToSocketAddrs","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl Write for String

    source§

    fn write_str(&mut self, s: &str) -> Result<(), Error>

    Writes a string slice into this writer, returning whether the write\nsucceeded. Read more
    source§

    fn write_char(&mut self, c: char) -> Result<(), Error>

    Writes a char into this writer, returning whether the write succeeded. Read more
    1.0.0 · source§

    fn write_fmt(&mut self, args: Arguments<'_>) -> Result<(), Error>

    Glue for usage of the write! macro with implementors of this trait. Read more
    ","Write","minion_rs::ast::VarName"],["
    source§

    impl DerefPure for String

    ","DerefPure","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl Eq for String

    ","Eq","minion_rs::ast::VarName"],["
    1.0.0 · source§

    impl StructuralPartialEq for String

    ","StructuralPartialEq","minion_rs::ast::VarName"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/docs/type.impl/core/result/enum.Result.js b/docs/type.impl/core/result/enum.Result.js index 97f1d6373e..1a4592a623 100644 --- a/docs/type.impl/core/result/enum.Result.js +++ b/docs/type.impl/core/result/enum.Result.js @@ -1,4 +1,4 @@ (function() {var type_impls = { -"conjure_core":[["
    §

    impl<A, B> Arbitrary for Result<A, B>
    where\n A: Arbitrary,\n B: Arbitrary,

    §

    type Parameters = (Probability, <A as Arbitrary>::Parameters, <B as Arbitrary>::Parameters)

    The type of parameters that arbitrary_with accepts for configuration\nof the generated Strategy. Parameters must implement Default.
    §

    type Strategy = MaybeOk<<A as Arbitrary>::Strategy, <B as Arbitrary>::Strategy>

    The type of Strategy used to generate values of type Self.
    §

    fn arbitrary_with(\n args: <Result<A, B> as Arbitrary>::Parameters\n) -> <Result<A, B> as Arbitrary>::Strategy

    Generates a Strategy for producing arbitrary values of type the\nimplementing type (Self). The strategy is passed the arguments given\nin args. Read more
    §

    fn arbitrary() -> Self::Strategy

    Generates a Strategy for producing arbitrary values\nof type the implementing type (Self). Read more
    ","Arbitrary","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    §

    impl<A> Arbitrary for Result<Infallible, A>
    where\n A: Arbitrary,

    §

    type Parameters = <A as Arbitrary>::Parameters

    The type of parameters that arbitrary_with accepts for configuration\nof the generated Strategy. Parameters must implement Default.
    §

    type Strategy = Map<<A as Arbitrary>::Strategy, fn(_: A) -> Result<Infallible, A>>

    The type of Strategy used to generate values of type Self.
    §

    fn arbitrary_with(\n args: <Result<Infallible, A> as Arbitrary>::Parameters\n) -> <Result<Infallible, A> as Arbitrary>::Strategy

    Generates a Strategy for producing arbitrary values of type the\nimplementing type (Self). The strategy is passed the arguments given\nin args. Read more
    §

    fn arbitrary() -> Self::Strategy

    Generates a Strategy for producing arbitrary values\nof type the implementing type (Self). Read more
    ","Arbitrary","conjure_core::error::Result"],["
    §

    impl<A, E> ArbitraryF1<A> for Result<A, E>
    where\n A: Debug,\n E: Arbitrary,\n <E as Arbitrary>::Strategy: 'static,

    §

    type Parameters = (Probability, <E as Arbitrary>::Parameters)

    The type of parameters that lift1_with accepts for\nconfiguration of the lifted and generated Strategy. Parameters\nmust implement Default.
    §

    fn lift1_with<AS>(\n base: AS,\n args: <Result<A, E> as ArbitraryF1<A>>::Parameters\n) -> BoxedStrategy<Result<A, E>>
    where\n AS: Strategy<Value = A> + 'static,

    Lifts a given Strategy to a new Strategy for the (presumably)\nbigger type. This is useful for lifting a Strategy for SomeType\nto a container such as Vec of SomeType. The composite strategy is\npassed the arguments given in args. Read more
    §

    fn lift1<AS>(base: AS) -> BoxedStrategy<Self>
    where\n AS: Strategy<Value = A> + 'static,

    Lifts a given Strategy to a new Strategy for the (presumably)\nbigger type. This is useful for lifting a Strategy for SomeType\nto a container such as Vec<SomeType>. Read more
    ","ArbitraryF1","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    §

    impl<A, B> ArbitraryF2<A, B> for Result<A, B>
    where\n A: Debug,\n B: Debug,

    §

    type Parameters = Probability

    The type of parameters that lift2_with accepts for\nconfiguration of the lifted and generated Strategy. Parameters\nmust implement Default.
    §

    fn lift2_with<AS, BS>(\n fst: AS,\n snd: BS,\n args: <Result<A, B> as ArbitraryF2<A, B>>::Parameters\n) -> BoxedStrategy<Result<A, B>>
    where\n AS: Strategy<Value = A> + 'static,\n BS: Strategy<Value = B> + 'static,

    Lifts two given strategies to a new Strategy for the (presumably)\nbigger type. This is useful for lifting a Strategy for Type1\nand one for Type2 to a container such as HashMap<Type1, Type2>.\nThe composite strategy is passed the arguments given in args. Read more
    §

    fn lift2<AS, BS>(fst: AS, snd: BS) -> BoxedStrategy<Self>
    where\n AS: Strategy<Value = A> + 'static,\n BS: Strategy<Value = B> + 'static,

    Lifts two given strategies to a new Strategy for the (presumably)\nbigger type. This is useful for lifting a Strategy for Type1\nand one for Type2 to a container such as HashMap<Type1, Type2>. Read more
    ","ArbitraryF2","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> Clone for Result<T, E>
    where\n T: Clone,\n E: Clone,

    source§

    fn clone(&self) -> Result<T, E>

    Returns a copy of the value. Read more
    source§

    fn clone_from(&mut self, source: &Result<T, E>)

    Performs copy-assignment from source. Read more
    ","Clone","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    source§

    impl<T, E> Context<T, E> for Result<T, E>
    where\n E: StdError + Send + Sync + 'static,

    source§

    fn context<C>(self, context: C) -> Result<T, Error>
    where\n C: Display + Send + Sync + 'static,

    Wrap the error value with additional context.
    source§

    fn with_context<C, F>(self, context: F) -> Result<T, Error>
    where\n C: Display + Send + Sync + 'static,\n F: FnOnce() -> C,

    Wrap the error value with additional context that is evaluated lazily\nonly once an error does occur.
    ","Context","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> Debug for Result<T, E>
    where\n T: Debug,\n E: Debug,

    source§

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

    Formats the value using the given formatter. Read more
    ","Debug","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    source§

    impl<'de, T, E> Deserialize<'de> for Result<T, E>
    where\n T: Deserialize<'de>,\n E: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    source§

    impl<'de, T, TAs, E, EAs> DeserializeAs<'de, Result<T, E>> for Result<TAs, EAs>
    where\n TAs: DeserializeAs<'de, T>,\n EAs: DeserializeAs<'de, E>,

    source§

    fn deserialize_as<D>(\n deserializer: D\n) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Result>","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    1.0.0 · source§

    impl<A, E, V> FromIterator<Result<A, E>> for Result<V, E>
    where\n V: FromIterator<A>,

    source§

    fn from_iter<I>(iter: I) -> Result<V, E>
    where\n I: IntoIterator<Item = Result<A, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err occur, a\ncontainer with the values of each Result is returned.

    \n

    Here is an example which increments every integer in a vector,\nchecking for overflow:

    \n\n
    let v = vec![1, 2];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_add(1).ok_or(\"Overflow!\")\n).collect();\nassert_eq!(res, Ok(vec![2, 3]));
    \n

    Here is another example that tries to subtract one from another list\nof integers, this time checking for underflow:

    \n\n
    let v = vec![1, 2, 0];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_sub(1).ok_or(\"Underflow!\")\n).collect();\nassert_eq!(res, Err(\"Underflow!\"));
    \n

    Here is a variation on the previous example, showing that no\nfurther elements are taken from iter after the first Err.

    \n\n
    let v = vec![3, 2, 1, 10];\nlet mut shared = 0;\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32| {\n    shared += x;\n    x.checked_sub(2).ok_or(\"Underflow!\")\n}).collect();\nassert_eq!(res, Err(\"Underflow!\"));\nassert_eq!(shared, 6);
    \n

    Since the third element caused an underflow, no further elements were taken,\nso the final value of shared is 6 (= 3 + 2 + 1), not 16.

    \n
    ","FromIterator>","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    source§

    impl<T, E, F> FromResidual<Result<Infallible, E>> for Result<T, F>
    where\n F: From<E>,

    source§

    fn from_residual(residual: Result<Infallible, E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    source§

    impl<T, E, F> FromResidual<Yeet<E>> for Result<T, F>
    where\n F: From<E>,

    source§

    fn from_residual(_: Yeet<E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> Hash for Result<T, E>
    where\n T: Hash,\n E: Hash,

    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","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> IntoIterator for Result<T, E>

    source§

    fn into_iter(self) -> IntoIter<T>

    Returns a consuming iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(5);\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, [5]);\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, []);
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T>

    Which kind of iterator are we turning this into?
    ","IntoIterator","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    §

    impl<T, E> JsonSchema for Result<T, E>
    where\n T: JsonSchema,\n E: JsonSchema,

    §

    fn schema_name() -> String

    The name of the generated JSON Schema. Read more
    §

    fn schema_id() -> Cow<'static, str>

    Returns a string that uniquely identifies the schema produced by this type. Read more
    §

    fn json_schema(gen: &mut SchemaGenerator) -> Schema

    Generates a JSON Schema for this type. Read more
    §

    fn is_referenceable() -> bool

    Whether JSON Schemas generated for this type should be re-used where possible using the $ref keyword. Read more
    ","JsonSchema","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> Ord for Result<T, E>
    where\n T: Ord,\n E: Ord,

    source§

    fn cmp(&self, other: &Result<T, E>) -> Ordering

    This method returns an Ordering between self and other. Read more
    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","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> PartialEq for Result<T, E>
    where\n T: PartialEq,\n E: PartialEq,

    source§

    fn eq(&self, other: &Result<T, E>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

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

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> PartialOrd for Result<T, E>
    where\n T: PartialOrd,\n E: PartialOrd,

    source§

    fn partial_cmp(&self, other: &Result<T, E>) -> 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

    This method 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

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    1.0.0 · source§

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

    This method 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

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    ","PartialOrd","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    1.16.0 · source§

    impl<T, U, E> Product<Result<U, E>> for Result<T, E>
    where\n T: Product<U>,

    source§

    fn product<I>(iter: I) -> Result<T, E>
    where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the product of all elements is returned.

    \n
    §Examples
    \n

    This multiplies each number in a vector of strings,\nif a string could not be parsed the operation returns Err:

    \n\n
    let nums = vec![\"5\", \"10\", \"1\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert_eq!(total, Ok(100));\nlet nums = vec![\"5\", \"10\", \"one\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert!(total.is_err());
    \n
    ","Product>","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    source§

    impl<T, E> Residual<T> for Result<Infallible, E>

    §

    type TryType = Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2_residual)
    The “return” type of this meta-function.
    ","Residual","conjure_core::error::Result"],["
    source§

    impl<T, E> Result<&T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>
    where\n T: Copy,

    Maps a Result<&T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    §Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>
    where\n T: Clone,

    Maps a Result<&T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    §Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"conjure_core::error::Result"],["
    source§

    impl<T, E> Result<&mut T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>
    where\n T: Copy,

    Maps a Result<&mut T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    §Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>
    where\n T: Clone,

    Maps a Result<&mut T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    §Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"conjure_core::error::Result"],["
    source§

    impl<T, E> Result<Option<T>, E>

    1.33.0 (const: unstable) · source

    pub fn transpose(self) -> Option<Result<T, E>>

    Transposes a Result of an Option into an Option of a Result.

    \n

    Ok(None) will be mapped to None.\nOk(Some(_)) and Err(_) will be mapped to Some(Ok(_)) and Some(Err(_)).

    \n
    §Examples
    \n
    #[derive(Debug, Eq, PartialEq)]\nstruct SomeErr;\n\nlet x: Result<Option<i32>, SomeErr> = Ok(Some(5));\nlet y: Option<Result<i32, SomeErr>> = Some(Ok(5));\nassert_eq!(x.transpose(), y);
    \n
    ",0,"conjure_core::error::Result"],["
    source§

    impl<T, E> Result<Result<T, E>, E>

    source

    pub fn flatten(self) -> Result<T, E>

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

    Converts from Result<Result<T, E>, E> to Result<T, E>

    \n
    §Examples
    \n
    #![feature(result_flattening)]\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Ok(\"hello\"));\nassert_eq!(Ok(\"hello\"), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Err(6));\nassert_eq!(Err(6), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Err(6);\nassert_eq!(Err(6), x.flatten());
    \n

    Flattening only removes one level of nesting at a time:

    \n\n
    #![feature(result_flattening)]\nlet x: Result<Result<Result<&'static str, u32>, u32>, u32> = Ok(Ok(Ok(\"hello\")));\nassert_eq!(Ok(Ok(\"hello\")), x.flatten());\nassert_eq!(Ok(\"hello\"), x.flatten().flatten());
    \n
    ",0,"conjure_core::error::Result"],["
    source§

    impl<T, E> Result<T, E>

    1.0.0 (const: 1.48.0) · source

    pub const fn is_ok(&self) -> bool

    Returns true if the result is Ok.

    \n
    §Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_ok(), true);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_ok(), false);
    \n
    1.70.0 · source

    pub fn is_ok_and(self, f: impl FnOnce(T) -> bool) -> bool

    Returns true if the result is Ok and the value inside of it matches a predicate.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.is_ok_and(|x| x > 1), true);\n\nlet x: Result<u32, &str> = Ok(0);\nassert_eq!(x.is_ok_and(|x| x > 1), false);\n\nlet x: Result<u32, &str> = Err(\"hey\");\nassert_eq!(x.is_ok_and(|x| x > 1), false);
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn is_err(&self) -> bool

    Returns true if the result is Err.

    \n
    §Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_err(), false);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_err(), true);
    \n
    1.70.0 · source

    pub fn is_err_and(self, f: impl FnOnce(E) -> bool) -> bool

    Returns true if the result is Err and the value inside of it matches a predicate.

    \n
    §Examples
    \n
    use std::io::{Error, ErrorKind};\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::NotFound, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), true);\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::PermissionDenied, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);\n\nlet x: Result<u32, Error> = Ok(123);\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);
    \n
    1.0.0 · source

    pub fn ok(self) -> Option<T>

    Converts from Result<T, E> to Option<T>.

    \n

    Converts self into an Option<T>, consuming self,\nand discarding the error, if any.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.ok(), Some(2));\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.ok(), None);
    \n
    1.0.0 · source

    pub fn err(self) -> Option<E>

    Converts from Result<T, E> to Option<E>.

    \n

    Converts self into an Option<E>, consuming self,\nand discarding the success value, if any.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.err(), None);\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.err(), Some(\"Nothing here\"));
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn as_ref(&self) -> Result<&T, &E>

    Converts from &Result<T, E> to Result<&T, &E>.

    \n

    Produces a new Result, containing a reference\ninto the original, leaving the original in place.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.as_ref(), Ok(&2));\n\nlet x: Result<u32, &str> = Err(\"Error\");\nassert_eq!(x.as_ref(), Err(&\"Error\"));
    \n
    1.0.0 (const: unstable) · source

    pub fn as_mut(&mut self) -> Result<&mut T, &mut E>

    Converts from &mut Result<T, E> to Result<&mut T, &mut E>.

    \n
    §Examples
    \n
    fn mutate(r: &mut Result<i32, i32>) {\n    match r.as_mut() {\n        Ok(v) => *v = 42,\n        Err(e) => *e = 0,\n    }\n}\n\nlet mut x: Result<i32, i32> = Ok(2);\nmutate(&mut x);\nassert_eq!(x.unwrap(), 42);\n\nlet mut x: Result<i32, i32> = Err(13);\nmutate(&mut x);\nassert_eq!(x.unwrap_err(), 0);
    \n
    1.0.0 · source

    pub fn map<U, F>(self, op: F) -> Result<U, E>
    where\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to Result<U, E> by applying a function to a\ncontained Ok value, leaving an Err value untouched.

    \n

    This function can be used to compose the results of two functions.

    \n
    §Examples
    \n

    Print the numbers on each line of a string multiplied by two.

    \n\n
    let line = \"1\\n2\\n3\\n4\\n\";\n\nfor num in line.lines() {\n    match num.parse::<i32>().map(|i| i * 2) {\n        Ok(n) => println!(\"{n}\"),\n        Err(..) => {}\n    }\n}
    \n
    1.41.0 · source

    pub fn map_or<U, F>(self, default: U, f: F) -> U
    where\n F: FnOnce(T) -> U,

    Returns the provided default (if Err), or\napplies a function to the contained value (if Ok).

    \n

    Arguments passed to map_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use map_or_else,\nwhich is lazily evaluated.

    \n
    §Examples
    \n
    let x: Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or(42, |v| v.len()), 3);\n\nlet x: Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or(42, |v| v.len()), 42);
    \n
    1.41.0 · source

    pub fn map_or_else<U, D, F>(self, default: D, f: F) -> U
    where\n D: FnOnce(E) -> U,\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to U by applying fallback function default to\na contained Err value, or function f to a contained Ok value.

    \n

    This function can be used to unpack a successful result\nwhile handling an error.

    \n
    §Examples
    \n
    let k = 21;\n\nlet x : Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 3);\n\nlet x : Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 42);
    \n
    1.0.0 · source

    pub fn map_err<F, O>(self, op: O) -> Result<T, F>
    where\n O: FnOnce(E) -> F,

    Maps a Result<T, E> to Result<T, F> by applying a function to a\ncontained Err value, leaving an Ok value untouched.

    \n

    This function can be used to pass through a successful result while handling\nan error.

    \n
    §Examples
    \n
    fn stringify(x: u32) -> String { format!(\"error code: {x}\") }\n\nlet x: Result<u32, u32> = Ok(2);\nassert_eq!(x.map_err(stringify), Ok(2));\n\nlet x: Result<u32, u32> = Err(13);\nassert_eq!(x.map_err(stringify), Err(\"error code: 13\".to_string()));
    \n
    1.76.0 · source

    pub fn inspect<F>(self, f: F) -> Result<T, E>
    where\n F: FnOnce(&T),

    Calls a function with a reference to the contained value if Ok.

    \n

    Returns the original result.

    \n
    §Examples
    \n
    let x: u8 = \"4\"\n    .parse::<u8>()\n    .inspect(|x| println!(\"original: {x}\"))\n    .map(|x| x.pow(3))\n    .expect(\"failed to parse number\");
    \n
    1.76.0 · source

    pub fn inspect_err<F>(self, f: F) -> Result<T, E>
    where\n F: FnOnce(&E),

    Calls a function with a reference to the contained value if Err.

    \n

    Returns the original result.

    \n
    §Examples
    \n
    use std::{fs, io};\n\nfn read() -> io::Result<String> {\n    fs::read_to_string(\"address.txt\")\n        .inspect_err(|e| eprintln!(\"failed to read file: {e}\"))\n}
    \n
    1.47.0 · source

    pub fn as_deref(&self) -> Result<&<T as Deref>::Target, &E>
    where\n T: Deref,

    Converts from Result<T, E> (or &Result<T, E>) to Result<&<T as Deref>::Target, &E>.

    \n

    Coerces the Ok variant of the original Result via Deref\nand returns the new Result.

    \n
    §Examples
    \n
    let x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&str, &u32> = Ok(\"hello\");\nassert_eq!(x.as_deref(), y);\n\nlet x: Result<String, u32> = Err(42);\nlet y: Result<&str, &u32> = Err(&42);\nassert_eq!(x.as_deref(), y);
    \n
    1.47.0 · source

    pub fn as_deref_mut(&mut self) -> Result<&mut <T as Deref>::Target, &mut E>
    where\n T: DerefMut,

    Converts from Result<T, E> (or &mut Result<T, E>) to Result<&mut <T as DerefMut>::Target, &mut E>.

    \n

    Coerces the Ok variant of the original Result via DerefMut\nand returns the new Result.

    \n
    §Examples
    \n
    let mut s = \"HELLO\".to_string();\nlet mut x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&mut str, &mut u32> = Ok(&mut s);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);\n\nlet mut i = 42;\nlet mut x: Result<String, u32> = Err(42);\nlet y: Result<&mut str, &mut u32> = Err(&mut i);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);
    \n
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, T>

    Returns an iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(7);\nassert_eq!(x.iter().next(), Some(&7));\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter().next(), None);
    \n
    1.0.0 · source

    pub fn iter_mut(&mut self) -> IterMut<'_, T>

    Returns a mutable iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    §Examples
    \n
    let mut x: Result<u32, &str> = Ok(7);\nmatch x.iter_mut().next() {\n    Some(v) => *v = 40,\n    None => {},\n}\nassert_eq!(x, Ok(40));\n\nlet mut x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter_mut().next(), None);
    \n
    1.4.0 · source

    pub fn expect(self, msg: &str) -> T
    where\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    §Panics
    \n

    Panics if the value is an Err, with a panic message including the\npassed message, and the content of the Err.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nx.expect(\"Testing expect\"); // panics with `Testing expect: emergency failure`
    \n
    §Recommended Message Style
    \n

    We recommend that expect messages are used to describe the reason you\nexpect the Result should be Ok.

    \n\n
    let path = std::env::var(\"IMPORTANT_PATH\")\n    .expect(\"env variable `IMPORTANT_PATH` should be set by `wrapper_script.sh`\");
    \n

    Hint: If you’re having trouble remembering how to phrase expect\nerror messages remember to focus on the word “should” as in “env\nvariable should be set by blah” or “the given binary should be available\nand executable by the current user”.

    \n

    For more detail on expect message styles and the reasoning behind our recommendation please\nrefer to the section on “Common Message\nStyles” in the\nstd::error module docs.

    \n
    1.0.0 · source

    pub fn unwrap(self) -> T
    where\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    §Panics
    \n

    Panics if the value is an Err, with a panic message provided by the\nErr’s value.

    \n
    §Examples
    \n

    Basic usage:

    \n\n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.unwrap(), 2);
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nx.unwrap(); // panics with `emergency failure`
    \n
    1.16.0 · source

    pub fn unwrap_or_default(self) -> T
    where\n T: Default,

    Returns the contained Ok value or a default

    \n

    Consumes the self argument then, if Ok, returns the contained\nvalue, otherwise if Err, returns the default value for that\ntype.

    \n
    §Examples
    \n

    Converts a string to an integer, turning poorly-formed strings\ninto 0 (the default value for integers). parse converts\na string to any other type that implements FromStr, returning an\nErr on error.

    \n\n
    let good_year_from_input = \"1909\";\nlet bad_year_from_input = \"190blarg\";\nlet good_year = good_year_from_input.parse().unwrap_or_default();\nlet bad_year = bad_year_from_input.parse().unwrap_or_default();\n\nassert_eq!(1909, good_year);\nassert_eq!(0, bad_year);
    \n
    1.17.0 · source

    pub fn expect_err(self, msg: &str) -> E
    where\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    §Panics
    \n

    Panics if the value is an Ok, with a panic message including the\npassed message, and the content of the Ok.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(10);\nx.expect_err(\"Testing expect_err\"); // panics with `Testing expect_err: 10`
    \n
    1.0.0 · source

    pub fn unwrap_err(self) -> E
    where\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    §Panics
    \n

    Panics if the value is an Ok, with a custom panic message provided\nby the Ok’s value.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nx.unwrap_err(); // panics with `2`
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(x.unwrap_err(), \"emergency failure\");
    \n
    source

    pub fn into_ok(self) -> T
    where\n E: Into<!>,

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

    Returns the contained Ok value, but never panics.

    \n

    Unlike unwrap, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap as a maintainability safeguard that will fail\nto compile if the error type of the Result is later changed\nto an error that can actually occur.

    \n
    §Examples
    \n
    \nfn only_good_news() -> Result<String, !> {\n    Ok(\"this is fine\".into())\n}\n\nlet s: String = only_good_news().into_ok();\nprintln!(\"{s}\");
    \n
    source

    pub fn into_err(self) -> E
    where\n T: Into<!>,

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

    Returns the contained Err value, but never panics.

    \n

    Unlike unwrap_err, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap_err as a maintainability safeguard that will fail\nto compile if the ok type of the Result is later changed\nto a type that can actually occur.

    \n
    §Examples
    \n
    \nfn only_bad_news() -> Result<!, String> {\n    Err(\"Oops, it failed\".into())\n}\n\nlet error: String = only_bad_news().into_err();\nprintln!(\"{error}\");
    \n
    1.0.0 · source

    pub fn and<U>(self, res: Result<U, E>) -> Result<U, E>

    Returns res if the result is Ok, otherwise returns the Err value of self.

    \n

    Arguments passed to and are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use and_then, which is\nlazily evaluated.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<&str, &str> = Ok(\"foo\");\nassert_eq!(x.and(y), Err(\"early error\"));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"not a 2\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Ok(\"different result type\");\nassert_eq!(x.and(y), Ok(\"different result type\"));
    \n
    1.0.0 · source

    pub fn and_then<U, F>(self, op: F) -> Result<U, E>
    where\n F: FnOnce(T) -> Result<U, E>,

    Calls op if the result is Ok, otherwise returns the Err value of self.

    \n

    This function can be used for control flow based on Result values.

    \n
    §Examples
    \n
    fn sq_then_to_string(x: u32) -> Result<String, &'static str> {\n    x.checked_mul(x).map(|sq| sq.to_string()).ok_or(\"overflowed\")\n}\n\nassert_eq!(Ok(2).and_then(sq_then_to_string), Ok(4.to_string()));\nassert_eq!(Ok(1_000_000).and_then(sq_then_to_string), Err(\"overflowed\"));\nassert_eq!(Err(\"not a number\").and_then(sq_then_to_string), Err(\"not a number\"));
    \n

    Often used to chain fallible operations that may return Err.

    \n\n
    use std::{io::ErrorKind, path::Path};\n\n// Note: on Windows \"/\" maps to \"C:\\\"\nlet root_modified_time = Path::new(\"/\").metadata().and_then(|md| md.modified());\nassert!(root_modified_time.is_ok());\n\nlet should_fail = Path::new(\"/bad/path\").metadata().and_then(|md| md.modified());\nassert!(should_fail.is_err());\nassert_eq!(should_fail.unwrap_err().kind(), ErrorKind::NotFound);
    \n
    1.0.0 · source

    pub fn or<F>(self, res: Result<T, F>) -> Result<T, F>

    Returns res if the result is Err, otherwise returns the Ok value of self.

    \n

    Arguments passed to or are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use or_else, which is\nlazily evaluated.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<u32, &str> = Ok(2);\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Ok(100);\nassert_eq!(x.or(y), Ok(2));
    \n
    1.0.0 · source

    pub fn or_else<F, O>(self, op: O) -> Result<T, F>
    where\n O: FnOnce(E) -> Result<T, F>,

    Calls op if the result is Err, otherwise returns the Ok value of self.

    \n

    This function can be used for control flow based on result values.

    \n
    §Examples
    \n
    fn sq(x: u32) -> Result<u32, u32> { Ok(x * x) }\nfn err(x: u32) -> Result<u32, u32> { Err(x) }\n\nassert_eq!(Ok(2).or_else(sq).or_else(sq), Ok(2));\nassert_eq!(Ok(2).or_else(err).or_else(sq), Ok(2));\nassert_eq!(Err(3).or_else(sq).or_else(err), Ok(9));\nassert_eq!(Err(3).or_else(err).or_else(err), Err(3));
    \n
    1.0.0 · source

    pub fn unwrap_or(self, default: T) -> T

    Returns the contained Ok value or a provided default.

    \n

    Arguments passed to unwrap_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use unwrap_or_else,\nwhich is lazily evaluated.

    \n
    §Examples
    \n
    let default = 2;\nlet x: Result<u32, &str> = Ok(9);\nassert_eq!(x.unwrap_or(default), 9);\n\nlet x: Result<u32, &str> = Err(\"error\");\nassert_eq!(x.unwrap_or(default), default);
    \n
    1.0.0 · source

    pub fn unwrap_or_else<F>(self, op: F) -> T
    where\n F: FnOnce(E) -> T,

    Returns the contained Ok value or computes it from a closure.

    \n
    §Examples
    \n
    fn count(x: &str) -> usize { x.len() }\n\nassert_eq!(Ok(2).unwrap_or_else(count), 2);\nassert_eq!(Err(\"foo\").unwrap_or_else(count), 3);
    \n
    1.58.0 · source

    pub unsafe fn unwrap_unchecked(self) -> T

    Returns the contained Ok value, consuming the self value,\nwithout checking that the value is not an Err.

    \n
    §Safety
    \n

    Calling this method on an Err is undefined behavior.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(unsafe { x.unwrap_unchecked() }, 2);
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nunsafe { x.unwrap_unchecked(); } // Undefined behavior!
    \n
    1.58.0 · source

    pub unsafe fn unwrap_err_unchecked(self) -> E

    Returns the contained Err value, consuming the self value,\nwithout checking that the value is not an Ok.

    \n
    §Safety
    \n

    Calling this method on an Ok is undefined behavior.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nunsafe { x.unwrap_err_unchecked() }; // Undefined behavior!
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(unsafe { x.unwrap_err_unchecked() }, \"emergency failure\");
    \n
    ",0,"conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    §

    impl<T, E> ResultExt<T, E> for Result<T, E>

    §

    fn context<X>(self, x: X) -> Result<T, Context<X, E>>

    The method is use to add context information to current operation Read more
    ","ResultExt","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    source§

    impl<T, E> Serialize for Result<T, E>
    where\n T: Serialize,\n E: 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","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    source§

    impl<T, TAs, E, EAs> SerializeAs<Result<T, E>> for Result<TAs, EAs>
    where\n TAs: SerializeAs<T>,\n EAs: SerializeAs<E>,

    source§

    fn serialize_as<S>(\n source: &Result<T, E>,\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.
    ","SerializeAs>","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    1.16.0 · source§

    impl<T, U, E> Sum<Result<U, E>> for Result<T, E>
    where\n T: Sum<U>,

    source§

    fn sum<I>(iter: I) -> Result<T, E>
    where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the sum of all elements is returned.

    \n
    §Examples
    \n

    This sums up every integer in a vector, rejecting the sum if a negative\nelement is encountered:

    \n\n
    let f = |&x: &i32| if x < 0 { Err(\"Negative element found\") } else { Ok(x) };\nlet v = vec![1, 2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Ok(3));\nlet v = vec![1, -2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Err(\"Negative element found\"));
    \n
    ","Sum>","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    1.61.0 · source§

    impl<T, E> Termination for Result<T, E>
    where\n T: Termination,\n E: Debug,

    source§

    fn report(self) -> ExitCode

    Is called to get the representation of the value as status code.\nThis status code is returned to the operating system.
    ","Termination","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    source§

    impl<T, E> Try for Result<T, E>

    §

    type Output = T

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value produced by ? when not short-circuiting.
    §

    type Residual = Result<Infallible, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value passed to FromResidual::from_residual\nas part of ? when short-circuiting. Read more
    source§

    fn from_output(output: <Result<T, E> as Try>::Output) -> Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from its Output type. Read more
    source§

    fn branch(\n self\n) -> ControlFlow<<Result<T, E> as Try>::Residual, <Result<T, E> as Try>::Output>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Used in ? to decide whether the operator should produce a value\n(because this returned ControlFlow::Continue)\nor propagate a value back to the caller\n(because this returned ControlFlow::Break). Read more
    ","Try","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> Copy for Result<T, E>
    where\n T: Copy,\n E: Copy,

    ","Copy","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> Eq for Result<T, E>
    where\n T: Eq,\n E: Eq,

    ","Eq","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> StructuralPartialEq for Result<T, E>

    ","StructuralPartialEq","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"]], -"conjure_oxide":[["
    §

    impl<A, B> Arbitrary for Result<A, B>
    where\n A: Arbitrary,\n B: Arbitrary,

    §

    type Parameters = (Probability, <A as Arbitrary>::Parameters, <B as Arbitrary>::Parameters)

    The type of parameters that arbitrary_with accepts for configuration\nof the generated Strategy. Parameters must implement Default.
    §

    type Strategy = MaybeOk<<A as Arbitrary>::Strategy, <B as Arbitrary>::Strategy>

    The type of Strategy used to generate values of type Self.
    §

    fn arbitrary_with(\n args: <Result<A, B> as Arbitrary>::Parameters\n) -> <Result<A, B> as Arbitrary>::Strategy

    Generates a Strategy for producing arbitrary values of type the\nimplementing type (Self). The strategy is passed the arguments given\nin args. Read more
    §

    fn arbitrary() -> Self::Strategy

    Generates a Strategy for producing arbitrary values\nof type the implementing type (Self). Read more
    ","Arbitrary","conjure_oxide::ApplicationResult"],["
    §

    impl<A, E> ArbitraryF1<A> for Result<A, E>
    where\n A: Debug,\n E: Arbitrary,\n <E as Arbitrary>::Strategy: 'static,

    §

    type Parameters = (Probability, <E as Arbitrary>::Parameters)

    The type of parameters that lift1_with accepts for\nconfiguration of the lifted and generated Strategy. Parameters\nmust implement Default.
    §

    fn lift1_with<AS>(\n base: AS,\n args: <Result<A, E> as ArbitraryF1<A>>::Parameters\n) -> BoxedStrategy<Result<A, E>>
    where\n AS: Strategy<Value = A> + 'static,

    Lifts a given Strategy to a new Strategy for the (presumably)\nbigger type. This is useful for lifting a Strategy for SomeType\nto a container such as Vec of SomeType. The composite strategy is\npassed the arguments given in args. Read more
    §

    fn lift1<AS>(base: AS) -> BoxedStrategy<Self>
    where\n AS: Strategy<Value = A> + 'static,

    Lifts a given Strategy to a new Strategy for the (presumably)\nbigger type. This is useful for lifting a Strategy for SomeType\nto a container such as Vec<SomeType>. Read more
    ","ArbitraryF1","conjure_oxide::ApplicationResult"],["
    §

    impl<A, B> ArbitraryF2<A, B> for Result<A, B>
    where\n A: Debug,\n B: Debug,

    §

    type Parameters = Probability

    The type of parameters that lift2_with accepts for\nconfiguration of the lifted and generated Strategy. Parameters\nmust implement Default.
    §

    fn lift2_with<AS, BS>(\n fst: AS,\n snd: BS,\n args: <Result<A, B> as ArbitraryF2<A, B>>::Parameters\n) -> BoxedStrategy<Result<A, B>>
    where\n AS: Strategy<Value = A> + 'static,\n BS: Strategy<Value = B> + 'static,

    Lifts two given strategies to a new Strategy for the (presumably)\nbigger type. This is useful for lifting a Strategy for Type1\nand one for Type2 to a container such as HashMap<Type1, Type2>.\nThe composite strategy is passed the arguments given in args. Read more
    §

    fn lift2<AS, BS>(fst: AS, snd: BS) -> BoxedStrategy<Self>
    where\n AS: Strategy<Value = A> + 'static,\n BS: Strategy<Value = B> + 'static,

    Lifts two given strategies to a new Strategy for the (presumably)\nbigger type. This is useful for lifting a Strategy for Type1\nand one for Type2 to a container such as HashMap<Type1, Type2>. Read more
    ","ArbitraryF2","conjure_oxide::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> Clone for Result<T, E>
    where\n T: Clone,\n E: Clone,

    source§

    fn clone(&self) -> Result<T, E>

    Returns a copy of the value. Read more
    source§

    fn clone_from(&mut self, source: &Result<T, E>)

    Performs copy-assignment from source. Read more
    ","Clone","conjure_oxide::ApplicationResult"],["
    source§

    impl<T, E> Context<T, E> for Result<T, E>
    where\n E: StdError + Send + Sync + 'static,

    source§

    fn context<C>(self, context: C) -> Result<T, Error>
    where\n C: Display + Send + Sync + 'static,

    Wrap the error value with additional context.
    source§

    fn with_context<C, F>(self, context: F) -> Result<T, Error>
    where\n C: Display + Send + Sync + 'static,\n F: FnOnce() -> C,

    Wrap the error value with additional context that is evaluated lazily\nonly once an error does occur.
    ","Context","conjure_oxide::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> Debug for Result<T, E>
    where\n T: Debug,\n E: Debug,

    source§

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

    Formats the value using the given formatter. Read more
    ","Debug","conjure_oxide::ApplicationResult"],["
    source§

    impl<'de, T, E> Deserialize<'de> for Result<T, E>
    where\n T: Deserialize<'de>,\n E: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","conjure_oxide::ApplicationResult"],["
    source§

    impl<'de, T, TAs, E, EAs> DeserializeAs<'de, Result<T, E>> for Result<TAs, EAs>
    where\n TAs: DeserializeAs<'de, T>,\n EAs: DeserializeAs<'de, E>,

    source§

    fn deserialize_as<D>(\n deserializer: D\n) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Result>","conjure_oxide::ApplicationResult"],["
    1.0.0 · source§

    impl<A, E, V> FromIterator<Result<A, E>> for Result<V, E>
    where\n V: FromIterator<A>,

    source§

    fn from_iter<I>(iter: I) -> Result<V, E>
    where\n I: IntoIterator<Item = Result<A, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err occur, a\ncontainer with the values of each Result is returned.

    \n

    Here is an example which increments every integer in a vector,\nchecking for overflow:

    \n\n
    let v = vec![1, 2];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_add(1).ok_or(\"Overflow!\")\n).collect();\nassert_eq!(res, Ok(vec![2, 3]));
    \n

    Here is another example that tries to subtract one from another list\nof integers, this time checking for underflow:

    \n\n
    let v = vec![1, 2, 0];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_sub(1).ok_or(\"Underflow!\")\n).collect();\nassert_eq!(res, Err(\"Underflow!\"));
    \n

    Here is a variation on the previous example, showing that no\nfurther elements are taken from iter after the first Err.

    \n\n
    let v = vec![3, 2, 1, 10];\nlet mut shared = 0;\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32| {\n    shared += x;\n    x.checked_sub(2).ok_or(\"Underflow!\")\n}).collect();\nassert_eq!(res, Err(\"Underflow!\"));\nassert_eq!(shared, 6);
    \n

    Since the third element caused an underflow, no further elements were taken,\nso the final value of shared is 6 (= 3 + 2 + 1), not 16.

    \n
    ","FromIterator>","conjure_oxide::ApplicationResult"],["
    source§

    impl<T, E, F> FromResidual<Result<Infallible, E>> for Result<T, F>
    where\n F: From<E>,

    source§

    fn from_residual(residual: Result<Infallible, E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","conjure_oxide::ApplicationResult"],["
    source§

    impl<T, E, F> FromResidual<Yeet<E>> for Result<T, F>
    where\n F: From<E>,

    source§

    fn from_residual(_: Yeet<E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","conjure_oxide::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> Hash for Result<T, E>
    where\n T: Hash,\n E: Hash,

    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","conjure_oxide::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> IntoIterator for Result<T, E>

    source§

    fn into_iter(self) -> IntoIter<T>

    Returns a consuming iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(5);\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, [5]);\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, []);
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T>

    Which kind of iterator are we turning this into?
    ","IntoIterator","conjure_oxide::ApplicationResult"],["
    §

    impl<T, E> JsonSchema for Result<T, E>
    where\n T: JsonSchema,\n E: JsonSchema,

    §

    fn schema_name() -> String

    The name of the generated JSON Schema. Read more
    §

    fn schema_id() -> Cow<'static, str>

    Returns a string that uniquely identifies the schema produced by this type. Read more
    §

    fn json_schema(gen: &mut SchemaGenerator) -> Schema

    Generates a JSON Schema for this type. Read more
    §

    fn is_referenceable() -> bool

    Whether JSON Schemas generated for this type should be re-used where possible using the $ref keyword. Read more
    ","JsonSchema","conjure_oxide::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> Ord for Result<T, E>
    where\n T: Ord,\n E: Ord,

    source§

    fn cmp(&self, other: &Result<T, E>) -> Ordering

    This method returns an Ordering between self and other. Read more
    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","conjure_oxide::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> PartialEq for Result<T, E>
    where\n T: PartialEq,\n E: PartialEq,

    source§

    fn eq(&self, other: &Result<T, E>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

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

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","conjure_oxide::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> PartialOrd for Result<T, E>
    where\n T: PartialOrd,\n E: PartialOrd,

    source§

    fn partial_cmp(&self, other: &Result<T, E>) -> 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

    This method 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

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    1.0.0 · source§

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

    This method 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

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    ","PartialOrd","conjure_oxide::ApplicationResult"],["
    1.16.0 · source§

    impl<T, U, E> Product<Result<U, E>> for Result<T, E>
    where\n T: Product<U>,

    source§

    fn product<I>(iter: I) -> Result<T, E>
    where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the product of all elements is returned.

    \n
    §Examples
    \n

    This multiplies each number in a vector of strings,\nif a string could not be parsed the operation returns Err:

    \n\n
    let nums = vec![\"5\", \"10\", \"1\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert_eq!(total, Ok(100));\nlet nums = vec![\"5\", \"10\", \"one\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert!(total.is_err());
    \n
    ","Product>","conjure_oxide::ApplicationResult"],["
    source§

    impl<T, E> Result<T, E>

    1.0.0 (const: 1.48.0) · source

    pub const fn is_ok(&self) -> bool

    Returns true if the result is Ok.

    \n
    §Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_ok(), true);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_ok(), false);
    \n
    1.70.0 · source

    pub fn is_ok_and(self, f: impl FnOnce(T) -> bool) -> bool

    Returns true if the result is Ok and the value inside of it matches a predicate.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.is_ok_and(|x| x > 1), true);\n\nlet x: Result<u32, &str> = Ok(0);\nassert_eq!(x.is_ok_and(|x| x > 1), false);\n\nlet x: Result<u32, &str> = Err(\"hey\");\nassert_eq!(x.is_ok_and(|x| x > 1), false);
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn is_err(&self) -> bool

    Returns true if the result is Err.

    \n
    §Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_err(), false);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_err(), true);
    \n
    1.70.0 · source

    pub fn is_err_and(self, f: impl FnOnce(E) -> bool) -> bool

    Returns true if the result is Err and the value inside of it matches a predicate.

    \n
    §Examples
    \n
    use std::io::{Error, ErrorKind};\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::NotFound, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), true);\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::PermissionDenied, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);\n\nlet x: Result<u32, Error> = Ok(123);\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);
    \n
    1.0.0 · source

    pub fn ok(self) -> Option<T>

    Converts from Result<T, E> to Option<T>.

    \n

    Converts self into an Option<T>, consuming self,\nand discarding the error, if any.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.ok(), Some(2));\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.ok(), None);
    \n
    1.0.0 · source

    pub fn err(self) -> Option<E>

    Converts from Result<T, E> to Option<E>.

    \n

    Converts self into an Option<E>, consuming self,\nand discarding the success value, if any.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.err(), None);\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.err(), Some(\"Nothing here\"));
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn as_ref(&self) -> Result<&T, &E>

    Converts from &Result<T, E> to Result<&T, &E>.

    \n

    Produces a new Result, containing a reference\ninto the original, leaving the original in place.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.as_ref(), Ok(&2));\n\nlet x: Result<u32, &str> = Err(\"Error\");\nassert_eq!(x.as_ref(), Err(&\"Error\"));
    \n
    1.0.0 (const: unstable) · source

    pub fn as_mut(&mut self) -> Result<&mut T, &mut E>

    Converts from &mut Result<T, E> to Result<&mut T, &mut E>.

    \n
    §Examples
    \n
    fn mutate(r: &mut Result<i32, i32>) {\n    match r.as_mut() {\n        Ok(v) => *v = 42,\n        Err(e) => *e = 0,\n    }\n}\n\nlet mut x: Result<i32, i32> = Ok(2);\nmutate(&mut x);\nassert_eq!(x.unwrap(), 42);\n\nlet mut x: Result<i32, i32> = Err(13);\nmutate(&mut x);\nassert_eq!(x.unwrap_err(), 0);
    \n
    1.0.0 · source

    pub fn map<U, F>(self, op: F) -> Result<U, E>
    where\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to Result<U, E> by applying a function to a\ncontained Ok value, leaving an Err value untouched.

    \n

    This function can be used to compose the results of two functions.

    \n
    §Examples
    \n

    Print the numbers on each line of a string multiplied by two.

    \n\n
    let line = \"1\\n2\\n3\\n4\\n\";\n\nfor num in line.lines() {\n    match num.parse::<i32>().map(|i| i * 2) {\n        Ok(n) => println!(\"{n}\"),\n        Err(..) => {}\n    }\n}
    \n
    1.41.0 · source

    pub fn map_or<U, F>(self, default: U, f: F) -> U
    where\n F: FnOnce(T) -> U,

    Returns the provided default (if Err), or\napplies a function to the contained value (if Ok).

    \n

    Arguments passed to map_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use map_or_else,\nwhich is lazily evaluated.

    \n
    §Examples
    \n
    let x: Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or(42, |v| v.len()), 3);\n\nlet x: Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or(42, |v| v.len()), 42);
    \n
    1.41.0 · source

    pub fn map_or_else<U, D, F>(self, default: D, f: F) -> U
    where\n D: FnOnce(E) -> U,\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to U by applying fallback function default to\na contained Err value, or function f to a contained Ok value.

    \n

    This function can be used to unpack a successful result\nwhile handling an error.

    \n
    §Examples
    \n
    let k = 21;\n\nlet x : Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 3);\n\nlet x : Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 42);
    \n
    1.0.0 · source

    pub fn map_err<F, O>(self, op: O) -> Result<T, F>
    where\n O: FnOnce(E) -> F,

    Maps a Result<T, E> to Result<T, F> by applying a function to a\ncontained Err value, leaving an Ok value untouched.

    \n

    This function can be used to pass through a successful result while handling\nan error.

    \n
    §Examples
    \n
    fn stringify(x: u32) -> String { format!(\"error code: {x}\") }\n\nlet x: Result<u32, u32> = Ok(2);\nassert_eq!(x.map_err(stringify), Ok(2));\n\nlet x: Result<u32, u32> = Err(13);\nassert_eq!(x.map_err(stringify), Err(\"error code: 13\".to_string()));
    \n
    1.76.0 · source

    pub fn inspect<F>(self, f: F) -> Result<T, E>
    where\n F: FnOnce(&T),

    Calls a function with a reference to the contained value if Ok.

    \n

    Returns the original result.

    \n
    §Examples
    \n
    let x: u8 = \"4\"\n    .parse::<u8>()\n    .inspect(|x| println!(\"original: {x}\"))\n    .map(|x| x.pow(3))\n    .expect(\"failed to parse number\");
    \n
    1.76.0 · source

    pub fn inspect_err<F>(self, f: F) -> Result<T, E>
    where\n F: FnOnce(&E),

    Calls a function with a reference to the contained value if Err.

    \n

    Returns the original result.

    \n
    §Examples
    \n
    use std::{fs, io};\n\nfn read() -> io::Result<String> {\n    fs::read_to_string(\"address.txt\")\n        .inspect_err(|e| eprintln!(\"failed to read file: {e}\"))\n}
    \n
    1.47.0 · source

    pub fn as_deref(&self) -> Result<&<T as Deref>::Target, &E>
    where\n T: Deref,

    Converts from Result<T, E> (or &Result<T, E>) to Result<&<T as Deref>::Target, &E>.

    \n

    Coerces the Ok variant of the original Result via Deref\nand returns the new Result.

    \n
    §Examples
    \n
    let x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&str, &u32> = Ok(\"hello\");\nassert_eq!(x.as_deref(), y);\n\nlet x: Result<String, u32> = Err(42);\nlet y: Result<&str, &u32> = Err(&42);\nassert_eq!(x.as_deref(), y);
    \n
    1.47.0 · source

    pub fn as_deref_mut(&mut self) -> Result<&mut <T as Deref>::Target, &mut E>
    where\n T: DerefMut,

    Converts from Result<T, E> (or &mut Result<T, E>) to Result<&mut <T as DerefMut>::Target, &mut E>.

    \n

    Coerces the Ok variant of the original Result via DerefMut\nand returns the new Result.

    \n
    §Examples
    \n
    let mut s = \"HELLO\".to_string();\nlet mut x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&mut str, &mut u32> = Ok(&mut s);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);\n\nlet mut i = 42;\nlet mut x: Result<String, u32> = Err(42);\nlet y: Result<&mut str, &mut u32> = Err(&mut i);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);
    \n
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, T>

    Returns an iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(7);\nassert_eq!(x.iter().next(), Some(&7));\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter().next(), None);
    \n
    1.0.0 · source

    pub fn iter_mut(&mut self) -> IterMut<'_, T>

    Returns a mutable iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    §Examples
    \n
    let mut x: Result<u32, &str> = Ok(7);\nmatch x.iter_mut().next() {\n    Some(v) => *v = 40,\n    None => {},\n}\nassert_eq!(x, Ok(40));\n\nlet mut x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter_mut().next(), None);
    \n
    1.4.0 · source

    pub fn expect(self, msg: &str) -> T
    where\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    §Panics
    \n

    Panics if the value is an Err, with a panic message including the\npassed message, and the content of the Err.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nx.expect(\"Testing expect\"); // panics with `Testing expect: emergency failure`
    \n
    §Recommended Message Style
    \n

    We recommend that expect messages are used to describe the reason you\nexpect the Result should be Ok.

    \n\n
    let path = std::env::var(\"IMPORTANT_PATH\")\n    .expect(\"env variable `IMPORTANT_PATH` should be set by `wrapper_script.sh`\");
    \n

    Hint: If you’re having trouble remembering how to phrase expect\nerror messages remember to focus on the word “should” as in “env\nvariable should be set by blah” or “the given binary should be available\nand executable by the current user”.

    \n

    For more detail on expect message styles and the reasoning behind our recommendation please\nrefer to the section on “Common Message\nStyles” in the\nstd::error module docs.

    \n
    1.0.0 · source

    pub fn unwrap(self) -> T
    where\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    §Panics
    \n

    Panics if the value is an Err, with a panic message provided by the\nErr’s value.

    \n
    §Examples
    \n

    Basic usage:

    \n\n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.unwrap(), 2);
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nx.unwrap(); // panics with `emergency failure`
    \n
    1.16.0 · source

    pub fn unwrap_or_default(self) -> T
    where\n T: Default,

    Returns the contained Ok value or a default

    \n

    Consumes the self argument then, if Ok, returns the contained\nvalue, otherwise if Err, returns the default value for that\ntype.

    \n
    §Examples
    \n

    Converts a string to an integer, turning poorly-formed strings\ninto 0 (the default value for integers). parse converts\na string to any other type that implements FromStr, returning an\nErr on error.

    \n\n
    let good_year_from_input = \"1909\";\nlet bad_year_from_input = \"190blarg\";\nlet good_year = good_year_from_input.parse().unwrap_or_default();\nlet bad_year = bad_year_from_input.parse().unwrap_or_default();\n\nassert_eq!(1909, good_year);\nassert_eq!(0, bad_year);
    \n
    1.17.0 · source

    pub fn expect_err(self, msg: &str) -> E
    where\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    §Panics
    \n

    Panics if the value is an Ok, with a panic message including the\npassed message, and the content of the Ok.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(10);\nx.expect_err(\"Testing expect_err\"); // panics with `Testing expect_err: 10`
    \n
    1.0.0 · source

    pub fn unwrap_err(self) -> E
    where\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    §Panics
    \n

    Panics if the value is an Ok, with a custom panic message provided\nby the Ok’s value.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nx.unwrap_err(); // panics with `2`
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(x.unwrap_err(), \"emergency failure\");
    \n
    source

    pub fn into_ok(self) -> T
    where\n E: Into<!>,

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

    Returns the contained Ok value, but never panics.

    \n

    Unlike unwrap, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap as a maintainability safeguard that will fail\nto compile if the error type of the Result is later changed\nto an error that can actually occur.

    \n
    §Examples
    \n
    \nfn only_good_news() -> Result<String, !> {\n    Ok(\"this is fine\".into())\n}\n\nlet s: String = only_good_news().into_ok();\nprintln!(\"{s}\");
    \n
    source

    pub fn into_err(self) -> E
    where\n T: Into<!>,

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

    Returns the contained Err value, but never panics.

    \n

    Unlike unwrap_err, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap_err as a maintainability safeguard that will fail\nto compile if the ok type of the Result is later changed\nto a type that can actually occur.

    \n
    §Examples
    \n
    \nfn only_bad_news() -> Result<!, String> {\n    Err(\"Oops, it failed\".into())\n}\n\nlet error: String = only_bad_news().into_err();\nprintln!(\"{error}\");
    \n
    1.0.0 · source

    pub fn and<U>(self, res: Result<U, E>) -> Result<U, E>

    Returns res if the result is Ok, otherwise returns the Err value of self.

    \n

    Arguments passed to and are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use and_then, which is\nlazily evaluated.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<&str, &str> = Ok(\"foo\");\nassert_eq!(x.and(y), Err(\"early error\"));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"not a 2\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Ok(\"different result type\");\nassert_eq!(x.and(y), Ok(\"different result type\"));
    \n
    1.0.0 · source

    pub fn and_then<U, F>(self, op: F) -> Result<U, E>
    where\n F: FnOnce(T) -> Result<U, E>,

    Calls op if the result is Ok, otherwise returns the Err value of self.

    \n

    This function can be used for control flow based on Result values.

    \n
    §Examples
    \n
    fn sq_then_to_string(x: u32) -> Result<String, &'static str> {\n    x.checked_mul(x).map(|sq| sq.to_string()).ok_or(\"overflowed\")\n}\n\nassert_eq!(Ok(2).and_then(sq_then_to_string), Ok(4.to_string()));\nassert_eq!(Ok(1_000_000).and_then(sq_then_to_string), Err(\"overflowed\"));\nassert_eq!(Err(\"not a number\").and_then(sq_then_to_string), Err(\"not a number\"));
    \n

    Often used to chain fallible operations that may return Err.

    \n\n
    use std::{io::ErrorKind, path::Path};\n\n// Note: on Windows \"/\" maps to \"C:\\\"\nlet root_modified_time = Path::new(\"/\").metadata().and_then(|md| md.modified());\nassert!(root_modified_time.is_ok());\n\nlet should_fail = Path::new(\"/bad/path\").metadata().and_then(|md| md.modified());\nassert!(should_fail.is_err());\nassert_eq!(should_fail.unwrap_err().kind(), ErrorKind::NotFound);
    \n
    1.0.0 · source

    pub fn or<F>(self, res: Result<T, F>) -> Result<T, F>

    Returns res if the result is Err, otherwise returns the Ok value of self.

    \n

    Arguments passed to or are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use or_else, which is\nlazily evaluated.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<u32, &str> = Ok(2);\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Ok(100);\nassert_eq!(x.or(y), Ok(2));
    \n
    1.0.0 · source

    pub fn or_else<F, O>(self, op: O) -> Result<T, F>
    where\n O: FnOnce(E) -> Result<T, F>,

    Calls op if the result is Err, otherwise returns the Ok value of self.

    \n

    This function can be used for control flow based on result values.

    \n
    §Examples
    \n
    fn sq(x: u32) -> Result<u32, u32> { Ok(x * x) }\nfn err(x: u32) -> Result<u32, u32> { Err(x) }\n\nassert_eq!(Ok(2).or_else(sq).or_else(sq), Ok(2));\nassert_eq!(Ok(2).or_else(err).or_else(sq), Ok(2));\nassert_eq!(Err(3).or_else(sq).or_else(err), Ok(9));\nassert_eq!(Err(3).or_else(err).or_else(err), Err(3));
    \n
    1.0.0 · source

    pub fn unwrap_or(self, default: T) -> T

    Returns the contained Ok value or a provided default.

    \n

    Arguments passed to unwrap_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use unwrap_or_else,\nwhich is lazily evaluated.

    \n
    §Examples
    \n
    let default = 2;\nlet x: Result<u32, &str> = Ok(9);\nassert_eq!(x.unwrap_or(default), 9);\n\nlet x: Result<u32, &str> = Err(\"error\");\nassert_eq!(x.unwrap_or(default), default);
    \n
    1.0.0 · source

    pub fn unwrap_or_else<F>(self, op: F) -> T
    where\n F: FnOnce(E) -> T,

    Returns the contained Ok value or computes it from a closure.

    \n
    §Examples
    \n
    fn count(x: &str) -> usize { x.len() }\n\nassert_eq!(Ok(2).unwrap_or_else(count), 2);\nassert_eq!(Err(\"foo\").unwrap_or_else(count), 3);
    \n
    1.58.0 · source

    pub unsafe fn unwrap_unchecked(self) -> T

    Returns the contained Ok value, consuming the self value,\nwithout checking that the value is not an Err.

    \n
    §Safety
    \n

    Calling this method on an Err is undefined behavior.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(unsafe { x.unwrap_unchecked() }, 2);
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nunsafe { x.unwrap_unchecked(); } // Undefined behavior!
    \n
    1.58.0 · source

    pub unsafe fn unwrap_err_unchecked(self) -> E

    Returns the contained Err value, consuming the self value,\nwithout checking that the value is not an Ok.

    \n
    §Safety
    \n

    Calling this method on an Ok is undefined behavior.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nunsafe { x.unwrap_err_unchecked() }; // Undefined behavior!
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(unsafe { x.unwrap_err_unchecked() }, \"emergency failure\");
    \n
    ",0,"conjure_oxide::ApplicationResult"],["
    §

    impl<T, E> ResultExt<T, E> for Result<T, E>

    §

    fn context<X>(self, x: X) -> Result<T, Context<X, E>>

    The method is use to add context information to current operation Read more
    ","ResultExt","conjure_oxide::ApplicationResult"],["
    source§

    impl<T, E> Serialize for Result<T, E>
    where\n T: Serialize,\n E: 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","conjure_oxide::ApplicationResult"],["
    source§

    impl<T, TAs, E, EAs> SerializeAs<Result<T, E>> for Result<TAs, EAs>
    where\n TAs: SerializeAs<T>,\n EAs: SerializeAs<E>,

    source§

    fn serialize_as<S>(\n source: &Result<T, E>,\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.
    ","SerializeAs>","conjure_oxide::ApplicationResult"],["
    1.16.0 · source§

    impl<T, U, E> Sum<Result<U, E>> for Result<T, E>
    where\n T: Sum<U>,

    source§

    fn sum<I>(iter: I) -> Result<T, E>
    where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the sum of all elements is returned.

    \n
    §Examples
    \n

    This sums up every integer in a vector, rejecting the sum if a negative\nelement is encountered:

    \n\n
    let f = |&x: &i32| if x < 0 { Err(\"Negative element found\") } else { Ok(x) };\nlet v = vec![1, 2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Ok(3));\nlet v = vec![1, -2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Err(\"Negative element found\"));
    \n
    ","Sum>","conjure_oxide::ApplicationResult"],["
    1.61.0 · source§

    impl<T, E> Termination for Result<T, E>
    where\n T: Termination,\n E: Debug,

    source§

    fn report(self) -> ExitCode

    Is called to get the representation of the value as status code.\nThis status code is returned to the operating system.
    ","Termination","conjure_oxide::ApplicationResult"],["
    source§

    impl<T, E> Try for Result<T, E>

    §

    type Output = T

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value produced by ? when not short-circuiting.
    §

    type Residual = Result<Infallible, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value passed to FromResidual::from_residual\nas part of ? when short-circuiting. Read more
    source§

    fn from_output(output: <Result<T, E> as Try>::Output) -> Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from its Output type. Read more
    source§

    fn branch(\n self\n) -> ControlFlow<<Result<T, E> as Try>::Residual, <Result<T, E> as Try>::Output>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Used in ? to decide whether the operator should produce a value\n(because this returned ControlFlow::Continue)\nor propagate a value back to the caller\n(because this returned ControlFlow::Break). Read more
    ","Try","conjure_oxide::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> Copy for Result<T, E>
    where\n T: Copy,\n E: Copy,

    ","Copy","conjure_oxide::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> Eq for Result<T, E>
    where\n T: Eq,\n E: Eq,

    ","Eq","conjure_oxide::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> StructuralPartialEq for Result<T, E>

    ","StructuralPartialEq","conjure_oxide::ApplicationResult"]] +"conjure_core":[["
    §

    impl<A, B> Arbitrary for Result<A, B>
    where\n A: Arbitrary,\n B: Arbitrary,

    §

    type Parameters = (Probability, <A as Arbitrary>::Parameters, <B as Arbitrary>::Parameters)

    The type of parameters that arbitrary_with accepts for configuration\nof the generated Strategy. Parameters must implement Default.
    §

    type Strategy = MaybeOk<<A as Arbitrary>::Strategy, <B as Arbitrary>::Strategy>

    The type of Strategy used to generate values of type Self.
    §

    fn arbitrary_with(\n args: <Result<A, B> as Arbitrary>::Parameters\n) -> <Result<A, B> as Arbitrary>::Strategy

    Generates a Strategy for producing arbitrary values of type the\nimplementing type (Self). The strategy is passed the arguments given\nin args. Read more
    §

    fn arbitrary() -> Self::Strategy

    Generates a Strategy for producing arbitrary values\nof type the implementing type (Self). Read more
    ","Arbitrary","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    §

    impl<A> Arbitrary for Result<Infallible, A>
    where\n A: Arbitrary,

    §

    type Parameters = <A as Arbitrary>::Parameters

    The type of parameters that arbitrary_with accepts for configuration\nof the generated Strategy. Parameters must implement Default.
    §

    type Strategy = Map<<A as Arbitrary>::Strategy, fn(_: A) -> Result<Infallible, A>>

    The type of Strategy used to generate values of type Self.
    §

    fn arbitrary_with(\n args: <Result<Infallible, A> as Arbitrary>::Parameters\n) -> <Result<Infallible, A> as Arbitrary>::Strategy

    Generates a Strategy for producing arbitrary values of type the\nimplementing type (Self). The strategy is passed the arguments given\nin args. Read more
    §

    fn arbitrary() -> Self::Strategy

    Generates a Strategy for producing arbitrary values\nof type the implementing type (Self). Read more
    ","Arbitrary","conjure_core::error::Result"],["
    §

    impl<A, E> ArbitraryF1<A> for Result<A, E>
    where\n A: Debug,\n E: Arbitrary,\n <E as Arbitrary>::Strategy: 'static,

    §

    type Parameters = (Probability, <E as Arbitrary>::Parameters)

    The type of parameters that lift1_with accepts for\nconfiguration of the lifted and generated Strategy. Parameters\nmust implement Default.
    §

    fn lift1_with<AS>(\n base: AS,\n args: <Result<A, E> as ArbitraryF1<A>>::Parameters\n) -> BoxedStrategy<Result<A, E>>
    where\n AS: Strategy<Value = A> + 'static,

    Lifts a given Strategy to a new Strategy for the (presumably)\nbigger type. This is useful for lifting a Strategy for SomeType\nto a container such as Vec of SomeType. The composite strategy is\npassed the arguments given in args. Read more
    §

    fn lift1<AS>(base: AS) -> BoxedStrategy<Self>
    where\n AS: Strategy<Value = A> + 'static,

    Lifts a given Strategy to a new Strategy for the (presumably)\nbigger type. This is useful for lifting a Strategy for SomeType\nto a container such as Vec<SomeType>. Read more
    ","ArbitraryF1","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    §

    impl<A, B> ArbitraryF2<A, B> for Result<A, B>
    where\n A: Debug,\n B: Debug,

    §

    type Parameters = Probability

    The type of parameters that lift2_with accepts for\nconfiguration of the lifted and generated Strategy. Parameters\nmust implement Default.
    §

    fn lift2_with<AS, BS>(\n fst: AS,\n snd: BS,\n args: <Result<A, B> as ArbitraryF2<A, B>>::Parameters\n) -> BoxedStrategy<Result<A, B>>
    where\n AS: Strategy<Value = A> + 'static,\n BS: Strategy<Value = B> + 'static,

    Lifts two given strategies to a new Strategy for the (presumably)\nbigger type. This is useful for lifting a Strategy for Type1\nand one for Type2 to a container such as HashMap<Type1, Type2>.\nThe composite strategy is passed the arguments given in args. Read more
    §

    fn lift2<AS, BS>(fst: AS, snd: BS) -> BoxedStrategy<Self>
    where\n AS: Strategy<Value = A> + 'static,\n BS: Strategy<Value = B> + 'static,

    Lifts two given strategies to a new Strategy for the (presumably)\nbigger type. This is useful for lifting a Strategy for Type1\nand one for Type2 to a container such as HashMap<Type1, Type2>. Read more
    ","ArbitraryF2","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> Clone for Result<T, E>
    where\n T: Clone,\n E: Clone,

    source§

    fn clone(&self) -> Result<T, E>

    Returns a copy of the value. Read more
    source§

    fn clone_from(&mut self, source: &Result<T, E>)

    Performs copy-assignment from source. Read more
    ","Clone","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    source§

    impl<T, E> Context<T, E> for Result<T, E>
    where\n E: StdError + Send + Sync + 'static,

    source§

    fn context<C>(self, context: C) -> Result<T, Error>
    where\n C: Display + Send + Sync + 'static,

    Wrap the error value with additional context.
    source§

    fn with_context<C, F>(self, context: F) -> Result<T, Error>
    where\n C: Display + Send + Sync + 'static,\n F: FnOnce() -> C,

    Wrap the error value with additional context that is evaluated lazily\nonly once an error does occur.
    ","Context","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> Debug for Result<T, E>
    where\n T: Debug,\n E: Debug,

    source§

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

    Formats the value using the given formatter. Read more
    ","Debug","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    source§

    impl<'de, T, E> Deserialize<'de> for Result<T, E>
    where\n T: Deserialize<'de>,\n E: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    source§

    impl<'de, T, TAs, E, EAs> DeserializeAs<'de, Result<T, E>> for Result<TAs, EAs>
    where\n TAs: DeserializeAs<'de, T>,\n EAs: DeserializeAs<'de, E>,

    source§

    fn deserialize_as<D>(\n deserializer: D\n) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Result>","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    1.0.0 · source§

    impl<A, E, V> FromIterator<Result<A, E>> for Result<V, E>
    where\n V: FromIterator<A>,

    source§

    fn from_iter<I>(iter: I) -> Result<V, E>
    where\n I: IntoIterator<Item = Result<A, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err occur, a\ncontainer with the values of each Result is returned.

    \n

    Here is an example which increments every integer in a vector,\nchecking for overflow:

    \n\n
    let v = vec![1, 2];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_add(1).ok_or(\"Overflow!\")\n).collect();\nassert_eq!(res, Ok(vec![2, 3]));
    \n

    Here is another example that tries to subtract one from another list\nof integers, this time checking for underflow:

    \n\n
    let v = vec![1, 2, 0];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_sub(1).ok_or(\"Underflow!\")\n).collect();\nassert_eq!(res, Err(\"Underflow!\"));
    \n

    Here is a variation on the previous example, showing that no\nfurther elements are taken from iter after the first Err.

    \n\n
    let v = vec![3, 2, 1, 10];\nlet mut shared = 0;\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32| {\n    shared += x;\n    x.checked_sub(2).ok_or(\"Underflow!\")\n}).collect();\nassert_eq!(res, Err(\"Underflow!\"));\nassert_eq!(shared, 6);
    \n

    Since the third element caused an underflow, no further elements were taken,\nso the final value of shared is 6 (= 3 + 2 + 1), not 16.

    \n
    ","FromIterator>","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    source§

    impl<T, E, F> FromResidual<Result<Infallible, E>> for Result<T, F>
    where\n F: From<E>,

    source§

    fn from_residual(residual: Result<Infallible, E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    source§

    impl<T, E, F> FromResidual<Yeet<E>> for Result<T, F>
    where\n F: From<E>,

    source§

    fn from_residual(_: Yeet<E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> Hash for Result<T, E>
    where\n T: Hash,\n E: Hash,

    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","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> IntoIterator for Result<T, E>

    source§

    fn into_iter(self) -> IntoIter<T>

    Returns a consuming iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(5);\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, [5]);\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, []);
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T>

    Which kind of iterator are we turning this into?
    ","IntoIterator","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    §

    impl<T, E> JsonSchema for Result<T, E>
    where\n T: JsonSchema,\n E: JsonSchema,

    §

    fn schema_name() -> String

    The name of the generated JSON Schema. Read more
    §

    fn schema_id() -> Cow<'static, str>

    Returns a string that uniquely identifies the schema produced by this type. Read more
    §

    fn json_schema(gen: &mut SchemaGenerator) -> Schema

    Generates a JSON Schema for this type. Read more
    §

    fn is_referenceable() -> bool

    Whether JSON Schemas generated for this type should be re-used where possible using the $ref keyword. Read more
    ","JsonSchema","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> Ord for Result<T, E>
    where\n T: Ord,\n E: Ord,

    source§

    fn cmp(&self, other: &Result<T, E>) -> Ordering

    This method returns an Ordering between self and other. Read more
    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","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> PartialEq for Result<T, E>
    where\n T: PartialEq,\n E: PartialEq,

    source§

    fn eq(&self, other: &Result<T, E>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

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

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> PartialOrd for Result<T, E>
    where\n T: PartialOrd,\n E: PartialOrd,

    source§

    fn partial_cmp(&self, other: &Result<T, E>) -> 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

    This method 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

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    1.0.0 · source§

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

    This method 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

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    ","PartialOrd","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    1.16.0 · source§

    impl<T, U, E> Product<Result<U, E>> for Result<T, E>
    where\n T: Product<U>,

    source§

    fn product<I>(iter: I) -> Result<T, E>
    where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the product of all elements is returned.

    \n
    §Examples
    \n

    This multiplies each number in a vector of strings,\nif a string could not be parsed the operation returns Err:

    \n\n
    let nums = vec![\"5\", \"10\", \"1\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert_eq!(total, Ok(100));\nlet nums = vec![\"5\", \"10\", \"one\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert!(total.is_err());
    \n
    ","Product>","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    source§

    impl<T, E> Residual<T> for Result<Infallible, E>

    §

    type TryType = Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2_residual)
    The “return” type of this meta-function.
    ","Residual","conjure_core::error::Result"],["
    source§

    impl<T, E> Result<&T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>
    where\n T: Copy,

    Maps a Result<&T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    §Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>
    where\n T: Clone,

    Maps a Result<&T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    §Examples
    \n
    let val = 12;\nlet x: Result<&i32, i32> = Ok(&val);\nassert_eq!(x, Ok(&12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"conjure_core::error::Result"],["
    source§

    impl<T, E> Result<&mut T, E>

    1.59.0 · source

    pub fn copied(self) -> Result<T, E>
    where\n T: Copy,

    Maps a Result<&mut T, E> to a Result<T, E> by copying the contents of the\nOk part.

    \n
    §Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet copied = x.copied();\nassert_eq!(copied, Ok(12));
    \n
    1.59.0 · source

    pub fn cloned(self) -> Result<T, E>
    where\n T: Clone,

    Maps a Result<&mut T, E> to a Result<T, E> by cloning the contents of the\nOk part.

    \n
    §Examples
    \n
    let mut val = 12;\nlet x: Result<&mut i32, i32> = Ok(&mut val);\nassert_eq!(x, Ok(&mut 12));\nlet cloned = x.cloned();\nassert_eq!(cloned, Ok(12));
    \n
    ",0,"conjure_core::error::Result"],["
    source§

    impl<T, E> Result<Option<T>, E>

    1.33.0 (const: unstable) · source

    pub fn transpose(self) -> Option<Result<T, E>>

    Transposes a Result of an Option into an Option of a Result.

    \n

    Ok(None) will be mapped to None.\nOk(Some(_)) and Err(_) will be mapped to Some(Ok(_)) and Some(Err(_)).

    \n
    §Examples
    \n
    #[derive(Debug, Eq, PartialEq)]\nstruct SomeErr;\n\nlet x: Result<Option<i32>, SomeErr> = Ok(Some(5));\nlet y: Option<Result<i32, SomeErr>> = Some(Ok(5));\nassert_eq!(x.transpose(), y);
    \n
    ",0,"conjure_core::error::Result"],["
    source§

    impl<T, E> Result<Result<T, E>, E>

    source

    pub fn flatten(self) -> Result<T, E>

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

    Converts from Result<Result<T, E>, E> to Result<T, E>

    \n
    §Examples
    \n
    #![feature(result_flattening)]\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Ok(\"hello\"));\nassert_eq!(Ok(\"hello\"), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Ok(Err(6));\nassert_eq!(Err(6), x.flatten());\n\nlet x: Result<Result<&'static str, u32>, u32> = Err(6);\nassert_eq!(Err(6), x.flatten());
    \n

    Flattening only removes one level of nesting at a time:

    \n\n
    #![feature(result_flattening)]\nlet x: Result<Result<Result<&'static str, u32>, u32>, u32> = Ok(Ok(Ok(\"hello\")));\nassert_eq!(Ok(Ok(\"hello\")), x.flatten());\nassert_eq!(Ok(\"hello\"), x.flatten().flatten());
    \n
    ",0,"conjure_core::error::Result"],["
    source§

    impl<T, E> Result<T, E>

    1.0.0 (const: 1.48.0) · source

    pub const fn is_ok(&self) -> bool

    Returns true if the result is Ok.

    \n
    §Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_ok(), true);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_ok(), false);
    \n
    1.70.0 · source

    pub fn is_ok_and(self, f: impl FnOnce(T) -> bool) -> bool

    Returns true if the result is Ok and the value inside of it matches a predicate.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.is_ok_and(|x| x > 1), true);\n\nlet x: Result<u32, &str> = Ok(0);\nassert_eq!(x.is_ok_and(|x| x > 1), false);\n\nlet x: Result<u32, &str> = Err(\"hey\");\nassert_eq!(x.is_ok_and(|x| x > 1), false);
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn is_err(&self) -> bool

    Returns true if the result is Err.

    \n
    §Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_err(), false);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_err(), true);
    \n
    1.70.0 · source

    pub fn is_err_and(self, f: impl FnOnce(E) -> bool) -> bool

    Returns true if the result is Err and the value inside of it matches a predicate.

    \n
    §Examples
    \n
    use std::io::{Error, ErrorKind};\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::NotFound, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), true);\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::PermissionDenied, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);\n\nlet x: Result<u32, Error> = Ok(123);\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);
    \n
    1.0.0 · source

    pub fn ok(self) -> Option<T>

    Converts from Result<T, E> to Option<T>.

    \n

    Converts self into an Option<T>, consuming self,\nand discarding the error, if any.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.ok(), Some(2));\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.ok(), None);
    \n
    1.0.0 · source

    pub fn err(self) -> Option<E>

    Converts from Result<T, E> to Option<E>.

    \n

    Converts self into an Option<E>, consuming self,\nand discarding the success value, if any.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.err(), None);\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.err(), Some(\"Nothing here\"));
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn as_ref(&self) -> Result<&T, &E>

    Converts from &Result<T, E> to Result<&T, &E>.

    \n

    Produces a new Result, containing a reference\ninto the original, leaving the original in place.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.as_ref(), Ok(&2));\n\nlet x: Result<u32, &str> = Err(\"Error\");\nassert_eq!(x.as_ref(), Err(&\"Error\"));
    \n
    1.0.0 (const: unstable) · source

    pub fn as_mut(&mut self) -> Result<&mut T, &mut E>

    Converts from &mut Result<T, E> to Result<&mut T, &mut E>.

    \n
    §Examples
    \n
    fn mutate(r: &mut Result<i32, i32>) {\n    match r.as_mut() {\n        Ok(v) => *v = 42,\n        Err(e) => *e = 0,\n    }\n}\n\nlet mut x: Result<i32, i32> = Ok(2);\nmutate(&mut x);\nassert_eq!(x.unwrap(), 42);\n\nlet mut x: Result<i32, i32> = Err(13);\nmutate(&mut x);\nassert_eq!(x.unwrap_err(), 0);
    \n
    1.0.0 · source

    pub fn map<U, F>(self, op: F) -> Result<U, E>
    where\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to Result<U, E> by applying a function to a\ncontained Ok value, leaving an Err value untouched.

    \n

    This function can be used to compose the results of two functions.

    \n
    §Examples
    \n

    Print the numbers on each line of a string multiplied by two.

    \n\n
    let line = \"1\\n2\\n3\\n4\\n\";\n\nfor num in line.lines() {\n    match num.parse::<i32>().map(|i| i * 2) {\n        Ok(n) => println!(\"{n}\"),\n        Err(..) => {}\n    }\n}
    \n
    1.41.0 · source

    pub fn map_or<U, F>(self, default: U, f: F) -> U
    where\n F: FnOnce(T) -> U,

    Returns the provided default (if Err), or\napplies a function to the contained value (if Ok).

    \n

    Arguments passed to map_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use map_or_else,\nwhich is lazily evaluated.

    \n
    §Examples
    \n
    let x: Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or(42, |v| v.len()), 3);\n\nlet x: Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or(42, |v| v.len()), 42);
    \n
    1.41.0 · source

    pub fn map_or_else<U, D, F>(self, default: D, f: F) -> U
    where\n D: FnOnce(E) -> U,\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to U by applying fallback function default to\na contained Err value, or function f to a contained Ok value.

    \n

    This function can be used to unpack a successful result\nwhile handling an error.

    \n
    §Examples
    \n
    let k = 21;\n\nlet x : Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 3);\n\nlet x : Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 42);
    \n
    1.0.0 · source

    pub fn map_err<F, O>(self, op: O) -> Result<T, F>
    where\n O: FnOnce(E) -> F,

    Maps a Result<T, E> to Result<T, F> by applying a function to a\ncontained Err value, leaving an Ok value untouched.

    \n

    This function can be used to pass through a successful result while handling\nan error.

    \n
    §Examples
    \n
    fn stringify(x: u32) -> String { format!(\"error code: {x}\") }\n\nlet x: Result<u32, u32> = Ok(2);\nassert_eq!(x.map_err(stringify), Ok(2));\n\nlet x: Result<u32, u32> = Err(13);\nassert_eq!(x.map_err(stringify), Err(\"error code: 13\".to_string()));
    \n
    1.76.0 · source

    pub fn inspect<F>(self, f: F) -> Result<T, E>
    where\n F: FnOnce(&T),

    Calls a function with a reference to the contained value if Ok.

    \n

    Returns the original result.

    \n
    §Examples
    \n
    let x: u8 = \"4\"\n    .parse::<u8>()\n    .inspect(|x| println!(\"original: {x}\"))\n    .map(|x| x.pow(3))\n    .expect(\"failed to parse number\");
    \n
    1.76.0 · source

    pub fn inspect_err<F>(self, f: F) -> Result<T, E>
    where\n F: FnOnce(&E),

    Calls a function with a reference to the contained value if Err.

    \n

    Returns the original result.

    \n
    §Examples
    \n
    use std::{fs, io};\n\nfn read() -> io::Result<String> {\n    fs::read_to_string(\"address.txt\")\n        .inspect_err(|e| eprintln!(\"failed to read file: {e}\"))\n}
    \n
    1.47.0 · source

    pub fn as_deref(&self) -> Result<&<T as Deref>::Target, &E>
    where\n T: Deref,

    Converts from Result<T, E> (or &Result<T, E>) to Result<&<T as Deref>::Target, &E>.

    \n

    Coerces the Ok variant of the original Result via Deref\nand returns the new Result.

    \n
    §Examples
    \n
    let x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&str, &u32> = Ok(\"hello\");\nassert_eq!(x.as_deref(), y);\n\nlet x: Result<String, u32> = Err(42);\nlet y: Result<&str, &u32> = Err(&42);\nassert_eq!(x.as_deref(), y);
    \n
    1.47.0 · source

    pub fn as_deref_mut(&mut self) -> Result<&mut <T as Deref>::Target, &mut E>
    where\n T: DerefMut,

    Converts from Result<T, E> (or &mut Result<T, E>) to Result<&mut <T as DerefMut>::Target, &mut E>.

    \n

    Coerces the Ok variant of the original Result via DerefMut\nand returns the new Result.

    \n
    §Examples
    \n
    let mut s = \"HELLO\".to_string();\nlet mut x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&mut str, &mut u32> = Ok(&mut s);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);\n\nlet mut i = 42;\nlet mut x: Result<String, u32> = Err(42);\nlet y: Result<&mut str, &mut u32> = Err(&mut i);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);
    \n
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, T>

    Returns an iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(7);\nassert_eq!(x.iter().next(), Some(&7));\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter().next(), None);
    \n
    1.0.0 · source

    pub fn iter_mut(&mut self) -> IterMut<'_, T>

    Returns a mutable iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    §Examples
    \n
    let mut x: Result<u32, &str> = Ok(7);\nmatch x.iter_mut().next() {\n    Some(v) => *v = 40,\n    None => {},\n}\nassert_eq!(x, Ok(40));\n\nlet mut x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter_mut().next(), None);
    \n
    1.4.0 · source

    pub fn expect(self, msg: &str) -> T
    where\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    §Panics
    \n

    Panics if the value is an Err, with a panic message including the\npassed message, and the content of the Err.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nx.expect(\"Testing expect\"); // panics with `Testing expect: emergency failure`
    \n
    §Recommended Message Style
    \n

    We recommend that expect messages are used to describe the reason you\nexpect the Result should be Ok.

    \n\n
    let path = std::env::var(\"IMPORTANT_PATH\")\n    .expect(\"env variable `IMPORTANT_PATH` should be set by `wrapper_script.sh`\");
    \n

    Hint: If you’re having trouble remembering how to phrase expect\nerror messages remember to focus on the word “should” as in “env\nvariable should be set by blah” or “the given binary should be available\nand executable by the current user”.

    \n

    For more detail on expect message styles and the reasoning behind our recommendation please\nrefer to the section on “Common Message\nStyles” in the\nstd::error module docs.

    \n
    1.0.0 · source

    pub fn unwrap(self) -> T
    where\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    §Panics
    \n

    Panics if the value is an Err, with a panic message provided by the\nErr’s value.

    \n
    §Examples
    \n

    Basic usage:

    \n\n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.unwrap(), 2);
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nx.unwrap(); // panics with `emergency failure`
    \n
    1.16.0 · source

    pub fn unwrap_or_default(self) -> T
    where\n T: Default,

    Returns the contained Ok value or a default

    \n

    Consumes the self argument then, if Ok, returns the contained\nvalue, otherwise if Err, returns the default value for that\ntype.

    \n
    §Examples
    \n

    Converts a string to an integer, turning poorly-formed strings\ninto 0 (the default value for integers). parse converts\na string to any other type that implements FromStr, returning an\nErr on error.

    \n\n
    let good_year_from_input = \"1909\";\nlet bad_year_from_input = \"190blarg\";\nlet good_year = good_year_from_input.parse().unwrap_or_default();\nlet bad_year = bad_year_from_input.parse().unwrap_or_default();\n\nassert_eq!(1909, good_year);\nassert_eq!(0, bad_year);
    \n
    1.17.0 · source

    pub fn expect_err(self, msg: &str) -> E
    where\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    §Panics
    \n

    Panics if the value is an Ok, with a panic message including the\npassed message, and the content of the Ok.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(10);\nx.expect_err(\"Testing expect_err\"); // panics with `Testing expect_err: 10`
    \n
    1.0.0 · source

    pub fn unwrap_err(self) -> E
    where\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    §Panics
    \n

    Panics if the value is an Ok, with a custom panic message provided\nby the Ok’s value.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nx.unwrap_err(); // panics with `2`
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(x.unwrap_err(), \"emergency failure\");
    \n
    source

    pub fn into_ok(self) -> T
    where\n E: Into<!>,

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

    Returns the contained Ok value, but never panics.

    \n

    Unlike unwrap, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap as a maintainability safeguard that will fail\nto compile if the error type of the Result is later changed\nto an error that can actually occur.

    \n
    §Examples
    \n
    \nfn only_good_news() -> Result<String, !> {\n    Ok(\"this is fine\".into())\n}\n\nlet s: String = only_good_news().into_ok();\nprintln!(\"{s}\");
    \n
    source

    pub fn into_err(self) -> E
    where\n T: Into<!>,

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

    Returns the contained Err value, but never panics.

    \n

    Unlike unwrap_err, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap_err as a maintainability safeguard that will fail\nto compile if the ok type of the Result is later changed\nto a type that can actually occur.

    \n
    §Examples
    \n
    \nfn only_bad_news() -> Result<!, String> {\n    Err(\"Oops, it failed\".into())\n}\n\nlet error: String = only_bad_news().into_err();\nprintln!(\"{error}\");
    \n
    1.0.0 · source

    pub fn and<U>(self, res: Result<U, E>) -> Result<U, E>

    Returns res if the result is Ok, otherwise returns the Err value of self.

    \n

    Arguments passed to and are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use and_then, which is\nlazily evaluated.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<&str, &str> = Ok(\"foo\");\nassert_eq!(x.and(y), Err(\"early error\"));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"not a 2\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Ok(\"different result type\");\nassert_eq!(x.and(y), Ok(\"different result type\"));
    \n
    1.0.0 · source

    pub fn and_then<U, F>(self, op: F) -> Result<U, E>
    where\n F: FnOnce(T) -> Result<U, E>,

    Calls op if the result is Ok, otherwise returns the Err value of self.

    \n

    This function can be used for control flow based on Result values.

    \n
    §Examples
    \n
    fn sq_then_to_string(x: u32) -> Result<String, &'static str> {\n    x.checked_mul(x).map(|sq| sq.to_string()).ok_or(\"overflowed\")\n}\n\nassert_eq!(Ok(2).and_then(sq_then_to_string), Ok(4.to_string()));\nassert_eq!(Ok(1_000_000).and_then(sq_then_to_string), Err(\"overflowed\"));\nassert_eq!(Err(\"not a number\").and_then(sq_then_to_string), Err(\"not a number\"));
    \n

    Often used to chain fallible operations that may return Err.

    \n\n
    use std::{io::ErrorKind, path::Path};\n\n// Note: on Windows \"/\" maps to \"C:\\\"\nlet root_modified_time = Path::new(\"/\").metadata().and_then(|md| md.modified());\nassert!(root_modified_time.is_ok());\n\nlet should_fail = Path::new(\"/bad/path\").metadata().and_then(|md| md.modified());\nassert!(should_fail.is_err());\nassert_eq!(should_fail.unwrap_err().kind(), ErrorKind::NotFound);
    \n
    1.0.0 · source

    pub fn or<F>(self, res: Result<T, F>) -> Result<T, F>

    Returns res if the result is Err, otherwise returns the Ok value of self.

    \n

    Arguments passed to or are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use or_else, which is\nlazily evaluated.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<u32, &str> = Ok(2);\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Ok(100);\nassert_eq!(x.or(y), Ok(2));
    \n
    1.0.0 · source

    pub fn or_else<F, O>(self, op: O) -> Result<T, F>
    where\n O: FnOnce(E) -> Result<T, F>,

    Calls op if the result is Err, otherwise returns the Ok value of self.

    \n

    This function can be used for control flow based on result values.

    \n
    §Examples
    \n
    fn sq(x: u32) -> Result<u32, u32> { Ok(x * x) }\nfn err(x: u32) -> Result<u32, u32> { Err(x) }\n\nassert_eq!(Ok(2).or_else(sq).or_else(sq), Ok(2));\nassert_eq!(Ok(2).or_else(err).or_else(sq), Ok(2));\nassert_eq!(Err(3).or_else(sq).or_else(err), Ok(9));\nassert_eq!(Err(3).or_else(err).or_else(err), Err(3));
    \n
    1.0.0 · source

    pub fn unwrap_or(self, default: T) -> T

    Returns the contained Ok value or a provided default.

    \n

    Arguments passed to unwrap_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use unwrap_or_else,\nwhich is lazily evaluated.

    \n
    §Examples
    \n
    let default = 2;\nlet x: Result<u32, &str> = Ok(9);\nassert_eq!(x.unwrap_or(default), 9);\n\nlet x: Result<u32, &str> = Err(\"error\");\nassert_eq!(x.unwrap_or(default), default);
    \n
    1.0.0 · source

    pub fn unwrap_or_else<F>(self, op: F) -> T
    where\n F: FnOnce(E) -> T,

    Returns the contained Ok value or computes it from a closure.

    \n
    §Examples
    \n
    fn count(x: &str) -> usize { x.len() }\n\nassert_eq!(Ok(2).unwrap_or_else(count), 2);\nassert_eq!(Err(\"foo\").unwrap_or_else(count), 3);
    \n
    1.58.0 · source

    pub unsafe fn unwrap_unchecked(self) -> T

    Returns the contained Ok value, consuming the self value,\nwithout checking that the value is not an Err.

    \n
    §Safety
    \n

    Calling this method on an Err is undefined behavior.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(unsafe { x.unwrap_unchecked() }, 2);
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nunsafe { x.unwrap_unchecked(); } // Undefined behavior!
    \n
    1.58.0 · source

    pub unsafe fn unwrap_err_unchecked(self) -> E

    Returns the contained Err value, consuming the self value,\nwithout checking that the value is not an Ok.

    \n
    §Safety
    \n

    Calling this method on an Ok is undefined behavior.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nunsafe { x.unwrap_err_unchecked() }; // Undefined behavior!
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(unsafe { x.unwrap_err_unchecked() }, \"emergency failure\");
    \n
    ",0,"conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    §

    impl<T, E> ResultExt<T, E> for Result<T, E>

    §

    fn context<X>(self, x: X) -> Result<T, Context<X, E>>

    The method is use to add context information to current operation Read more
    ","ResultExt","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    source§

    impl<T, E> Serialize for Result<T, E>
    where\n T: Serialize,\n E: 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","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    source§

    impl<T, TAs, E, EAs> SerializeAs<Result<T, E>> for Result<TAs, EAs>
    where\n TAs: SerializeAs<T>,\n EAs: SerializeAs<E>,

    source§

    fn serialize_as<S>(\n source: &Result<T, E>,\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.
    ","SerializeAs>","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    1.16.0 · source§

    impl<T, U, E> Sum<Result<U, E>> for Result<T, E>
    where\n T: Sum<U>,

    source§

    fn sum<I>(iter: I) -> Result<T, E>
    where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the sum of all elements is returned.

    \n
    §Examples
    \n

    This sums up every integer in a vector, rejecting the sum if a negative\nelement is encountered:

    \n\n
    let f = |&x: &i32| if x < 0 { Err(\"Negative element found\") } else { Ok(x) };\nlet v = vec![1, 2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Ok(3));\nlet v = vec![1, -2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Err(\"Negative element found\"));
    \n
    ","Sum>","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    1.61.0 · source§

    impl<T, E> Termination for Result<T, E>
    where\n T: Termination,\n E: Debug,

    source§

    fn report(self) -> ExitCode

    Is called to get the representation of the value as status code.\nThis status code is returned to the operating system.
    ","Termination","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    source§

    impl<T, E> Try for Result<T, E>

    §

    type Output = T

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value produced by ? when not short-circuiting.
    §

    type Residual = Result<Infallible, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value passed to FromResidual::from_residual\nas part of ? when short-circuiting. Read more
    source§

    fn from_output(output: <Result<T, E> as Try>::Output) -> Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from its Output type. Read more
    source§

    fn branch(\n self\n) -> ControlFlow<<Result<T, E> as Try>::Residual, <Result<T, E> as Try>::Output>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Used in ? to decide whether the operator should produce a value\n(because this returned ControlFlow::Continue)\nor propagate a value back to the caller\n(because this returned ControlFlow::Break). Read more
    ","Try","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> Copy for Result<T, E>
    where\n T: Copy,\n E: Copy,

    ","Copy","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> Eq for Result<T, E>
    where\n T: Eq,\n E: Eq,

    ","Eq","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> StructuralPartialEq for Result<T, E>

    ","StructuralPartialEq","conjure_core::error::Result","conjure_core::rule_engine::rule::ApplicationResult"]], +"conjure_oxide":[["
    §

    impl<A, B> Arbitrary for Result<A, B>
    where\n A: Arbitrary,\n B: Arbitrary,

    §

    type Parameters = (Probability, <A as Arbitrary>::Parameters, <B as Arbitrary>::Parameters)

    The type of parameters that arbitrary_with accepts for configuration\nof the generated Strategy. Parameters must implement Default.
    §

    type Strategy = MaybeOk<<A as Arbitrary>::Strategy, <B as Arbitrary>::Strategy>

    The type of Strategy used to generate values of type Self.
    §

    fn arbitrary_with(\n args: <Result<A, B> as Arbitrary>::Parameters\n) -> <Result<A, B> as Arbitrary>::Strategy

    Generates a Strategy for producing arbitrary values of type the\nimplementing type (Self). The strategy is passed the arguments given\nin args. Read more
    §

    fn arbitrary() -> Self::Strategy

    Generates a Strategy for producing arbitrary values\nof type the implementing type (Self). Read more
    ","Arbitrary","conjure_oxide::ApplicationResult"],["
    §

    impl<A, E> ArbitraryF1<A> for Result<A, E>
    where\n A: Debug,\n E: Arbitrary,\n <E as Arbitrary>::Strategy: 'static,

    §

    type Parameters = (Probability, <E as Arbitrary>::Parameters)

    The type of parameters that lift1_with accepts for\nconfiguration of the lifted and generated Strategy. Parameters\nmust implement Default.
    §

    fn lift1_with<AS>(\n base: AS,\n args: <Result<A, E> as ArbitraryF1<A>>::Parameters\n) -> BoxedStrategy<Result<A, E>>
    where\n AS: Strategy<Value = A> + 'static,

    Lifts a given Strategy to a new Strategy for the (presumably)\nbigger type. This is useful for lifting a Strategy for SomeType\nto a container such as Vec of SomeType. The composite strategy is\npassed the arguments given in args. Read more
    §

    fn lift1<AS>(base: AS) -> BoxedStrategy<Self>
    where\n AS: Strategy<Value = A> + 'static,

    Lifts a given Strategy to a new Strategy for the (presumably)\nbigger type. This is useful for lifting a Strategy for SomeType\nto a container such as Vec<SomeType>. Read more
    ","ArbitraryF1","conjure_oxide::ApplicationResult"],["
    §

    impl<A, B> ArbitraryF2<A, B> for Result<A, B>
    where\n A: Debug,\n B: Debug,

    §

    type Parameters = Probability

    The type of parameters that lift2_with accepts for\nconfiguration of the lifted and generated Strategy. Parameters\nmust implement Default.
    §

    fn lift2_with<AS, BS>(\n fst: AS,\n snd: BS,\n args: <Result<A, B> as ArbitraryF2<A, B>>::Parameters\n) -> BoxedStrategy<Result<A, B>>
    where\n AS: Strategy<Value = A> + 'static,\n BS: Strategy<Value = B> + 'static,

    Lifts two given strategies to a new Strategy for the (presumably)\nbigger type. This is useful for lifting a Strategy for Type1\nand one for Type2 to a container such as HashMap<Type1, Type2>.\nThe composite strategy is passed the arguments given in args. Read more
    §

    fn lift2<AS, BS>(fst: AS, snd: BS) -> BoxedStrategy<Self>
    where\n AS: Strategy<Value = A> + 'static,\n BS: Strategy<Value = B> + 'static,

    Lifts two given strategies to a new Strategy for the (presumably)\nbigger type. This is useful for lifting a Strategy for Type1\nand one for Type2 to a container such as HashMap<Type1, Type2>. Read more
    ","ArbitraryF2","conjure_oxide::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> Clone for Result<T, E>
    where\n T: Clone,\n E: Clone,

    source§

    fn clone(&self) -> Result<T, E>

    Returns a copy of the value. Read more
    source§

    fn clone_from(&mut self, source: &Result<T, E>)

    Performs copy-assignment from source. Read more
    ","Clone","conjure_oxide::ApplicationResult"],["
    source§

    impl<T, E> Context<T, E> for Result<T, E>
    where\n E: StdError + Send + Sync + 'static,

    source§

    fn context<C>(self, context: C) -> Result<T, Error>
    where\n C: Display + Send + Sync + 'static,

    Wrap the error value with additional context.
    source§

    fn with_context<C, F>(self, context: F) -> Result<T, Error>
    where\n C: Display + Send + Sync + 'static,\n F: FnOnce() -> C,

    Wrap the error value with additional context that is evaluated lazily\nonly once an error does occur.
    ","Context","conjure_oxide::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> Debug for Result<T, E>
    where\n T: Debug,\n E: Debug,

    source§

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

    Formats the value using the given formatter. Read more
    ","Debug","conjure_oxide::ApplicationResult"],["
    source§

    impl<'de, T, E> Deserialize<'de> for Result<T, E>
    where\n T: Deserialize<'de>,\n E: Deserialize<'de>,

    source§

    fn deserialize<D>(\n deserializer: D\n) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer. Read more
    ","Deserialize<'de>","conjure_oxide::ApplicationResult"],["
    source§

    impl<'de, T, TAs, E, EAs> DeserializeAs<'de, Result<T, E>> for Result<TAs, EAs>
    where\n TAs: DeserializeAs<'de, T>,\n EAs: DeserializeAs<'de, E>,

    source§

    fn deserialize_as<D>(\n deserializer: D\n) -> Result<Result<T, E>, <D as Deserializer<'de>>::Error>
    where\n D: Deserializer<'de>,

    Deserialize this value from the given Serde deserializer.
    ","DeserializeAs<'de, Result>","conjure_oxide::ApplicationResult"],["
    1.0.0 · source§

    impl<A, E, V> FromIterator<Result<A, E>> for Result<V, E>
    where\n V: FromIterator<A>,

    source§

    fn from_iter<I>(iter: I) -> Result<V, E>
    where\n I: IntoIterator<Item = Result<A, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err occur, a\ncontainer with the values of each Result is returned.

    \n

    Here is an example which increments every integer in a vector,\nchecking for overflow:

    \n\n
    let v = vec![1, 2];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_add(1).ok_or(\"Overflow!\")\n).collect();\nassert_eq!(res, Ok(vec![2, 3]));
    \n

    Here is another example that tries to subtract one from another list\nof integers, this time checking for underflow:

    \n\n
    let v = vec![1, 2, 0];\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32|\n    x.checked_sub(1).ok_or(\"Underflow!\")\n).collect();\nassert_eq!(res, Err(\"Underflow!\"));
    \n

    Here is a variation on the previous example, showing that no\nfurther elements are taken from iter after the first Err.

    \n\n
    let v = vec![3, 2, 1, 10];\nlet mut shared = 0;\nlet res: Result<Vec<u32>, &'static str> = v.iter().map(|x: &u32| {\n    shared += x;\n    x.checked_sub(2).ok_or(\"Underflow!\")\n}).collect();\nassert_eq!(res, Err(\"Underflow!\"));\nassert_eq!(shared, 6);
    \n

    Since the third element caused an underflow, no further elements were taken,\nso the final value of shared is 6 (= 3 + 2 + 1), not 16.

    \n
    ","FromIterator>","conjure_oxide::ApplicationResult"],["
    source§

    impl<T, E, F> FromResidual<Result<Infallible, E>> for Result<T, F>
    where\n F: From<E>,

    source§

    fn from_residual(residual: Result<Infallible, E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","conjure_oxide::ApplicationResult"],["
    source§

    impl<T, E, F> FromResidual<Yeet<E>> for Result<T, F>
    where\n F: From<E>,

    source§

    fn from_residual(_: Yeet<E>) -> Result<T, F>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from a compatible Residual type. Read more
    ","FromResidual>","conjure_oxide::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> Hash for Result<T, E>
    where\n T: Hash,\n E: Hash,

    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","conjure_oxide::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> IntoIterator for Result<T, E>

    source§

    fn into_iter(self) -> IntoIter<T>

    Returns a consuming iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(5);\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, [5]);\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nlet v: Vec<u32> = x.into_iter().collect();\nassert_eq!(v, []);
    \n
    §

    type Item = T

    The type of the elements being iterated over.
    §

    type IntoIter = IntoIter<T>

    Which kind of iterator are we turning this into?
    ","IntoIterator","conjure_oxide::ApplicationResult"],["
    §

    impl<T, E> JsonSchema for Result<T, E>
    where\n T: JsonSchema,\n E: JsonSchema,

    §

    fn schema_name() -> String

    The name of the generated JSON Schema. Read more
    §

    fn schema_id() -> Cow<'static, str>

    Returns a string that uniquely identifies the schema produced by this type. Read more
    §

    fn json_schema(gen: &mut SchemaGenerator) -> Schema

    Generates a JSON Schema for this type. Read more
    §

    fn is_referenceable() -> bool

    Whether JSON Schemas generated for this type should be re-used where possible using the $ref keyword. Read more
    ","JsonSchema","conjure_oxide::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> Ord for Result<T, E>
    where\n T: Ord,\n E: Ord,

    source§

    fn cmp(&self, other: &Result<T, E>) -> Ordering

    This method returns an Ordering between self and other. Read more
    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","conjure_oxide::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> PartialEq for Result<T, E>
    where\n T: PartialEq,\n E: PartialEq,

    source§

    fn eq(&self, other: &Result<T, E>) -> bool

    This method tests for self and other values to be equal, and is used\nby ==.
    1.0.0 · source§

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

    This method tests for !=. The default implementation is almost always\nsufficient, and should not be overridden without very good reason.
    ","PartialEq","conjure_oxide::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> PartialOrd for Result<T, E>
    where\n T: PartialOrd,\n E: PartialOrd,

    source§

    fn partial_cmp(&self, other: &Result<T, E>) -> 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

    This method 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

    This method tests less than or equal to (for self and other) and is used by the <=\noperator. Read more
    1.0.0 · source§

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

    This method 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

    This method tests greater than or equal to (for self and other) and is used by the >=\noperator. Read more
    ","PartialOrd","conjure_oxide::ApplicationResult"],["
    1.16.0 · source§

    impl<T, U, E> Product<Result<U, E>> for Result<T, E>
    where\n T: Product<U>,

    source§

    fn product<I>(iter: I) -> Result<T, E>
    where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the product of all elements is returned.

    \n
    §Examples
    \n

    This multiplies each number in a vector of strings,\nif a string could not be parsed the operation returns Err:

    \n\n
    let nums = vec![\"5\", \"10\", \"1\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert_eq!(total, Ok(100));\nlet nums = vec![\"5\", \"10\", \"one\", \"2\"];\nlet total: Result<usize, _> = nums.iter().map(|w| w.parse::<usize>()).product();\nassert!(total.is_err());
    \n
    ","Product>","conjure_oxide::ApplicationResult"],["
    source§

    impl<T, E> Result<T, E>

    1.0.0 (const: 1.48.0) · source

    pub const fn is_ok(&self) -> bool

    Returns true if the result is Ok.

    \n
    §Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_ok(), true);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_ok(), false);
    \n
    1.70.0 · source

    pub fn is_ok_and(self, f: impl FnOnce(T) -> bool) -> bool

    Returns true if the result is Ok and the value inside of it matches a predicate.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.is_ok_and(|x| x > 1), true);\n\nlet x: Result<u32, &str> = Ok(0);\nassert_eq!(x.is_ok_and(|x| x > 1), false);\n\nlet x: Result<u32, &str> = Err(\"hey\");\nassert_eq!(x.is_ok_and(|x| x > 1), false);
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn is_err(&self) -> bool

    Returns true if the result is Err.

    \n
    §Examples
    \n
    let x: Result<i32, &str> = Ok(-3);\nassert_eq!(x.is_err(), false);\n\nlet x: Result<i32, &str> = Err(\"Some error message\");\nassert_eq!(x.is_err(), true);
    \n
    1.70.0 · source

    pub fn is_err_and(self, f: impl FnOnce(E) -> bool) -> bool

    Returns true if the result is Err and the value inside of it matches a predicate.

    \n
    §Examples
    \n
    use std::io::{Error, ErrorKind};\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::NotFound, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), true);\n\nlet x: Result<u32, Error> = Err(Error::new(ErrorKind::PermissionDenied, \"!\"));\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);\n\nlet x: Result<u32, Error> = Ok(123);\nassert_eq!(x.is_err_and(|x| x.kind() == ErrorKind::NotFound), false);
    \n
    1.0.0 · source

    pub fn ok(self) -> Option<T>

    Converts from Result<T, E> to Option<T>.

    \n

    Converts self into an Option<T>, consuming self,\nand discarding the error, if any.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.ok(), Some(2));\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.ok(), None);
    \n
    1.0.0 · source

    pub fn err(self) -> Option<E>

    Converts from Result<T, E> to Option<E>.

    \n

    Converts self into an Option<E>, consuming self,\nand discarding the success value, if any.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.err(), None);\n\nlet x: Result<u32, &str> = Err(\"Nothing here\");\nassert_eq!(x.err(), Some(\"Nothing here\"));
    \n
    1.0.0 (const: 1.48.0) · source

    pub const fn as_ref(&self) -> Result<&T, &E>

    Converts from &Result<T, E> to Result<&T, &E>.

    \n

    Produces a new Result, containing a reference\ninto the original, leaving the original in place.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.as_ref(), Ok(&2));\n\nlet x: Result<u32, &str> = Err(\"Error\");\nassert_eq!(x.as_ref(), Err(&\"Error\"));
    \n
    1.0.0 (const: unstable) · source

    pub fn as_mut(&mut self) -> Result<&mut T, &mut E>

    Converts from &mut Result<T, E> to Result<&mut T, &mut E>.

    \n
    §Examples
    \n
    fn mutate(r: &mut Result<i32, i32>) {\n    match r.as_mut() {\n        Ok(v) => *v = 42,\n        Err(e) => *e = 0,\n    }\n}\n\nlet mut x: Result<i32, i32> = Ok(2);\nmutate(&mut x);\nassert_eq!(x.unwrap(), 42);\n\nlet mut x: Result<i32, i32> = Err(13);\nmutate(&mut x);\nassert_eq!(x.unwrap_err(), 0);
    \n
    1.0.0 · source

    pub fn map<U, F>(self, op: F) -> Result<U, E>
    where\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to Result<U, E> by applying a function to a\ncontained Ok value, leaving an Err value untouched.

    \n

    This function can be used to compose the results of two functions.

    \n
    §Examples
    \n

    Print the numbers on each line of a string multiplied by two.

    \n\n
    let line = \"1\\n2\\n3\\n4\\n\";\n\nfor num in line.lines() {\n    match num.parse::<i32>().map(|i| i * 2) {\n        Ok(n) => println!(\"{n}\"),\n        Err(..) => {}\n    }\n}
    \n
    1.41.0 · source

    pub fn map_or<U, F>(self, default: U, f: F) -> U
    where\n F: FnOnce(T) -> U,

    Returns the provided default (if Err), or\napplies a function to the contained value (if Ok).

    \n

    Arguments passed to map_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use map_or_else,\nwhich is lazily evaluated.

    \n
    §Examples
    \n
    let x: Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or(42, |v| v.len()), 3);\n\nlet x: Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or(42, |v| v.len()), 42);
    \n
    1.41.0 · source

    pub fn map_or_else<U, D, F>(self, default: D, f: F) -> U
    where\n D: FnOnce(E) -> U,\n F: FnOnce(T) -> U,

    Maps a Result<T, E> to U by applying fallback function default to\na contained Err value, or function f to a contained Ok value.

    \n

    This function can be used to unpack a successful result\nwhile handling an error.

    \n
    §Examples
    \n
    let k = 21;\n\nlet x : Result<_, &str> = Ok(\"foo\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 3);\n\nlet x : Result<&str, _> = Err(\"bar\");\nassert_eq!(x.map_or_else(|e| k * 2, |v| v.len()), 42);
    \n
    1.0.0 · source

    pub fn map_err<F, O>(self, op: O) -> Result<T, F>
    where\n O: FnOnce(E) -> F,

    Maps a Result<T, E> to Result<T, F> by applying a function to a\ncontained Err value, leaving an Ok value untouched.

    \n

    This function can be used to pass through a successful result while handling\nan error.

    \n
    §Examples
    \n
    fn stringify(x: u32) -> String { format!(\"error code: {x}\") }\n\nlet x: Result<u32, u32> = Ok(2);\nassert_eq!(x.map_err(stringify), Ok(2));\n\nlet x: Result<u32, u32> = Err(13);\nassert_eq!(x.map_err(stringify), Err(\"error code: 13\".to_string()));
    \n
    1.76.0 · source

    pub fn inspect<F>(self, f: F) -> Result<T, E>
    where\n F: FnOnce(&T),

    Calls a function with a reference to the contained value if Ok.

    \n

    Returns the original result.

    \n
    §Examples
    \n
    let x: u8 = \"4\"\n    .parse::<u8>()\n    .inspect(|x| println!(\"original: {x}\"))\n    .map(|x| x.pow(3))\n    .expect(\"failed to parse number\");
    \n
    1.76.0 · source

    pub fn inspect_err<F>(self, f: F) -> Result<T, E>
    where\n F: FnOnce(&E),

    Calls a function with a reference to the contained value if Err.

    \n

    Returns the original result.

    \n
    §Examples
    \n
    use std::{fs, io};\n\nfn read() -> io::Result<String> {\n    fs::read_to_string(\"address.txt\")\n        .inspect_err(|e| eprintln!(\"failed to read file: {e}\"))\n}
    \n
    1.47.0 · source

    pub fn as_deref(&self) -> Result<&<T as Deref>::Target, &E>
    where\n T: Deref,

    Converts from Result<T, E> (or &Result<T, E>) to Result<&<T as Deref>::Target, &E>.

    \n

    Coerces the Ok variant of the original Result via Deref\nand returns the new Result.

    \n
    §Examples
    \n
    let x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&str, &u32> = Ok(\"hello\");\nassert_eq!(x.as_deref(), y);\n\nlet x: Result<String, u32> = Err(42);\nlet y: Result<&str, &u32> = Err(&42);\nassert_eq!(x.as_deref(), y);
    \n
    1.47.0 · source

    pub fn as_deref_mut(&mut self) -> Result<&mut <T as Deref>::Target, &mut E>
    where\n T: DerefMut,

    Converts from Result<T, E> (or &mut Result<T, E>) to Result<&mut <T as DerefMut>::Target, &mut E>.

    \n

    Coerces the Ok variant of the original Result via DerefMut\nand returns the new Result.

    \n
    §Examples
    \n
    let mut s = \"HELLO\".to_string();\nlet mut x: Result<String, u32> = Ok(\"hello\".to_string());\nlet y: Result<&mut str, &mut u32> = Ok(&mut s);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);\n\nlet mut i = 42;\nlet mut x: Result<String, u32> = Err(42);\nlet y: Result<&mut str, &mut u32> = Err(&mut i);\nassert_eq!(x.as_deref_mut().map(|x| { x.make_ascii_uppercase(); x }), y);
    \n
    1.0.0 · source

    pub fn iter(&self) -> Iter<'_, T>

    Returns an iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(7);\nassert_eq!(x.iter().next(), Some(&7));\n\nlet x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter().next(), None);
    \n
    1.0.0 · source

    pub fn iter_mut(&mut self) -> IterMut<'_, T>

    Returns a mutable iterator over the possibly contained value.

    \n

    The iterator yields one value if the result is Result::Ok, otherwise none.

    \n
    §Examples
    \n
    let mut x: Result<u32, &str> = Ok(7);\nmatch x.iter_mut().next() {\n    Some(v) => *v = 40,\n    None => {},\n}\nassert_eq!(x, Ok(40));\n\nlet mut x: Result<u32, &str> = Err(\"nothing!\");\nassert_eq!(x.iter_mut().next(), None);
    \n
    1.4.0 · source

    pub fn expect(self, msg: &str) -> T
    where\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    §Panics
    \n

    Panics if the value is an Err, with a panic message including the\npassed message, and the content of the Err.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nx.expect(\"Testing expect\"); // panics with `Testing expect: emergency failure`
    \n
    §Recommended Message Style
    \n

    We recommend that expect messages are used to describe the reason you\nexpect the Result should be Ok.

    \n\n
    let path = std::env::var(\"IMPORTANT_PATH\")\n    .expect(\"env variable `IMPORTANT_PATH` should be set by `wrapper_script.sh`\");
    \n

    Hint: If you’re having trouble remembering how to phrase expect\nerror messages remember to focus on the word “should” as in “env\nvariable should be set by blah” or “the given binary should be available\nand executable by the current user”.

    \n

    For more detail on expect message styles and the reasoning behind our recommendation please\nrefer to the section on “Common Message\nStyles” in the\nstd::error module docs.

    \n
    1.0.0 · source

    pub fn unwrap(self) -> T
    where\n E: Debug,

    Returns the contained Ok value, consuming the self value.

    \n

    Because this function may panic, its use is generally discouraged.\nInstead, prefer to use pattern matching and handle the Err\ncase explicitly, or call unwrap_or, unwrap_or_else, or\nunwrap_or_default.

    \n
    §Panics
    \n

    Panics if the value is an Err, with a panic message provided by the\nErr’s value.

    \n
    §Examples
    \n

    Basic usage:

    \n\n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(x.unwrap(), 2);
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nx.unwrap(); // panics with `emergency failure`
    \n
    1.16.0 · source

    pub fn unwrap_or_default(self) -> T
    where\n T: Default,

    Returns the contained Ok value or a default

    \n

    Consumes the self argument then, if Ok, returns the contained\nvalue, otherwise if Err, returns the default value for that\ntype.

    \n
    §Examples
    \n

    Converts a string to an integer, turning poorly-formed strings\ninto 0 (the default value for integers). parse converts\na string to any other type that implements FromStr, returning an\nErr on error.

    \n\n
    let good_year_from_input = \"1909\";\nlet bad_year_from_input = \"190blarg\";\nlet good_year = good_year_from_input.parse().unwrap_or_default();\nlet bad_year = bad_year_from_input.parse().unwrap_or_default();\n\nassert_eq!(1909, good_year);\nassert_eq!(0, bad_year);
    \n
    1.17.0 · source

    pub fn expect_err(self, msg: &str) -> E
    where\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    §Panics
    \n

    Panics if the value is an Ok, with a panic message including the\npassed message, and the content of the Ok.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(10);\nx.expect_err(\"Testing expect_err\"); // panics with `Testing expect_err: 10`
    \n
    1.0.0 · source

    pub fn unwrap_err(self) -> E
    where\n T: Debug,

    Returns the contained Err value, consuming the self value.

    \n
    §Panics
    \n

    Panics if the value is an Ok, with a custom panic message provided\nby the Ok’s value.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nx.unwrap_err(); // panics with `2`
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(x.unwrap_err(), \"emergency failure\");
    \n
    source

    pub fn into_ok(self) -> T
    where\n E: Into<!>,

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

    Returns the contained Ok value, but never panics.

    \n

    Unlike unwrap, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap as a maintainability safeguard that will fail\nto compile if the error type of the Result is later changed\nto an error that can actually occur.

    \n
    §Examples
    \n
    \nfn only_good_news() -> Result<String, !> {\n    Ok(\"this is fine\".into())\n}\n\nlet s: String = only_good_news().into_ok();\nprintln!(\"{s}\");
    \n
    source

    pub fn into_err(self) -> E
    where\n T: Into<!>,

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

    Returns the contained Err value, but never panics.

    \n

    Unlike unwrap_err, this method is known to never panic on the\nresult types it is implemented for. Therefore, it can be used\ninstead of unwrap_err as a maintainability safeguard that will fail\nto compile if the ok type of the Result is later changed\nto a type that can actually occur.

    \n
    §Examples
    \n
    \nfn only_bad_news() -> Result<!, String> {\n    Err(\"Oops, it failed\".into())\n}\n\nlet error: String = only_bad_news().into_err();\nprintln!(\"{error}\");
    \n
    1.0.0 · source

    pub fn and<U>(self, res: Result<U, E>) -> Result<U, E>

    Returns res if the result is Ok, otherwise returns the Err value of self.

    \n

    Arguments passed to and are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use and_then, which is\nlazily evaluated.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<&str, &str> = Ok(\"foo\");\nassert_eq!(x.and(y), Err(\"early error\"));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<&str, &str> = Err(\"late error\");\nassert_eq!(x.and(y), Err(\"not a 2\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<&str, &str> = Ok(\"different result type\");\nassert_eq!(x.and(y), Ok(\"different result type\"));
    \n
    1.0.0 · source

    pub fn and_then<U, F>(self, op: F) -> Result<U, E>
    where\n F: FnOnce(T) -> Result<U, E>,

    Calls op if the result is Ok, otherwise returns the Err value of self.

    \n

    This function can be used for control flow based on Result values.

    \n
    §Examples
    \n
    fn sq_then_to_string(x: u32) -> Result<String, &'static str> {\n    x.checked_mul(x).map(|sq| sq.to_string()).ok_or(\"overflowed\")\n}\n\nassert_eq!(Ok(2).and_then(sq_then_to_string), Ok(4.to_string()));\nassert_eq!(Ok(1_000_000).and_then(sq_then_to_string), Err(\"overflowed\"));\nassert_eq!(Err(\"not a number\").and_then(sq_then_to_string), Err(\"not a number\"));
    \n

    Often used to chain fallible operations that may return Err.

    \n\n
    use std::{io::ErrorKind, path::Path};\n\n// Note: on Windows \"/\" maps to \"C:\\\"\nlet root_modified_time = Path::new(\"/\").metadata().and_then(|md| md.modified());\nassert!(root_modified_time.is_ok());\n\nlet should_fail = Path::new(\"/bad/path\").metadata().and_then(|md| md.modified());\nassert!(should_fail.is_err());\nassert_eq!(should_fail.unwrap_err().kind(), ErrorKind::NotFound);
    \n
    1.0.0 · source

    pub fn or<F>(self, res: Result<T, F>) -> Result<T, F>

    Returns res if the result is Err, otherwise returns the Ok value of self.

    \n

    Arguments passed to or are eagerly evaluated; if you are passing the\nresult of a function call, it is recommended to use or_else, which is\nlazily evaluated.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"early error\");\nlet y: Result<u32, &str> = Ok(2);\nassert_eq!(x.or(y), Ok(2));\n\nlet x: Result<u32, &str> = Err(\"not a 2\");\nlet y: Result<u32, &str> = Err(\"late error\");\nassert_eq!(x.or(y), Err(\"late error\"));\n\nlet x: Result<u32, &str> = Ok(2);\nlet y: Result<u32, &str> = Ok(100);\nassert_eq!(x.or(y), Ok(2));
    \n
    1.0.0 · source

    pub fn or_else<F, O>(self, op: O) -> Result<T, F>
    where\n O: FnOnce(E) -> Result<T, F>,

    Calls op if the result is Err, otherwise returns the Ok value of self.

    \n

    This function can be used for control flow based on result values.

    \n
    §Examples
    \n
    fn sq(x: u32) -> Result<u32, u32> { Ok(x * x) }\nfn err(x: u32) -> Result<u32, u32> { Err(x) }\n\nassert_eq!(Ok(2).or_else(sq).or_else(sq), Ok(2));\nassert_eq!(Ok(2).or_else(err).or_else(sq), Ok(2));\nassert_eq!(Err(3).or_else(sq).or_else(err), Ok(9));\nassert_eq!(Err(3).or_else(err).or_else(err), Err(3));
    \n
    1.0.0 · source

    pub fn unwrap_or(self, default: T) -> T

    Returns the contained Ok value or a provided default.

    \n

    Arguments passed to unwrap_or are eagerly evaluated; if you are passing\nthe result of a function call, it is recommended to use unwrap_or_else,\nwhich is lazily evaluated.

    \n
    §Examples
    \n
    let default = 2;\nlet x: Result<u32, &str> = Ok(9);\nassert_eq!(x.unwrap_or(default), 9);\n\nlet x: Result<u32, &str> = Err(\"error\");\nassert_eq!(x.unwrap_or(default), default);
    \n
    1.0.0 · source

    pub fn unwrap_or_else<F>(self, op: F) -> T
    where\n F: FnOnce(E) -> T,

    Returns the contained Ok value or computes it from a closure.

    \n
    §Examples
    \n
    fn count(x: &str) -> usize { x.len() }\n\nassert_eq!(Ok(2).unwrap_or_else(count), 2);\nassert_eq!(Err(\"foo\").unwrap_or_else(count), 3);
    \n
    1.58.0 · source

    pub unsafe fn unwrap_unchecked(self) -> T

    Returns the contained Ok value, consuming the self value,\nwithout checking that the value is not an Err.

    \n
    §Safety
    \n

    Calling this method on an Err is undefined behavior.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nassert_eq!(unsafe { x.unwrap_unchecked() }, 2);
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nunsafe { x.unwrap_unchecked(); } // Undefined behavior!
    \n
    1.58.0 · source

    pub unsafe fn unwrap_err_unchecked(self) -> E

    Returns the contained Err value, consuming the self value,\nwithout checking that the value is not an Ok.

    \n
    §Safety
    \n

    Calling this method on an Ok is undefined behavior.

    \n
    §Examples
    \n
    let x: Result<u32, &str> = Ok(2);\nunsafe { x.unwrap_err_unchecked() }; // Undefined behavior!
    \n\n
    let x: Result<u32, &str> = Err(\"emergency failure\");\nassert_eq!(unsafe { x.unwrap_err_unchecked() }, \"emergency failure\");
    \n
    ",0,"conjure_oxide::ApplicationResult"],["
    §

    impl<T, E> ResultExt<T, E> for Result<T, E>

    §

    fn context<X>(self, x: X) -> Result<T, Context<X, E>>

    The method is use to add context information to current operation Read more
    ","ResultExt","conjure_oxide::ApplicationResult"],["
    source§

    impl<T, E> Serialize for Result<T, E>
    where\n T: Serialize,\n E: 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","conjure_oxide::ApplicationResult"],["
    source§

    impl<T, TAs, E, EAs> SerializeAs<Result<T, E>> for Result<TAs, EAs>
    where\n TAs: SerializeAs<T>,\n EAs: SerializeAs<E>,

    source§

    fn serialize_as<S>(\n source: &Result<T, E>,\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.
    ","SerializeAs>","conjure_oxide::ApplicationResult"],["
    1.16.0 · source§

    impl<T, U, E> Sum<Result<U, E>> for Result<T, E>
    where\n T: Sum<U>,

    source§

    fn sum<I>(iter: I) -> Result<T, E>
    where\n I: Iterator<Item = Result<U, E>>,

    Takes each element in the Iterator: if it is an Err, no further\nelements are taken, and the Err is returned. Should no Err\noccur, the sum of all elements is returned.

    \n
    §Examples
    \n

    This sums up every integer in a vector, rejecting the sum if a negative\nelement is encountered:

    \n\n
    let f = |&x: &i32| if x < 0 { Err(\"Negative element found\") } else { Ok(x) };\nlet v = vec![1, 2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Ok(3));\nlet v = vec![1, -2];\nlet res: Result<i32, _> = v.iter().map(f).sum();\nassert_eq!(res, Err(\"Negative element found\"));
    \n
    ","Sum>","conjure_oxide::ApplicationResult"],["
    1.61.0 · source§

    impl<T, E> Termination for Result<T, E>
    where\n T: Termination,\n E: Debug,

    source§

    fn report(self) -> ExitCode

    Is called to get the representation of the value as status code.\nThis status code is returned to the operating system.
    ","Termination","conjure_oxide::ApplicationResult"],["
    source§

    impl<T, E> Try for Result<T, E>

    §

    type Output = T

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value produced by ? when not short-circuiting.
    §

    type Residual = Result<Infallible, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    The type of the value passed to FromResidual::from_residual\nas part of ? when short-circuiting. Read more
    source§

    fn from_output(output: <Result<T, E> as Try>::Output) -> Result<T, E>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Constructs the type from its Output type. Read more
    source§

    fn branch(\n self\n) -> ControlFlow<<Result<T, E> as Try>::Residual, <Result<T, E> as Try>::Output>

    🔬This is a nightly-only experimental API. (try_trait_v2)
    Used in ? to decide whether the operator should produce a value\n(because this returned ControlFlow::Continue)\nor propagate a value back to the caller\n(because this returned ControlFlow::Break). Read more
    ","Try","conjure_oxide::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> Copy for Result<T, E>
    where\n T: Copy,\n E: Copy,

    ","Copy","conjure_oxide::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> Eq for Result<T, E>
    where\n T: Eq,\n E: Eq,

    ","Eq","conjure_oxide::ApplicationResult"],["
    1.0.0 · source§

    impl<T, E> StructuralPartialEq for Result<T, E>

    ","StructuralPartialEq","conjure_oxide::ApplicationResult"]] };if (window.register_type_impls) {window.register_type_impls(type_impls);} else {window.pending_type_impls = type_impls;}})() \ No newline at end of file diff --git a/docs/uniplate/all.html b/docs/uniplate/all.html index 81fc4ce0f9..8d28a033d7 100644 --- a/docs/uniplate/all.html +++ b/docs/uniplate/all.html @@ -1 +1 @@ -List of all items in this crate
    \ No newline at end of file +List of all items in this crate
    \ No newline at end of file diff --git a/docs/uniplate/biplate/index.html b/docs/uniplate/biplate/index.html index 1d8966c9d7..574f726e43 100644 --- a/docs/uniplate/biplate/index.html +++ b/docs/uniplate/biplate/index.html @@ -1 +1 @@ -uniplate::biplate - Rust

    Module uniplate::biplate

    source ·

    Re-exports§

    • pub use super::Tree;

    Traits§

    \ No newline at end of file +uniplate::biplate - Rust

    Module uniplate::biplate

    source ·

    Re-exports§

    • pub use super::Tree;

    Traits§

    \ No newline at end of file diff --git a/docs/uniplate/biplate/trait.Biplate.html b/docs/uniplate/biplate/trait.Biplate.html index 97751d6c0a..3b61dc6f9b 100644 --- a/docs/uniplate/biplate/trait.Biplate.html +++ b/docs/uniplate/biplate/trait.Biplate.html @@ -1,4 +1,4 @@ -Biplate in uniplate::biplate - Rust

    Trait uniplate::biplate::Biplate

    source ·
    pub trait Biplate<To>
    where +Biplate in uniplate::biplate - Rust

    Trait uniplate::biplate::Biplate

    source ·
    pub trait Biplate<To>
    where Self: Sized + Clone + Eq + Uniplate + 'static, To: Sized + Clone + Eq + Uniplate + 'static,
    { // Required method diff --git a/docs/uniplate/biplate/trait.Uniplate.html b/docs/uniplate/biplate/trait.Uniplate.html index d124a6f8f5..cb2477e4f8 100644 --- a/docs/uniplate/biplate/trait.Uniplate.html +++ b/docs/uniplate/biplate/trait.Uniplate.html @@ -1,4 +1,4 @@ -Uniplate in uniplate::biplate - Rust

    Trait uniplate::biplate::Uniplate

    source ·
    pub trait Uniplate
    where +Uniplate in uniplate::biplate - Rust

    Trait uniplate::biplate::Uniplate

    source ·
    pub trait Uniplate
    where Self: Sized + Clone + Eq + 'static,
    { // Required method fn uniplate(&self) -> (Tree<Self>, Box<dyn Fn(Tree<Self>) -> Self>); diff --git a/docs/uniplate/enum.Tree.html b/docs/uniplate/enum.Tree.html index 6e727d42ee..3459116b40 100644 --- a/docs/uniplate/enum.Tree.html +++ b/docs/uniplate/enum.Tree.html @@ -1,4 +1,4 @@ -Tree in uniplate - Rust

    Enum uniplate::Tree

    source ·
    pub enum Tree<T: Sized + Clone + Eq> {
    +Tree in uniplate - Rust

    Enum uniplate::Tree

    source ·
    pub enum Tree<T: Sized + Clone + Eq> {
         Zero,
         One(T),
         Many(Vector<Tree<T>>),
    diff --git a/docs/uniplate/index.html b/docs/uniplate/index.html
    index a12657a8fd..a5212d6a7a 100644
    --- a/docs/uniplate/index.html
    +++ b/docs/uniplate/index.html
    @@ -1,4 +1,4 @@
    -uniplate - Rust

    Crate uniplate

    source ·
    Expand description

    A port of Haskell’s Uniplate in Rust.

    +uniplate - Rust

    Crate uniplate

    source ·
    Expand description

    A port of Haskell’s Uniplate in Rust.

    §Examples

    §A Calculator Input Language

    Consider the AST of a calculator input language:

    diff --git a/docs/uniplate/uniplate/enum.UniplateError.html b/docs/uniplate/uniplate/enum.UniplateError.html index 89560cefdd..0ded8a1480 100644 --- a/docs/uniplate/uniplate/enum.UniplateError.html +++ b/docs/uniplate/uniplate/enum.UniplateError.html @@ -1,4 +1,4 @@ -UniplateError in uniplate::uniplate - Rust

    Enum uniplate::uniplate::UniplateError

    source ·
    pub enum UniplateError {
    +UniplateError in uniplate::uniplate - Rust

    Enum uniplate::uniplate::UniplateError

    source ·
    pub enum UniplateError {
         WrongNumberOfChildren(usize, usize),
     }

    Variants§

    §

    WrongNumberOfChildren(usize, usize)

    Trait Implementations§

    source§

    impl Debug for UniplateError

    source§

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

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

    impl Display for UniplateError

    source§

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

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

    impl Error for UniplateError

    1.30.0 · source§

    fn source(&self) -> Option<&(dyn Error + 'static)>

    The lower-level source of this error, if any. Read more
    1.0.0 · source§

    fn description(&self) -> &str

    👎Deprecated since 1.42.0: use the Display impl or to_string()
    1.0.0 · source§

    fn cause(&self) -> Option<&dyn Error>

    👎Deprecated since 1.33.0: replaced by Error::source, which can support downcasting
    source§

    fn provide<'a>(&'a self, request: &mut Request<'a>)

    🔬This is a nightly-only experimental API. (error_generic_member_access)
    Provides type based access to context intended for error reports. Read more
    source§

    impl PartialEq for UniplateError

    source§

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

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

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

    This method tests for !=. The default implementation is almost always @@ -10,8 +10,8 @@ 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> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for T
    where - T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

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

    source§

    impl<T> Same for T

    §

    type Output = T

    Should always be Self
    source§

    impl<T> ToString for T
    where + T: Display + ?Sized,

    source§

    default fn to_string(&self) -> String

    Converts the given value to a String. Read more
    source§

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

    §

    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>,

    §

    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.
    §

    impl<V, T> VZip<V> for T
    where V: MultiLane<T>,

    §

    fn vzip(self) -> V

    \ No newline at end of file diff --git a/docs/uniplate/uniplate/index.html b/docs/uniplate/uniplate/index.html index 8bcd634d5c..f66c8f0cbf 100644 --- a/docs/uniplate/uniplate/index.html +++ b/docs/uniplate/uniplate/index.html @@ -1 +1 @@ -uniplate::uniplate - Rust

    Module uniplate::uniplate

    source ·

    Enums§

    Traits§

    \ No newline at end of file +uniplate::uniplate - Rust

    Module uniplate::uniplate

    source ·

    Enums§

    Traits§

    \ No newline at end of file diff --git a/docs/uniplate/uniplate/trait.Uniplate.html b/docs/uniplate/uniplate/trait.Uniplate.html index 188db40ca9..a262161c38 100644 --- a/docs/uniplate/uniplate/trait.Uniplate.html +++ b/docs/uniplate/uniplate/trait.Uniplate.html @@ -1,4 +1,4 @@ -Uniplate in uniplate::uniplate - Rust

    Trait uniplate::uniplate::Uniplate

    source ·
    pub trait Uniplate
    where +Uniplate in uniplate::uniplate - Rust

    Trait uniplate::uniplate::Uniplate

    source ·
    pub trait Uniplate
    where Self: Sized + Clone + Eq,
    { // Required method fn uniplate(