diff --git a/coverage/main/badges/flat.svg b/coverage/main/badges/flat.svg index a8ad79892..c844e4c03 100644 --- a/coverage/main/badges/flat.svg +++ b/coverage/main/badges/flat.svg @@ -1,23 +1,23 @@ - coverage: 74% + xmlns:xlink="http://www.w3.org/1999/xlink" width="90" height="20" role="img" aria-label="coverage: 9%"> + coverage: 9% - + - - + + coverage - - 74% + + 9% \ No newline at end of file diff --git a/coverage/main/badges/flat_square.svg b/coverage/main/badges/flat_square.svg index fb34f5594..20b9b9651 100644 --- a/coverage/main/badges/flat_square.svg +++ b/coverage/main/badges/flat_square.svg @@ -1,13 +1,13 @@ - coverage: 74% + xmlns:xlink="http://www.w3.org/1999/xlink" width="90" height="20" role="img" aria-label="coverage: 9%"> + coverage: 9% - + coverage - 74% + 9% \ No newline at end of file diff --git a/coverage/main/badges/for_the_badge.svg b/coverage/main/badges/for_the_badge.svg index 72da28008..1a7774cd4 100644 --- a/coverage/main/badges/for_the_badge.svg +++ b/coverage/main/badges/for_the_badge.svg @@ -1,13 +1,13 @@ - COVERAGE: 74% + xmlns:xlink="http://www.w3.org/1999/xlink" width="133" height="28" role="img" aria-label="COVERAGE: 9%"> + COVERAGE: 9% - + COVERAGE - 74% + 9% \ No newline at end of file diff --git a/coverage/main/badges/plastic.svg b/coverage/main/badges/plastic.svg index b548872fe..384ae2519 100644 --- a/coverage/main/badges/plastic.svg +++ b/coverage/main/badges/plastic.svg @@ -1,6 +1,6 @@ - coverage: 74% + xmlns:xlink="http://www.w3.org/1999/xlink" width="90" height="18" role="img" aria-label="coverage: 9%"> + coverage: 9% @@ -8,18 +8,18 @@ - + - - + + coverage - - 74% + + 9% \ No newline at end of file diff --git a/coverage/main/badges/social.svg b/coverage/main/badges/social.svg index f061a944b..cd39fc429 100644 --- a/coverage/main/badges/social.svg +++ b/coverage/main/badges/social.svg @@ -1,6 +1,6 @@ - Coverage: 74% + xmlns:xlink="http://www.w3.org/1999/xlink" width="93" height="20" role="img" aria-label="Coverage: 9%"> + Coverage: 9% @@ -12,7 +12,7 @@ - + @@ -20,8 +20,8 @@ Coverage - - 74% + + 9% \ No newline at end of file diff --git a/coverage/main/conjure_oxide/src/find_conjure.rs.html b/coverage/main/conjure_oxide/src/find_conjure.rs.html index eeee0a6ee..87fb17f5a 100644 --- a/coverage/main/conjure_oxide/src/find_conjure.rs.html +++ b/coverage/main/conjure_oxide/src/find_conjure.rs.html @@ -15,7 +15,7 @@

Lines

- 47.92 %

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 16.67 %

+ 0 %

@@ -166,13 +166,13 @@ 9
- 5 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
pub fn conjure_executable() -> Result<()> {
+
pub fn conjure_executable() -> Result<()> {
10
- 5 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let mut cmd = std::process::Command::new("conjure");
+
    let mut cmd = std::process::Command::new("conjure");
11
- 5 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let output = cmd.arg("--version").output()?;
+
    let output = cmd.arg("--version").output()?;
12
- 5 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let stdout = String::from_utf8(output.stdout)?;
+
    let stdout = String::from_utf8(output.stdout)?;
13
- 5 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let stderr = String::from_utf8(output.stderr)?;
+
    let stderr = String::from_utf8(output.stderr)?;
15
- 5 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    if !stderr.is_empty() {
+
    if !stderr.is_empty() {
17
- 5 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
18
- 5 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let first = stdout
+
    let first = stdout
19
- 5 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .lines()
+
        .lines()
20
- 5 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .next()
+
        .next()
21
- 5 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .ok_or(anyhow!("Could not read stdout"))?;
+
        .ok_or(anyhow!("Could not read stdout"))?;
22
- 5 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    if first != CORRECT_FIRST_LINE {
+
    if first != CORRECT_FIRST_LINE {
34
- 5 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
35
- 5 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let version_line = stdout
+
    let version_line = stdout
36
- 5 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .lines()
+
        .lines()
37
- 5 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .nth(1)
+
        .nth(1)
38
- 5 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .ok_or(anyhow!("Could not read Conjure's stdout"))?;
+
        .ok_or(anyhow!("Could not read Conjure's stdout"))?;
40
- 5 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let version = match version_line.strip_prefix("Release version ") {
+
    let version = match version_line.strip_prefix("Release version ") {
41
- 5 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Some(v) => Ok(v),
+
        Some(v) => Ok(v),
55
- 5 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    if Versioning::new(version) < Versioning::new(CONJURE_MIN_VERSION) {
+
    if Versioning::new(version) < Versioning::new(CONJURE_MIN_VERSION) {
61
- 5 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
62
- 5 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    Ok(())
+
    Ok(())
63
- 5 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
diff --git a/coverage/main/conjure_oxide/src/index.html b/coverage/main/conjure_oxide/src/index.html index 96a6dfcb6..6a5a24916 100644 --- a/coverage/main/conjure_oxide/src/index.html +++ b/coverage/main/conjure_oxide/src/index.html @@ -15,7 +15,7 @@

Lines

- 47.92 %

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 16.67 %

+ 0 %

@@ -46,20 +46,20 @@ - 47.92% + 0% - 47.92% + 0% - 23 / 48 + 0 / 48 - 16.67% - 1 / 6 + 0% + 0 / 4 @@ -67,7 +67,7 @@ diff --git a/coverage/main/conjure_oxide/src/utils/conjure.rs.html b/coverage/main/conjure_oxide/src/utils/conjure.rs.html index c04310162..68f9af88a 100644 --- a/coverage/main/conjure_oxide/src/utils/conjure.rs.html +++ b/coverage/main/conjure_oxide/src/utils/conjure.rs.html @@ -14,8 +14,8 @@

Lines

-

- 80 %

+

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 22.22 %

+ 0 %

@@ -502,13 +502,13 @@ 30
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
pub fn parse_essence_file(
+
pub fn parse_essence_file(
31
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    path: &str,
+
    path: &str,
32
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    filename: &str,
+
    filename: &str,
33
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    context: Arc<RwLock<Context<'static>>>,
+
    context: Arc<RwLock<Context<'static>>>,
34
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
) -> Result<Model, EssenceParseError> {
+
) -> Result<Model, EssenceParseError> {
35
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let mut cmd = std::process::Command::new("conjure");
+
    let mut cmd = std::process::Command::new("conjure");
36
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let output = match cmd
+
    let output = match cmd
37
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .arg("pretty")
+
        .arg("pretty")
38
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .arg("--output-format=astjson")
+
        .arg("--output-format=astjson")
39
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .arg(format!("{path}/{filename}.essence"))
+
        .arg(format!("{path}/{filename}.essence"))
40
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .output()
+
        .output()
42
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Ok(output) => output,
+
        Ok(output) => output,
46
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    if !output.status.success() {
+
    if !output.status.success() {
50
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
52
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let astjson = match String::from_utf8(output.stdout) {
+
    let astjson = match String::from_utf8(output.stdout) {
53
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Ok(astjson) => astjson,
+
        Ok(astjson) => astjson,
62
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let parsed_model = model_from_json(&astjson, context)?;
+
    let parsed_model = model_from_json(&astjson, context)?;
63
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    Ok(parsed_model)
+
    Ok(parsed_model)
64
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
66
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
pub fn get_minion_solutions(model: Model) -> Result<Vec<HashMap<Name, Constant>>, anyhow::Error> {
+
pub fn get_minion_solutions(model: Model) -> Result<Vec<HashMap<Name, Constant>>, anyhow::Error> {
67
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let solver = Solver::new(Minion::new());
+
    let solver = Solver::new(Minion::new());
68
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
69
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    println!("Building Minion model...");
+
    println!("Building Minion model...");
70
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let solver = solver.load_model(model)?;
+
    let solver = solver.load_model(model)?;
72
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    println!("Running Minion...");
+
    println!("Running Minion...");
73
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
74
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let all_solutions_ref = Arc::new(Mutex::<Vec<HashMap<Name, Constant>>>::new(vec![]));
+
    let all_solutions_ref = Arc::new(Mutex::<Vec<HashMap<Name, Constant>>>::new(vec![]));
75
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let all_solutions_ref_2 = all_solutions_ref.clone();
+
    let all_solutions_ref_2 = all_solutions_ref.clone();
76
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    #[allow(clippy::unwrap_used)]
+
    #[allow(clippy::unwrap_used)]
77
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let solver = solver
+
    let solver = solver
78
- 655 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .solve(Box::new(move |sols| {
+
        .solve(Box::new(move |sols| {
79
- 655 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let mut all_solutions = (*all_solutions_ref_2).lock().unwrap();
+
            let mut all_solutions = (*all_solutions_ref_2).lock().unwrap();
80
- 655 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            (*all_solutions).push(sols);
+
            (*all_solutions).push(sols);
81
- 655 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            true
+
            true
82
- 655 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        }))
+
        }))
83
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .unwrap();
+
        .unwrap();
84
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
85
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    solver.save_stats_to_context();
+
    solver.save_stats_to_context();
86
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
87
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    #[allow(clippy::unwrap_used)]
+
    #[allow(clippy::unwrap_used)]
88
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let sols = (*all_solutions_ref).lock().unwrap();
+
    let sols = (*all_solutions_ref).lock().unwrap();
89
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
90
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    Ok((*sols).clone())
+
    Ok((*sols).clone())
91
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
93
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
pub fn minion_solutions_to_json(solutions: &Vec<HashMap<Name, Constant>>) -> JsonValue {
+
pub fn minion_solutions_to_json(solutions: &Vec<HashMap<Name, Constant>>) -> JsonValue {
94
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let mut json_solutions = Vec::new();
+
    let mut json_solutions = Vec::new();
95
- 725 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    for solution in solutions {
+
    for solution in solutions {
96
- 655 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let mut json_solution = Map::new();
+
        let mut json_solution = Map::new();
97
- 2980 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        for (var_name, constant) in solution {
+
        for (var_name, constant) in solution {
98
- 2325 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let serialized_constant = match constant {
+
            let serialized_constant = match constant {
99
- 2325 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                Constant::Int(i) => JsonValue::Number((*i).into()),
+
                Constant::Int(i) => JsonValue::Number((*i).into()),
102
- 2325 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            json_solution.insert(var_name.to_string(), serialized_constant);
+
            json_solution.insert(var_name.to_string(), serialized_constant);
104
- 655 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        json_solutions.push(JsonValue::Object(json_solution));
+
        json_solutions.push(JsonValue::Object(json_solution));
106
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let ans = JsonValue::Array(json_solutions);
+
    let ans = JsonValue::Array(json_solutions);
107
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    sort_json_object(&ans, true)
+
    sort_json_object(&ans, true)
108
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
diff --git a/coverage/main/conjure_oxide/src/utils/index.html b/coverage/main/conjure_oxide/src/utils/index.html index 7c8ffe1c6..f2551e98d 100644 --- a/coverage/main/conjure_oxide/src/utils/index.html +++ b/coverage/main/conjure_oxide/src/utils/index.html @@ -15,7 +15,7 @@

Lines

- 67.86 %

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 25.4 %

+ 0 %

@@ -45,21 +45,21 @@ - 80% + 0% - - 80% + + 0% - - 56 / 70 + + 0 / 70 - 22.22% - 4 / 18 + 0% + 0 / 12 @@ -69,21 +69,21 @@ - 80.77% + 0% - - 80.77% + + 0% - - 42 / 52 + + 0 / 52 - 33.33% - 6 / 18 + 0% + 0 / 12 @@ -107,7 +107,7 @@ 0% - 0 / 3 + 0 / 2 @@ -118,20 +118,20 @@ - 59.35% + 0% - 59.35% + 0% - 73 / 123 + 0 / 123 - 25% - 6 / 24 + 0% + 0 / 16 @@ -139,7 +139,7 @@ diff --git a/coverage/main/conjure_oxide/src/utils/json.rs.html b/coverage/main/conjure_oxide/src/utils/json.rs.html index 96cd50881..559cb473b 100644 --- a/coverage/main/conjure_oxide/src/utils/json.rs.html +++ b/coverage/main/conjure_oxide/src/utils/json.rs.html @@ -14,8 +14,8 @@

Lines

-

- 80.77 %

+

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 33.33 %

+ 0 %

@@ -134,13 +134,13 @@ 7
- 2870 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn json_value_cmp(a: &Value, b: &Value) -> std::cmp::Ordering {
+
fn json_value_cmp(a: &Value, b: &Value) -> std::cmp::Ordering {
8
- 2870 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match (a, b) {
+
    match (a, b) {
17
- 240 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        (Value::Array(a), Value::Array(b)) => {
+
        (Value::Array(a), Value::Array(b)) => {
18
- 240 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            for (a, b) in a.iter().zip(b.iter()) {
+
            for (a, b) in a.iter().zip(b.iter()) {
19
- 240 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let cmp = json_value_cmp(a, b);
+
                let cmp = json_value_cmp(a, b);
20
- 240 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                if cmp != std::cmp::Ordering::Equal {
+
                if cmp != std::cmp::Ordering::Equal {
21
- 240 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    return cmp;
+
                    return cmp;
26
- 2630 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        _ => a.to_string().cmp(&b.to_string()),
+
        _ => a.to_string().cmp(&b.to_string()),
28
- 2870 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
32
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
pub fn sort_json_variables(value: &Value) -> Value {
+
pub fn sort_json_variables(value: &Value) -> Value {
33
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match value {
+
    match value {
34
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Value::Array(vars) => {
+
        Value::Array(vars) => {
35
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let mut vars_sorted = vars.clone();
+
            let mut vars_sorted = vars.clone();
36
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            vars_sorted.sort_by(json_value_cmp);
+
            vars_sorted.sort_by(json_value_cmp);
37
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Value::Array(vars_sorted)
+
            Value::Array(vars_sorted)
41
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
48
- 15540 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
pub fn sort_json_object(value: &Value, sort_arrays: bool) -> Value {
+
pub fn sort_json_object(value: &Value, sort_arrays: bool) -> Value {
49
- 15540 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match value {
+
    match value {
50
- 5015 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Value::Object(obj) => {
+
        Value::Object(obj) => {
51
- 5015 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let mut ordered: Vec<(String, Value)> = obj
+
            let mut ordered: Vec<(String, Value)> = obj
52
- 5015 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                .iter()
+
                .iter()
53
- 10735 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                .map(|(k, v)| {
+
                .map(|(k, v)| {
54
- 10735 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    if k == "variables" {
+
                    if k == "variables" {
55
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        (k.clone(), sort_json_variables(v))
+
                        (k.clone(), sort_json_variables(v))
57
- 10595 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        (k.clone(), sort_json_object(v, sort_arrays))
+
                        (k.clone(), sort_json_object(v, sort_arrays))
59
- 10735 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                })
+
                })
60
- 5015 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                .collect();
+
                .collect();
61
- 5015 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
62
- 5720 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            ordered.sort_by(|a, b| a.0.cmp(&b.0));
+
            ordered.sort_by(|a, b| a.0.cmp(&b.0));
63
- 5015 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Value::Object(ordered.into_iter().collect())
+
            Value::Object(ordered.into_iter().collect())
65
- 1760 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Value::Array(arr) => {
+
        Value::Array(arr) => {
66
- 1760 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let mut arr: Vec<Value> = arr
+
            let mut arr: Vec<Value> = arr
67
- 1760 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                .iter()
+
                .iter()
68
- 4555 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                .map(|val| sort_json_object(val, sort_arrays))
+
                .map(|val| sort_json_object(val, sort_arrays))
69
- 1760 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                .collect();
+
                .collect();
70
- 1760 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
71
- 1760 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            if sort_arrays {
+
            if sort_arrays {
72
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                arr.sort_by(json_value_cmp);
+
                arr.sort_by(json_value_cmp);
73
- 1620 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            }
+
            }
75
- 1760 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Value::Array(arr)
+
            Value::Array(arr)
77
- 8765 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        _ => value.clone(),
+
        _ => value.clone(),
79
- 15540 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
diff --git a/coverage/main/conjure_oxide/src/utils/misc.rs.html b/coverage/main/conjure_oxide/src/utils/misc.rs.html index 41ce9a654..6705a85fa 100644 --- a/coverage/main/conjure_oxide/src/utils/misc.rs.html +++ b/coverage/main/conjure_oxide/src/utils/misc.rs.html @@ -23,7 +23,7 @@

Functions

- 0 %

+ 0 %

@@ -210,7 +210,7 @@ diff --git a/coverage/main/conjure_oxide/src/utils/testing.rs.html b/coverage/main/conjure_oxide/src/utils/testing.rs.html index 5beaff5d9..e7532226e 100644 --- a/coverage/main/conjure_oxide/src/utils/testing.rs.html +++ b/coverage/main/conjure_oxide/src/utils/testing.rs.html @@ -15,7 +15,7 @@

Lines

- 59.35 %

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 25 %

+ 0 %

@@ -678,13 +678,13 @@ 41
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
pub fn serialise_model(model: &ConjureModel) -> Result<String, JsonError> {
+
pub fn serialise_model(model: &ConjureModel) -> Result<String, JsonError> {
45
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let generated_json = sort_json_object(&serde_json::to_value(model.clone())?, false);
+
    let generated_json = sort_json_object(&serde_json::to_value(model.clone())?, false);
48
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let generated_json_str = serde_json::to_string_pretty(&generated_json)?;
+
    let generated_json_str = serde_json::to_string_pretty(&generated_json)?;
50
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    Ok(generated_json_str)
+
    Ok(generated_json_str)
51
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
53
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
pub fn save_model_json(
+
pub fn save_model_json(
54
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    model: &ConjureModel,
+
    model: &ConjureModel,
55
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    path: &str,
+
    path: &str,
56
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    test_name: &str,
+
    test_name: &str,
57
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    test_stage: &str,
+
    test_stage: &str,
58
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    accept: bool,
+
    accept: bool,
59
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
) -> Result<(), std::io::Error> {
+
) -> Result<(), std::io::Error> {
60
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let generated_json_str = serialise_model(model)?;
+
    let generated_json_str = serialise_model(model)?;
62
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    File::create(format!(
+
    File::create(format!(
63
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        "{path}/{test_name}.generated-{test_stage}.serialised.json"
+
        "{path}/{test_name}.generated-{test_stage}.serialised.json"
64
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    ))?
+
    ))?
65
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    .write_all(generated_json_str.as_bytes())?;
+
    .write_all(generated_json_str.as_bytes())?;
67
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    if accept {
+
    if accept {
72
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
74
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    Ok(())
+
    Ok(())
75
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
77
- 110 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
pub fn save_stats_json(
+
pub fn save_stats_json(
78
- 110 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    context: Arc<RwLock<Context<'static>>>,
+
    context: Arc<RwLock<Context<'static>>>,
79
- 110 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    path: &str,
+
    path: &str,
80
- 110 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    test_name: &str,
+
    test_name: &str,
81
- 110 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
) -> Result<(), std::io::Error> {
+
) -> Result<(), std::io::Error> {
82
- 110 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    #[allow(clippy::unwrap_used)]
+
    #[allow(clippy::unwrap_used)]
83
- 110 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let stats = context.read().unwrap().clone();
+
    let stats = context.read().unwrap().clone();
84
- 110 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let generated_json = sort_json_object(&serde_json::to_value(stats)?, false);
+
    let generated_json = sort_json_object(&serde_json::to_value(stats)?, false);
87
- 110 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let generated_json_str = serde_json::to_string_pretty(&generated_json)?;
+
    let generated_json_str = serde_json::to_string_pretty(&generated_json)?;
89
- 110 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    File::create(format!("{path}/{test_name}-stats.json"))?
+
    File::create(format!("{path}/{test_name}-stats.json"))?
90
- 110 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .write_all(generated_json_str.as_bytes())?;
+
        .write_all(generated_json_str.as_bytes())?;
92
- 110 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    Ok(())
+
    Ok(())
93
- 110 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
95
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
pub fn read_model_json(
+
pub fn read_model_json(
96
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    path: &str,
+
    path: &str,
97
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    test_name: &str,
+
    test_name: &str,
98
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    prefix: &str,
+
    prefix: &str,
99
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    test_stage: &str,
+
    test_stage: &str,
100
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
) -> Result<ConjureModel, std::io::Error> {
+
) -> Result<ConjureModel, std::io::Error> {
101
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let expected_json_str = std::fs::read_to_string(format!(
+
    let expected_json_str = std::fs::read_to_string(format!(
102
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        "{path}/{test_name}.{prefix}-{test_stage}.serialised.json"
+
        "{path}/{test_name}.{prefix}-{test_stage}.serialised.json"
103
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    ))?;
+
    ))?;
105
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let expected_model: ConjureModel = serde_json::from_str(&expected_json_str)?;
+
    let expected_model: ConjureModel = serde_json::from_str(&expected_json_str)?;
107
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    Ok(expected_model)
+
    Ok(expected_model)
108
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
148
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
pub fn save_minion_solutions_json(
+
pub fn save_minion_solutions_json(
149
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    solutions: &Vec<HashMap<Name, Constant>>,
+
    solutions: &Vec<HashMap<Name, Constant>>,
150
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    path: &str,
+
    path: &str,
151
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    test_name: &str,
+
    test_name: &str,
152
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    accept: bool,
+
    accept: bool,
153
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
) -> Result<JsonValue, std::io::Error> {
+
) -> Result<JsonValue, std::io::Error> {
154
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let json_solutions = minion_solutions_to_json(solutions);
+
    let json_solutions = minion_solutions_to_json(solutions);
156
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let generated_json_str = serde_json::to_string_pretty(&json_solutions)?;
+
    let generated_json_str = serde_json::to_string_pretty(&json_solutions)?;
158
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    File::create(format!(
+
    File::create(format!(
159
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        "{path}/{test_name}.generated-minion.solutions.json"
+
        "{path}/{test_name}.generated-minion.solutions.json"
160
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    ))?
+
    ))?
161
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    .write_all(generated_json_str.as_bytes())?;
+
    .write_all(generated_json_str.as_bytes())?;
163
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    if accept {
+
    if accept {
168
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
170
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    Ok(json_solutions)
+
    Ok(json_solutions)
171
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
173
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
pub fn read_minion_solutions_json(
+
pub fn read_minion_solutions_json(
174
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    path: &str,
+
    path: &str,
175
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    test_name: &str,
+
    test_name: &str,
176
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    prefix: &str,
+
    prefix: &str,
177
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
) -> Result<JsonValue, anyhow::Error> {
+
) -> Result<JsonValue, anyhow::Error> {
178
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let expected_json_str =
+
    let expected_json_str =
179
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        std::fs::read_to_string(format!("{path}/{test_name}.{prefix}-minion.solutions.json"))?;
+
        std::fs::read_to_string(format!("{path}/{test_name}.{prefix}-minion.solutions.json"))?;
181
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let expected_solutions: JsonValue =
+
    let expected_solutions: JsonValue =
182
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        sort_json_object(&serde_json::from_str(&expected_json_str)?, true);
+
        sort_json_object(&serde_json::from_str(&expected_json_str)?, true);
184
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    Ok(expected_solutions)
+
    Ok(expected_solutions)
185
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
diff --git a/coverage/main/conjure_oxide/tests/generated_tests.rs.html b/coverage/main/conjure_oxide/tests/generated_tests.rs.html index 5f330ce6e..ba61c679a 100644 --- a/coverage/main/conjure_oxide/tests/generated_tests.rs.html +++ b/coverage/main/conjure_oxide/tests/generated_tests.rs.html @@ -15,7 +15,7 @@

Lines

- 70.49 %

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 50 %

+ 0 %

@@ -470,13 +470,13 @@ 28
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn integration_test(path: &str, essence_base: &str) -> Result<(), Box<dyn Error>> {
+
fn integration_test(path: &str, essence_base: &str) -> Result<(), Box<dyn Error>> {
29
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let context: Arc<RwLock<Context<'static>>> = Default::default();
+
    let context: Arc<RwLock<Context<'static>>> = Default::default();
30
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let accept = env::var("ACCEPT").unwrap_or("false".to_string()) == "true";
+
    let accept = env::var("ACCEPT").unwrap_or("false".to_string()) == "true";
31
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let verbose = env::var("VERBOSE").unwrap_or("false".to_string()) == "true";
+
    let verbose = env::var("VERBOSE").unwrap_or("false".to_string()) == "true";
32
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
33
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    if verbose {
+
    if verbose {
38
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
41
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let model = parse_essence_file(path, essence_base, context.clone())?;
+
    let model = parse_essence_file(path, essence_base, context.clone())?;
42
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    if verbose {
+
    if verbose {
44
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
46
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    context.as_ref().write().unwrap().file_name = Some(format!("{path}/{essence_base}.essence"));
+
    context.as_ref().write().unwrap().file_name = Some(format!("{path}/{essence_base}.essence"));
47
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
48
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    save_model_json(&model, path, essence_base, "parse", accept)?;
+
    save_model_json(&model, path, essence_base, "parse", accept)?;
49
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let expected_model = read_model_json(path, essence_base, "expected", "parse")?;
+
    let expected_model = read_model_json(path, essence_base, "expected", "parse")?;
50
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    if verbose {
+
    if verbose {
52
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
54
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    assert_eq!(model, expected_model);
+
    assert_eq!(model, expected_model);
57
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let rule_sets = resolve_rule_sets(
+
    let rule_sets = resolve_rule_sets(
58
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        SolverFamily::Minion,
+
        SolverFamily::Minion,
59
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        &vec!["Constant".to_string(), "Bubble".to_string()],
+
        &vec!["Constant".to_string(), "Bubble".to_string()],
60
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    )?;
+
    )?;
61
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let model = rewrite_model(&model, &rule_sets)?;
+
    let model = rewrite_model(&model, &rule_sets)?;
62
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    if verbose {
+
    if verbose {
64
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
66
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    save_model_json(&model, path, essence_base, "rewrite", accept)?;
+
    save_model_json(&model, path, essence_base, "rewrite", accept)?;
67
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let expected_model = read_model_json(path, essence_base, "expected", "rewrite")?;
+
    let expected_model = read_model_json(path, essence_base, "expected", "rewrite")?;
68
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    if verbose {
+
    if verbose {
70
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
72
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    assert_eq!(model, expected_model);
+
    assert_eq!(model, expected_model);
75
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let solutions = get_minion_solutions(model)?;
+
    let solutions = get_minion_solutions(model)?;
76
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let solutions_json = save_minion_solutions_json(&solutions, path, essence_base, accept)?;
+
    let solutions_json = save_minion_solutions_json(&solutions, path, essence_base, accept)?;
77
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    if verbose {
+
    if verbose {
79
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
81
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let expected_solutions_json = read_minion_solutions_json(path, essence_base, "expected")?;
+
    let expected_solutions_json = read_minion_solutions_json(path, essence_base, "expected")?;
82
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    if verbose {
+
    if verbose {
84
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
86
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    assert_eq!(solutions_json, expected_solutions_json);
+
    assert_eq!(solutions_json, expected_solutions_json);
88
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    save_stats_json(context, path, essence_base)?;
+
    save_stats_json(context, path, essence_base)?;
90
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    Ok(())
+
    Ok(())
91
- 14 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
94
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn assert_conjure_present() {
+
fn assert_conjure_present() {
95
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    conjure_oxide::find_conjure::conjure_executable().unwrap();
+
    conjure_oxide::find_conjure::conjure_executable().unwrap();
96
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
-

Date: 2024-05-01 08:39

+

Date: 2024-05-27 10:40

diff --git a/coverage/main/conjure_oxide/tests/index.html b/coverage/main/conjure_oxide/tests/index.html index a491e86b3..1eecbf14e 100644 --- a/coverage/main/conjure_oxide/tests/index.html +++ b/coverage/main/conjure_oxide/tests/index.html @@ -14,16 +14,16 @@

Lines

-

- 95.51 %

+

+ 0 %

Functions

-

- 96 %

+

+ 0 %

@@ -46,20 +46,20 @@ - 70.49% + 0% - 70.49% + 0% - 43 / 61 + 0 / 61 - 50% - 2 / 4 + 0% + 0 / 4 @@ -69,45 +69,21 @@ - 100% - - - - 100% - - - 20 / 20 - - - 100% - 1 / 1 - - - - - - rewrite_tests.rs - - - - 96.84% + 0% - - 96.84% + + 0% - - 1042 / 1076 + + 0 / 20 - 100% - 45 / 45 + 0% + 0 / 1 @@ -115,7 +91,7 @@
diff --git a/coverage/main/conjure_oxide/tests/model_tests.rs.html b/coverage/main/conjure_oxide/tests/model_tests.rs.html index a9533075f..8d6b68a59 100644 --- a/coverage/main/conjure_oxide/tests/model_tests.rs.html +++ b/coverage/main/conjure_oxide/tests/model_tests.rs.html @@ -14,16 +14,16 @@

Lines

-

- 100 %

+

+ 0 %

Functions

-

- 100 %

+

+ 0 %

@@ -182,13 +182,13 @@ 10
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn modify_domain() {
+
fn modify_domain() {
11
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let a = Name::UserName(String::from("a"));
+
    let a = Name::UserName(String::from("a"));
12
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
13
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let d1 = Domain::IntDomain(vec![Range::Bounded(1, 3)]);
+
    let d1 = Domain::IntDomain(vec![Range::Bounded(1, 3)]);
14
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let d2 = Domain::IntDomain(vec![Range::Bounded(1, 2)]);
+
    let d2 = Domain::IntDomain(vec![Range::Bounded(1, 2)]);
15
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
16
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let mut variables = HashMap::new();
+
    let mut variables = HashMap::new();
17
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    variables.insert(a.clone(), DecisionVariable { domain: d1.clone() });
+
    variables.insert(a.clone(), DecisionVariable { domain: d1.clone() });
18
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
19
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let mut m = Model::new(
+
    let mut m = Model::new(
20
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        variables,
+
        variables,
21
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expression::And(Metadata::new(), Vec::new()),
+
        Expression::And(Metadata::new(), Vec::new()),
22
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Default::default(),
+
        Default::default(),
23
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    );
+
    );
24
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
25
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    assert_eq!(m.variables.get(&a).unwrap().domain, d1);
+
    assert_eq!(m.variables.get(&a).unwrap().domain, d1);
27
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    m.update_domain(&a, d2.clone());
+
    m.update_domain(&a, d2.clone());
28
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
29
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    assert_eq!(m.variables.get(&a).unwrap().domain, d2);
+
    assert_eq!(m.variables.get(&a).unwrap().domain, d2);
30
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
diff --git a/coverage/main/conjure_oxide/tests/rewrite_tests.rs.html b/coverage/main/conjure_oxide/tests/rewrite_tests.rs.html deleted file mode 100644 index ed3fc2ba2..000000000 --- a/coverage/main/conjure_oxide/tests/rewrite_tests.rs.html +++ /dev/null @@ -1,20649 +0,0 @@ - - - - - Grcov report - rewrite_tests.rs - - -
- - - -
-
- 1 -
-
- -
-
-
use core::panic;
-
-
-
- 2 -
-
- -
-
-
use std::collections::HashMap;
-
-
-
- 3 -
-
- -
-
-
use std::env;
-
-
-
- 4 -
-
- -
-
-
use std::process::exit;
-
-
-
- 5 -
-
- -
-
-

-            
-
-
- 6 -
-
- -
-
-
use conjure_core::rules::eval_constant;
-
-
-
- 7 -
-
- -
-
-
use conjure_core::solver::SolverFamily;
-
-
-
- 8 -
-
- -
-
-
use conjure_oxide::{
-
-
-
- 9 -
-
- -
-
-
    ast::*,
-
-
-
- 10 -
-
- -
-
-
    get_rule_by_name, get_rules,
-
-
-
- 11 -
-
- -
-
-
    rule_engine::{resolve_rule_sets, rewrite_model},
-
-
-
- 12 -
-
- -
-
-
    solver::{adaptors, Solver},
-
-
-
- 13 -
-
- -
-
-
    utils::testing::save_stats_json,
-
-
-
- 14 -
-
- -
-
-
    Metadata, Model, Rule,
-
-
-
- 15 -
-
- -
-
-
};
-
-
-
- 16 -
-
- -
-
-
use uniplate::uniplate::Uniplate;
-
-
-
- 17 -
-
- -
-
-

-            
-
-
- 18 -
-
- -
-
-
#[test]
-
-
-
- 19 -
-
- 1 -
-
-
fn rules_present() {
-
-
-
- 20 -
-
- 1 -
-
-
    let rules = get_rules();
-
-
-
- 21 -
-
- 1 -
-
-
    assert!(!rules.is_empty());
-
-
-
- 22 -
-
- 1 -
-
-
}
-
-
-
- 23 -
-
- -
-
-

-            
-
-
- 24 -
-
- -
-
-
#[test]
-
-
-
- 25 -
-
- 1 -
-
-
fn sum_of_constants() {
-
-
-
- 26 -
-
- 1 -
-
-
    let valid_sum_expression = Expression::Sum(
-
-
-
- 27 -
-
- 1 -
-
-
        Metadata::new(),
-
-
-
- 28 -
-
- 1 -
-
-
        vec![
-
-
-
- 29 -
-
- 1 -
-
-
            Expression::Constant(Metadata::new(), Constant::Int(1)),
-
-
-
- 30 -
-
- 1 -
-
-
            Expression::Constant(Metadata::new(), Constant::Int(2)),
-
-
-
- 31 -
-
- 1 -
-
-
            Expression::Constant(Metadata::new(), Constant::Int(3)),
-
-
-
- 32 -
-
- 1 -
-
-
        ],
-
-
-
- 33 -
-
- 1 -
-
-
    );
-
-
-
- 34 -
-
- 1 -
-
-

-            
-
-
- 35 -
-
- 1 -
-
-
    let invalid_sum_expression = Expression::Sum(
-
-
-
- 36 -
-
- 1 -
-
-
        Metadata::new(),
-
-
-
- 37 -
-
- 1 -
-
-
        vec![
-
-
-
- 38 -
-
- 1 -
-
-
            Expression::Constant(Metadata::new(), Constant::Int(1)),
-
-
-
- 39 -
-
- 1 -
-
-
            Expression::Reference(Metadata::new(), Name::UserName(String::from("a"))),
-
-
-
- 40 -
-
- 1 -
-
-
        ],
-
-
-
- 41 -
-
- 1 -
-
-
    );
-
-
-
- 42 -
-
- 1 -
-
-

-            
-
-
- 43 -
-
- 1 -
-
-
    match evaluate_sum_of_constants(&valid_sum_expression) {
-
-
-
- 44 -
-
- 1 -
-
-
        Some(result) => assert_eq!(result, 6),
-
-
-
- 45 -
-
- -
-
-
        None => panic!(),
-
-
-
- 46 -
-
- -
-
-
    }
-
-
-
- 47 -
-
- -
-
-

-            
-
-
- 48 -
-
- 1 -
-
-
    if evaluate_sum_of_constants(&invalid_sum_expression).is_some() {
-
-
-
- 49 -
-
- -
-
-
        panic!()
-
-
-
- 50 -
-
- 1 -
-
-
    }
-
-
-
- 51 -
-
- 1 -
-
-
}
-
-
-
- 52 -
-
- -
-
-

-            
-
-
- 53 -
-
- 4 -
-
-
fn evaluate_sum_of_constants(expr: &Expression) -> Option<i32> {
-
-
-
- 54 -
-
- 4 -
-
-
    match expr {
-
-
-
- 55 -
-
- 4 -
-
-
        Expression::Sum(_metadata, expressions) => {
-
-
-
- 56 -
-
- 4 -
-
-
            let mut sum = 0;
-
-
-
- 57 -
-
- 12 -
-
-
            for e in expressions {
-
-
-
- 58 -
-
- 8 -
-
-
                match e {
-
-
-
- 59 -
-
- 8 -
-
-
                    Expression::Constant(_, Constant::Int(value)) => {
-
-
-
- 60 -
-
- 8 -
-
-
                        sum += value;
-
-
-
- 61 -
-
- 8 -
-
-
                    }
-
-
-
- 62 -
-
- 2 -
-
-
                    _ => return None,
-
-
-
- 63 -
-
- -
-
-
                }
-
-
-
- 64 -
-
- -
-
-
            }
-
-
-
- 65 -
-
- 2 -
-
-
            Some(sum)
-
-
-
- 66 -
-
- -
-
-
        }
-
-
-
- 67 -
-
- -
-
-
        _ => None,
-
-
-
- 68 -
-
- -
-
-
    }
-
-
-
- 69 -
-
- 4 -
-
-
}
-
-
-
- 70 -
-
- -
-
-

-            
-
-
- 71 -
-
- -
-
-
#[test]
-
-
-
- 72 -
-
- 1 -
-
-
fn recursive_sum_of_constants() {
-
-
-
- 73 -
-
- 1 -
-
-
    let complex_expression = Expression::Eq(
-
-
-
- 74 -
-
- 1 -
-
-
        Metadata::new(),
-
-
-
- 75 -
-
- 1 -
-
-
        Box::new(Expression::Sum(
-
-
-
- 76 -
-
- 1 -
-
-
            Metadata::new(),
-
-
-
- 77 -
-
- 1 -
-
-
            vec![
-
-
-
- 78 -
-
- 1 -
-
-
                Expression::Constant(Metadata::new(), Constant::Int(1)),
-
-
-
- 79 -
-
- 1 -
-
-
                Expression::Constant(Metadata::new(), Constant::Int(2)),
-
-
-
- 80 -
-
- 1 -
-
-
                Expression::Sum(
-
-
-
- 81 -
-
- 1 -
-
-
                    Metadata::new(),
-
-
-
- 82 -
-
- 1 -
-
-
                    vec![
-
-
-
- 83 -
-
- 1 -
-
-
                        Expression::Constant(Metadata::new(), Constant::Int(1)),
-
-
-
- 84 -
-
- 1 -
-
-
                        Expression::Constant(Metadata::new(), Constant::Int(2)),
-
-
-
- 85 -
-
- 1 -
-
-
                    ],
-
-
-
- 86 -
-
- 1 -
-
-
                ),
-
-
-
- 87 -
-
- 1 -
-
-
                Expression::Reference(Metadata::new(), Name::UserName(String::from("a"))),
-
-
-
- 88 -
-
- 1 -
-
-
            ],
-
-
-
- 89 -
-
- 1 -
-
-
        )),
-
-
-
- 90 -
-
- 1 -
-
-
        Box::new(Expression::Constant(Metadata::new(), Constant::Int(3))),
-
-
-
- 91 -
-
- 1 -
-
-
    );
-
-
-
- 92 -
-
- 1 -
-
-
    let correct_simplified_expression = Expression::Eq(
-
-
-
- 93 -
-
- 1 -
-
-
        Metadata::new(),
-
-
-
- 94 -
-
- 1 -
-
-
        Box::new(Expression::Sum(
-
-
-
- 95 -
-
- 1 -
-
-
            Metadata::new(),
-
-
-
- 96 -
-
- 1 -
-
-
            vec![
-
-
-
- 97 -
-
- 1 -
-
-
                Expression::Constant(Metadata::new(), Constant::Int(1)),
-
-
-
- 98 -
-
- 1 -
-
-
                Expression::Constant(Metadata::new(), Constant::Int(2)),
-
-
-
- 99 -
-
- 1 -
-
-
                Expression::Constant(Metadata::new(), Constant::Int(3)),
-
-
-
- 100 -
-
- 1 -
-
-
                Expression::Reference(Metadata::new(), Name::UserName(String::from("a"))),
-
-
-
- 101 -
-
- 1 -
-
-
            ],
-
-
-
- 102 -
-
- 1 -
-
-
        )),
-
-
-
- 103 -
-
- 1 -
-
-
        Box::new(Expression::Constant(Metadata::new(), Constant::Int(3))),
-
-
-
- 104 -
-
- 1 -
-
-
    );
-
-
-
- 105 -
-
- 1 -
-
-

-            
-
-
- 106 -
-
- 1 -
-
-
    let simplified_expression = simplify_expression(complex_expression.clone());
-
-
-
- 107 -
-
- 1 -
-
-
    assert_eq!(simplified_expression, correct_simplified_expression);
-
-
-
- 108 -
-
- 1 -
-
-
}
-
-
-
- 109 -
-
- -
-
-

-            
-
-
- 110 -
-
- 7 -
-
-
fn simplify_expression(expr: Expression) -> Expression {
-
-
-
- 111 -
-
- 7 -
-
-
    match expr {
-
-
-
- 112 -
-
- 2 -
-
-
        Expression::Sum(_metadata, expressions) => {
-
-
-
- 113 -
-
- 1 -
-
-
            if let Some(result) =
-
-
-
- 114 -
-
- 2 -
-
-
                evaluate_sum_of_constants(&Expression::Sum(Metadata::new(), expressions.clone()))
-
-
-
- 115 -
-
- -
-
-
            {
-
-
-
- 116 -
-
- 1 -
-
-
                Expression::Constant(Metadata::new(), Constant::Int(result))
-
-
-
- 117 -
-
- -
-
-
            } else {
-
-
-
- 118 -
-
- 1 -
-
-
                Expression::Sum(
-
-
-
- 119 -
-
- 1 -
-
-
                    Metadata::new(),
-
-
-
- 120 -
-
- 1 -
-
-
                    expressions.into_iter().map(simplify_expression).collect(),
-
-
-
- 121 -
-
- 1 -
-
-
                )
-
-
-
- 122 -
-
- -
-
-
            }
-
-
-
- 123 -
-
- -
-
-
        }
-
-
-
- 124 -
-
- 1 -
-
-
        Expression::Eq(_metadata, left, right) => Expression::Eq(
-
-
-
- 125 -
-
- 1 -
-
-
            Metadata::new(),
-
-
-
- 126 -
-
- 1 -
-
-
            Box::new(simplify_expression(*left)),
-
-
-
- 127 -
-
- 1 -
-
-
            Box::new(simplify_expression(*right)),
-
-
-
- 128 -
-
- 1 -
-
-
        ),
-
-
-
- 129 -
-
- -
-
-
        Expression::Geq(_metadata, left, right) => Expression::Geq(
-
-
-
- 130 -
-
- -
-
-
            Metadata::new(),
-
-
-
- 131 -
-
- -
-
-
            Box::new(simplify_expression(*left)),
-
-
-
- 132 -
-
- -
-
-
            Box::new(simplify_expression(*right)),
-
-
-
- 133 -
-
- -
-
-
        ),
-
-
-
- 134 -
-
- 4 -
-
-
        _ => expr,
-
-
-
- 135 -
-
- -
-
-
    }
-
-
-
- 136 -
-
- 7 -
-
-
}
-
-
-
- 137 -
-
- -
-
-

-            
-
-
- 138 -
-
- -
-
-
#[test]
-
-
-
- 139 -
-
- 1 -
-
-
fn rule_sum_constants() {
-
-
-
- 140 -
-
- 1 -
-
-
    let sum_constants = get_rule_by_name("sum_constants").unwrap();
-
-
-
- 141 -
-
- 1 -
-
-
    let unwrap_sum = get_rule_by_name("unwrap_sum").unwrap();
-
-
-
- 142 -
-
- 1 -
-
-

-            
-
-
- 143 -
-
- 1 -
-
-
    let mut expr = Expression::Sum(
-
-
-
- 144 -
-
- 1 -
-
-
        Metadata::new(),
-
-
-
- 145 -
-
- 1 -
-
-
        vec![
-
-
-
- 146 -
-
- 1 -
-
-
            Expression::Constant(Metadata::new(), Constant::Int(1)),
-
-
-
- 147 -
-
- 1 -
-
-
            Expression::Constant(Metadata::new(), Constant::Int(2)),
-
-
-
- 148 -
-
- 1 -
-
-
            Expression::Constant(Metadata::new(), Constant::Int(3)),
-
-
-
- 149 -
-
- 1 -
-
-
        ],
-
-
-
- 150 -
-
- 1 -
-
-
    );
-
-
-
- 151 -
-
- 1 -
-
-

-            
-
-
- 152 -
-
- 1 -
-
-
    expr = sum_constants
-
-
-
- 153 -
-
- 1 -
-
-
        .apply(&expr, &Model::new_empty(Default::default()))
-
-
-
- 154 -
-
- 1 -
-
-
        .unwrap()
-
-
-
- 155 -
-
- 1 -
-
-
        .new_expression;
-
-
-
- 156 -
-
- 1 -
-
-
    expr = unwrap_sum
-
-
-
- 157 -
-
- 1 -
-
-
        .apply(&expr, &Model::new_empty(Default::default()))
-
-
-
- 158 -
-
- 1 -
-
-
        .unwrap()
-
-
-
- 159 -
-
- 1 -
-
-
        .new_expression;
-
-
-
- 160 -
-
- 1 -
-
-

-            
-
-
- 161 -
-
- 1 -
-
-
    assert_eq!(
-
-
-
- 162 -
-
- 1 -
-
-
        expr,
-
-
-
- 163 -
-
- 1 -
-
-
        Expression::Constant(Metadata::new(), Constant::Int(6))
-
-
-
- 164 -
-
- 1 -
-
-
    );
-
-
-
- 165 -
-
- 1 -
-
-
}
-
-
-
- 166 -
-
- -
-
-

-            
-
-
- 167 -
-
- -
-
-
#[test]
-
-
-
- 168 -
-
- 1 -
-
-
fn rule_sum_mixed() {
-
-
-
- 169 -
-
- 1 -
-
-
    let sum_constants = get_rule_by_name("sum_constants").unwrap();
-
-
-
- 170 -
-
- 1 -
-
-

-            
-
-
- 171 -
-
- 1 -
-
-
    let mut expr = Expression::Sum(
-
-
-
- 172 -
-
- 1 -
-
-
        Metadata::new(),
-
-
-
- 173 -
-
- 1 -
-
-
        vec![
-
-
-
- 174 -
-
- 1 -
-
-
            Expression::Constant(Metadata::new(), Constant::Int(1)),
-
-
-
- 175 -
-
- 1 -
-
-
            Expression::Constant(Metadata::new(), Constant::Int(2)),
-
-
-
- 176 -
-
- 1 -
-
-
            Expression::Reference(Metadata::new(), Name::UserName(String::from("a"))),
-
-
-
- 177 -
-
- 1 -
-
-
        ],
-
-
-
- 178 -
-
- 1 -
-
-
    );
-
-
-
- 179 -
-
- 1 -
-
-

-            
-
-
- 180 -
-
- 1 -
-
-
    expr = sum_constants
-
-
-
- 181 -
-
- 1 -
-
-
        .apply(&expr, &Model::new_empty(Default::default()))
-
-
-
- 182 -
-
- 1 -
-
-
        .unwrap()
-
-
-
- 183 -
-
- 1 -
-
-
        .new_expression;
-
-
-
- 184 -
-
- 1 -
-
-

-            
-
-
- 185 -
-
- 1 -
-
-
    assert_eq!(
-
-
-
- 186 -
-
- 1 -
-
-
        expr,
-
-
-
- 187 -
-
- 1 -
-
-
        Expression::Sum(
-
-
-
- 188 -
-
- 1 -
-
-
            Metadata::new(),
-
-
-
- 189 -
-
- 1 -
-
-
            vec![
-
-
-
- 190 -
-
- 1 -
-
-
                Expression::Reference(Metadata::new(), Name::UserName(String::from("a"))),
-
-
-
- 191 -
-
- 1 -
-
-
                Expression::Constant(Metadata::new(), Constant::Int(3)),
-
-
-
- 192 -
-
- 1 -
-
-
            ]
-
-
-
- 193 -
-
- 1 -
-
-
        )
-
-
-
- 194 -
-
- 1 -
-
-
    );
-
-
-
- 195 -
-
- 1 -
-
-
}
-
-
-
- 196 -
-
- -
-
-

-            
-
-
- 197 -
-
- -
-
-
#[test]
-
-
-
- 198 -
-
- 1 -
-
-
fn rule_sum_geq() {
-
-
-
- 199 -
-
- 1 -
-
-
    let flatten_sum_geq = get_rule_by_name("flatten_sum_geq").unwrap();
-
-
-
- 200 -
-
- 1 -
-
-

-            
-
-
- 201 -
-
- 1 -
-
-
    let mut expr = Expression::Geq(
-
-
-
- 202 -
-
- 1 -
-
-
        Metadata::new(),
-
-
-
- 203 -
-
- 1 -
-
-
        Box::new(Expression::Sum(
-
-
-
- 204 -
-
- 1 -
-
-
            Metadata::new(),
-
-
-
- 205 -
-
- 1 -
-
-
            vec![
-
-
-
- 206 -
-
- 1 -
-
-
                Expression::Constant(Metadata::new(), Constant::Int(1)),
-
-
-
- 207 -
-
- 1 -
-
-
                Expression::Constant(Metadata::new(), Constant::Int(2)),
-
-
-
- 208 -
-
- 1 -
-
-
            ],
-
-
-
- 209 -
-
- 1 -
-
-
        )),
-
-
-
- 210 -
-
- 1 -
-
-
        Box::new(Expression::Constant(Metadata::new(), Constant::Int(3))),
-
-
-
- 211 -
-
- 1 -
-
-
    );
-
-
-
- 212 -
-
- 1 -
-
-

-            
-
-
- 213 -
-
- 1 -
-
-
    expr = flatten_sum_geq
-
-
-
- 214 -
-
- 1 -
-
-
        .apply(&expr, &Model::new_empty(Default::default()))
-
-
-
- 215 -
-
- 1 -
-
-
        .unwrap()
-
-
-
- 216 -
-
- 1 -
-
-
        .new_expression;
-
-
-
- 217 -
-
- 1 -
-
-

-            
-
-
- 218 -
-
- 1 -
-
-
    assert_eq!(
-
-
-
- 219 -
-
- 1 -
-
-
        expr,
-
-
-
- 220 -
-
- 1 -
-
-
        Expression::SumGeq(
-
-
-
- 221 -
-
- 1 -
-
-
            Metadata::new(),
-
-
-
- 222 -
-
- 1 -
-
-
            vec![
-
-
-
- 223 -
-
- 1 -
-
-
                Expression::Constant(Metadata::new(), Constant::Int(1)),
-
-
-
- 224 -
-
- 1 -
-
-
                Expression::Constant(Metadata::new(), Constant::Int(2)),
-
-
-
- 225 -
-
- 1 -
-
-
            ],
-
-
-
- 226 -
-
- 1 -
-
-
            Box::new(Expression::Constant(Metadata::new(), Constant::Int(3)))
-
-
-
- 227 -
-
- 1 -
-
-
        )
-
-
-
- 228 -
-
- 1 -
-
-
    );
-
-
-
- 229 -
-
- 1 -
-
-
}
-
-
-
- 230 -
-
- -
-
-

-            
-
-
- 231 -
-
- -
-
-
///
-
-
-
- 232 -
-
- -
-
-
/// Reduce and solve:
-
-
-
- 233 -
-
- -
-
-
/// ```text
-
-
-
- 234 -
-
- -
-
-
/// find a,b,c : int(1..3)
-
-
-
- 235 -
-
- -
-
-
/// such that a + b + c <= 2 + 3 - 1
-
-
-
- 236 -
-
- -
-
-
/// such that a < b
-
-
-
- 237 -
-
- -
-
-
/// ```
-
-
-
- 238 -
-
- -
-
-
#[test]
-
-
-
- 239 -
-
- 1 -
-
-
fn reduce_solve_xyz() {
-
-
-
- 240 -
-
- 1 -
-
-
    println!("Rules: {:?}", get_rules());
-
-
-
- 241 -
-
- 1 -
-
-
    let sum_constants = get_rule_by_name("sum_constants").unwrap();
-
-
-
- 242 -
-
- 1 -
-
-
    let unwrap_sum = get_rule_by_name("unwrap_sum").unwrap();
-
-
-
- 243 -
-
- 1 -
-
-
    let lt_to_ineq = get_rule_by_name("lt_to_ineq").unwrap();
-
-
-
- 244 -
-
- 1 -
-
-
    let sum_leq_to_sumleq = get_rule_by_name("sum_leq_to_sumleq").unwrap();
-
-
-
- 245 -
-
- 1 -
-
-

-            
-
-
- 246 -
-
- 1 -
-
-
    // 2 + 3 - 1
-
-
-
- 247 -
-
- 1 -
-
-
    let mut expr1 = Expression::Sum(
-
-
-
- 248 -
-
- 1 -
-
-
        Metadata::new(),
-
-
-
- 249 -
-
- 1 -
-
-
        vec![
-
-
-
- 250 -
-
- 1 -
-
-
            Expression::Constant(Metadata::new(), Constant::Int(2)),
-
-
-
- 251 -
-
- 1 -
-
-
            Expression::Constant(Metadata::new(), Constant::Int(3)),
-
-
-
- 252 -
-
- 1 -
-
-
            Expression::Constant(Metadata::new(), Constant::Int(-1)),
-
-
-
- 253 -
-
- 1 -
-
-
        ],
-
-
-
- 254 -
-
- 1 -
-
-
    );
-
-
-
- 255 -
-
- 1 -
-
-

-            
-
-
- 256 -
-
- 1 -
-
-
    expr1 = sum_constants
-
-
-
- 257 -
-
- 1 -
-
-
        .apply(&expr1, &Model::new_empty(Default::default()))
-
-
-
- 258 -
-
- 1 -
-
-
        .unwrap()
-
-
-
- 259 -
-
- 1 -
-
-
        .new_expression;
-
-
-
- 260 -
-
- 1 -
-
-
    expr1 = unwrap_sum
-
-
-
- 261 -
-
- 1 -
-
-
        .apply(&expr1, &Model::new_empty(Default::default()))
-
-
-
- 262 -
-
- 1 -
-
-
        .unwrap()
-
-
-
- 263 -
-
- 1 -
-
-
        .new_expression;
-
-
-
- 264 -
-
- 1 -
-
-
    assert_eq!(
-
-
-
- 265 -
-
- 1 -
-
-
        expr1,
-
-
-
- 266 -
-
- 1 -
-
-
        Expression::Constant(Metadata::new(), Constant::Int(4))
-
-
-
- 267 -
-
- 1 -
-
-
    );
-
-
-
- 268 -
-
- -
-
-

-            
-
-
- 269 -
-
- -
-
-
    // a + b + c = 4
-
-
-
- 270 -
-
- 1 -
-
-
    expr1 = Expression::Leq(
-
-
-
- 271 -
-
- 1 -
-
-
        Metadata::new(),
-
-
-
- 272 -
-
- 1 -
-
-
        Box::new(Expression::Sum(
-
-
-
- 273 -
-
- 1 -
-
-
            Metadata::new(),
-
-
-
- 274 -
-
- 1 -
-
-
            vec![
-
-
-
- 275 -
-
- 1 -
-
-
                Expression::Reference(Metadata::new(), Name::UserName(String::from("a"))),
-
-
-
- 276 -
-
- 1 -
-
-
                Expression::Reference(Metadata::new(), Name::UserName(String::from("b"))),
-
-
-
- 277 -
-
- 1 -
-
-
                Expression::Reference(Metadata::new(), Name::UserName(String::from("c"))),
-
-
-
- 278 -
-
- 1 -
-
-
            ],
-
-
-
- 279 -
-
- 1 -
-
-
        )),
-
-
-
- 280 -
-
- 1 -
-
-
        Box::new(expr1),
-
-
-
- 281 -
-
- 1 -
-
-
    );
-
-
-
- 282 -
-
- 1 -
-
-
    expr1 = sum_leq_to_sumleq
-
-
-
- 283 -
-
- 1 -
-
-
        .apply(&expr1, &Model::new_empty(Default::default()))
-
-
-
- 284 -
-
- 1 -
-
-
        .unwrap()
-
-
-
- 285 -
-
- 1 -
-
-
        .new_expression;
-
-
-
- 286 -
-
- 1 -
-
-
    assert_eq!(
-
-
-
- 287 -
-
- 1 -
-
-
        expr1,
-
-
-
- 288 -
-
- 1 -
-
-
        Expression::SumLeq(
-
-
-
- 289 -
-
- 1 -
-
-
            Metadata::new(),
-
-
-
- 290 -
-
- 1 -
-
-
            vec![
-
-
-
- 291 -
-
- 1 -
-
-
                Expression::Reference(Metadata::new(), Name::UserName(String::from("a"))),
-
-
-
- 292 -
-
- 1 -
-
-
                Expression::Reference(Metadata::new(), Name::UserName(String::from("b"))),
-
-
-
- 293 -
-
- 1 -
-
-
                Expression::Reference(Metadata::new(), Name::UserName(String::from("c"))),
-
-
-
- 294 -
-
- 1 -
-
-
            ],
-
-
-
- 295 -
-
- 1 -
-
-
            Box::new(Expression::Constant(Metadata::new(), Constant::Int(4)))
-
-
-
- 296 -
-
- 1 -
-
-
        )
-
-
-
- 297 -
-
- 1 -
-
-
    );
-
-
-
- 298 -
-
- -
-
-

-            
-
-
- 299 -
-
- -
-
-
    // a < b
-
-
-
- 300 -
-
- 1 -
-
-
    let mut expr2 = Expression::Lt(
-
-
-
- 301 -
-
- 1 -
-
-
        Metadata::new(),
-
-
-
- 302 -
-
- 1 -
-
-
        Box::new(Expression::Reference(
-
-
-
- 303 -
-
- 1 -
-
-
            Metadata::new(),
-
-
-
- 304 -
-
- 1 -
-
-
            Name::UserName(String::from("a")),
-
-
-
- 305 -
-
- 1 -
-
-
        )),
-
-
-
- 306 -
-
- 1 -
-
-
        Box::new(Expression::Reference(
-
-
-
- 307 -
-
- 1 -
-
-
            Metadata::new(),
-
-
-
- 308 -
-
- 1 -
-
-
            Name::UserName(String::from("b")),
-
-
-
- 309 -
-
- 1 -
-
-
        )),
-
-
-
- 310 -
-
- 1 -
-
-
    );
-
-
-
- 311 -
-
- 1 -
-
-
    expr2 = lt_to_ineq
-
-
-
- 312 -
-
- 1 -
-
-
        .apply(&expr2, &Model::new_empty(Default::default()))
-
-
-
- 313 -
-
- 1 -
-
-
        .unwrap()
-
-
-
- 314 -
-
- 1 -
-
-
        .new_expression;
-
-
-
- 315 -
-
- 1 -
-
-
    assert_eq!(
-
-
-
- 316 -
-
- 1 -
-
-
        expr2,
-
-
-
- 317 -
-
- 1 -
-
-
        Expression::Ineq(
-
-
-
- 318 -
-
- 1 -
-
-
            Metadata::new(),
-
-
-
- 319 -
-
- 1 -
-
-
            Box::new(Expression::Reference(
-
-
-
- 320 -
-
- 1 -
-
-
                Metadata::new(),
-
-
-
- 321 -
-
- 1 -
-
-
                Name::UserName(String::from("a"))
-
-
-
- 322 -
-
- 1 -
-
-
            )),
-
-
-
- 323 -
-
- 1 -
-
-
            Box::new(Expression::Reference(
-
-
-
- 324 -
-
- 1 -
-
-
                Metadata::new(),
-
-
-
- 325 -
-
- 1 -
-
-
                Name::UserName(String::from("b"))
-
-
-
- 326 -
-
- 1 -
-
-
            )),
-
-
-
- 327 -
-
- 1 -
-
-
            Box::new(Expression::Constant(Metadata::new(), Constant::Int(-1)))
-
-
-
- 328 -
-
- 1 -
-
-
        )
-
-
-
- 329 -
-
- 1 -
-
-
    );
-
-
-
- 330 -
-
- -
-
-

-            
-
-
- 331 -
-
- 1 -
-
-
    let mut model = Model::new(
-
-
-
- 332 -
-
- 1 -
-
-
        HashMap::new(),
-
-
-
- 333 -
-
- 1 -
-
-
        Expression::And(Metadata::new(), vec![expr1, expr2]),
-
-
-
- 334 -
-
- 1 -
-
-
        Default::default(),
-
-
-
- 335 -
-
- 1 -
-
-
    );
-
-
-
- 336 -
-
- 1 -
-
-
    model.variables.insert(
-
-
-
- 337 -
-
- 1 -
-
-
        Name::UserName(String::from("a")),
-
-
-
- 338 -
-
- 1 -
-
-
        DecisionVariable {
-
-
-
- 339 -
-
- 1 -
-
-
            domain: Domain::IntDomain(vec![Range::Bounded(1, 3)]),
-
-
-
- 340 -
-
- 1 -
-
-
        },
-
-
-
- 341 -
-
- 1 -
-
-
    );
-
-
-
- 342 -
-
- 1 -
-
-
    model.variables.insert(
-
-
-
- 343 -
-
- 1 -
-
-
        Name::UserName(String::from("b")),
-
-
-
- 344 -
-
- 1 -
-
-
        DecisionVariable {
-
-
-
- 345 -
-
- 1 -
-
-
            domain: Domain::IntDomain(vec![Range::Bounded(1, 3)]),
-
-
-
- 346 -
-
- 1 -
-
-
        },
-
-
-
- 347 -
-
- 1 -
-
-
    );
-
-
-
- 348 -
-
- 1 -
-
-
    model.variables.insert(
-
-
-
- 349 -
-
- 1 -
-
-
        Name::UserName(String::from("c")),
-
-
-
- 350 -
-
- 1 -
-
-
        DecisionVariable {
-
-
-
- 351 -
-
- 1 -
-
-
            domain: Domain::IntDomain(vec![Range::Bounded(1, 3)]),
-
-
-
- 352 -
-
- 1 -
-
-
        },
-
-
-
- 353 -
-
- 1 -
-
-
    );
-
-
-
- 354 -
-
- 1 -
-
-

-            
-
-
- 355 -
-
- 1 -
-
-
    let solver: Solver<adaptors::Minion> = Solver::new(adaptors::Minion::new());
-
-
-
- 356 -
-
- 1 -
-
-
    let solver = solver.load_model(model).unwrap();
-
-
-
- 357 -
-
- 1 -
-
-
    solver.solve(Box::new(|_| true)).unwrap();
-
-
-
- 358 -
-
- 1 -
-
-
}
-
-
-
- 359 -
-
- -
-
-

-            
-
-
- 360 -
-
- -
-
-
#[test]
-
-
-
- 361 -
-
- 1 -
-
-
fn rule_remove_double_negation() {
-
-
-
- 362 -
-
- 1 -
-
-
    let remove_double_negation = get_rule_by_name("remove_double_negation").unwrap();
-
-
-
- 363 -
-
- 1 -
-
-

-            
-
-
- 364 -
-
- 1 -
-
-
    let mut expr = Expression::Not(
-
-
-
- 365 -
-
- 1 -
-
-
        Metadata::new(),
-
-
-
- 366 -
-
- 1 -
-
-
        Box::new(Expression::Not(
-
-
-
- 367 -
-
- 1 -
-
-
            Metadata::new(),
-
-
-
- 368 -
-
- 1 -
-
-
            Box::new(Expression::Constant(Metadata::new(), Constant::Bool(true))),
-
-
-
- 369 -
-
- 1 -
-
-
        )),
-
-
-
- 370 -
-
- 1 -
-
-
    );
-
-
-
- 371 -
-
- 1 -
-
-

-            
-
-
- 372 -
-
- 1 -
-
-
    expr = remove_double_negation
-
-
-
- 373 -
-
- 1 -
-
-
        .apply(&expr, &Model::new_empty(Default::default()))
-
-
-
- 374 -
-
- 1 -
-
-
        .unwrap()
-
-
-
- 375 -
-
- 1 -
-
-
        .new_expression;
-
-
-
- 376 -
-
- 1 -
-
-

-            
-
-
- 377 -
-
- 1 -
-
-
    assert_eq!(
-
-
-
- 378 -
-
- 1 -
-
-
        expr,
-
-
-
- 379 -
-
- 1 -
-
-
        Expression::Constant(Metadata::new(), Constant::Bool(true))
-
-
-
- 380 -
-
- 1 -
-
-
    );
-
-
-
- 381 -
-
- 1 -
-
-
}
-
-
-
- 382 -
-
- -
-
-

-            
-
-
- 383 -
-
- -
-
-
#[test]
-
-
-
- 384 -
-
- 1 -
-
-
fn rule_unwrap_nested_or() {
-
-
-
- 385 -
-
- 1 -
-
-
    let unwrap_nested_or = get_rule_by_name("unwrap_nested_or").unwrap();
-
-
-
- 386 -
-
- 1 -
-
-

-            
-
-
- 387 -
-
- 1 -
-
-
    let mut expr = Expression::Or(
-
-
-
- 388 -
-
- 1 -
-
-
        Metadata::new(),
-
-
-
- 389 -
-
- 1 -
-
-
        vec![
-
-
-
- 390 -
-
- 1 -
-
-
            Expression::Or(
-
-
-
- 391 -
-
- 1 -
-
-
                Metadata::new(),
-
-
-
- 392 -
-
- 1 -
-
-
                vec![
-
-
-
- 393 -
-
- 1 -
-
-
                    Expression::Constant(Metadata::new(), Constant::Bool(true)),
-
-
-
- 394 -
-
- 1 -
-
-
                    Expression::Constant(Metadata::new(), Constant::Bool(false)),
-
-
-
- 395 -
-
- 1 -
-
-
                ],
-
-
-
- 396 -
-
- 1 -
-
-
            ),
-
-
-
- 397 -
-
- 1 -
-
-
            Expression::Constant(Metadata::new(), Constant::Bool(true)),
-
-
-
- 398 -
-
- 1 -
-
-
        ],
-
-
-
- 399 -
-
- 1 -
-
-
    );
-
-
-
- 400 -
-
- 1 -
-
-

-            
-
-
- 401 -
-
- 1 -
-
-
    expr = unwrap_nested_or
-
-
-
- 402 -
-
- 1 -
-
-
        .apply(&expr, &Model::new_empty(Default::default()))
-
-
-
- 403 -
-
- 1 -
-
-
        .unwrap()
-
-
-
- 404 -
-
- 1 -
-
-
        .new_expression;
-
-
-
- 405 -
-
- 1 -
-
-

-            
-
-
- 406 -
-
- 1 -
-
-
    assert_eq!(
-
-
-
- 407 -
-
- 1 -
-
-
        expr,
-
-
-
- 408 -
-
- 1 -
-
-
        Expression::Or(
-
-
-
- 409 -
-
- 1 -
-
-
            Metadata::new(),
-
-
-
- 410 -
-
- 1 -
-
-
            vec![
-
-
-
- 411 -
-
- 1 -
-
-
                Expression::Constant(Metadata::new(), Constant::Bool(true)),
-
-
-
- 412 -
-
- 1 -
-
-
                Expression::Constant(Metadata::new(), Constant::Bool(false)),
-
-
-
- 413 -
-
- 1 -
-
-
                Expression::Constant(Metadata::new(), Constant::Bool(true)),
-
-
-
- 414 -
-
- 1 -
-
-
            ]
-
-
-
- 415 -
-
- 1 -
-
-
        )
-
-
-
- 416 -
-
- 1 -
-
-
    );
-
-
-
- 417 -
-
- 1 -
-
-
}
-
-
-
- 418 -
-
- -
-
-

-            
-
-
- 419 -
-
- -
-
-
#[test]
-
-
-
- 420 -
-
- 1 -
-
-
fn rule_unwrap_nested_and() {
-
-
-
- 421 -
-
- 1 -
-
-
    let unwrap_nested_and = get_rule_by_name("unwrap_nested_and").unwrap();
-
-
-
- 422 -
-
- 1 -
-
-

-            
-
-
- 423 -
-
- 1 -
-
-
    let mut expr = Expression::And(
-
-
-
- 424 -
-
- 1 -
-
-
        Metadata::new(),
-
-
-
- 425 -
-
- 1 -
-
-
        vec![
-
-
-
- 426 -
-
- 1 -
-
-
            Expression::And(
-
-
-
- 427 -
-
- 1 -
-
-
                Metadata::new(),
-
-
-
- 428 -
-
- 1 -
-
-
                vec![
-
-
-
- 429 -
-
- 1 -
-
-
                    Expression::Constant(Metadata::new(), Constant::Bool(true)),
-
-
-
- 430 -
-
- 1 -
-
-
                    Expression::Constant(Metadata::new(), Constant::Bool(false)),
-
-
-
- 431 -
-
- 1 -
-
-
                ],
-
-
-
- 432 -
-
- 1 -
-
-
            ),
-
-
-
- 433 -
-
- 1 -
-
-
            Expression::Constant(Metadata::new(), Constant::Bool(true)),
-
-
-
- 434 -
-
- 1 -
-
-
        ],
-
-
-
- 435 -
-
- 1 -
-
-
    );
-
-
-
- 436 -
-
- 1 -
-
-

-            
-
-
- 437 -
-
- 1 -
-
-
    expr = unwrap_nested_and
-
-
-
- 438 -
-
- 1 -
-
-
        .apply(&expr, &Model::new_empty(Default::default()))
-
-
-
- 439 -
-
- 1 -
-
-
        .unwrap()
-
-
-
- 440 -
-
- 1 -
-
-
        .new_expression;
-
-
-
- 441 -
-
- 1 -
-
-

-            
-
-
- 442 -
-
- 1 -
-
-
    assert_eq!(
-
-
-
- 443 -
-
- 1 -
-
-
        expr,
-
-
-
- 444 -
-
- 1 -
-
-
        Expression::And(
-
-
-
- 445 -
-
- 1 -
-
-
            Metadata::new(),
-
-
-
- 446 -
-
- 1 -
-
-
            vec![
-
-
-
- 447 -
-
- 1 -
-
-
                Expression::Constant(Metadata::new(), Constant::Bool(true)),
-
-
-
- 448 -
-
- 1 -
-
-
                Expression::Constant(Metadata::new(), Constant::Bool(false)),
-
-
-
- 449 -
-
- 1 -
-
-
                Expression::Constant(Metadata::new(), Constant::Bool(true)),
-
-
-
- 450 -
-
- 1 -
-
-
            ]
-
-
-
- 451 -
-
- 1 -
-
-
        )
-
-
-
- 452 -
-
- 1 -
-
-
    );
-
-
-
- 453 -
-
- 1 -
-
-
}
-
-
-
- 454 -
-
- -
-
-

-            
-
-
- 455 -
-
- -
-
-
#[test]
-
-
-
- 456 -
-
- 1 -
-
-
fn unwrap_nested_or_not_changed() {
-
-
-
- 457 -
-
- 1 -
-
-
    let unwrap_nested_or = get_rule_by_name("unwrap_nested_or").unwrap();
-
-
-
- 458 -
-
- 1 -
-
-

-            
-
-
- 459 -
-
- 1 -
-
-
    let expr = Expression::Or(
-
-
-
- 460 -
-
- 1 -
-
-
        Metadata::new(),
-
-
-
- 461 -
-
- 1 -
-
-
        vec![
-
-
-
- 462 -
-
- 1 -
-
-
            Expression::Constant(Metadata::new(), Constant::Bool(true)),
-
-
-
- 463 -
-
- 1 -
-
-
            Expression::Constant(Metadata::new(), Constant::Bool(false)),
-
-
-
- 464 -
-
- 1 -
-
-
        ],
-
-
-
- 465 -
-
- 1 -
-
-
    );
-
-
-
- 466 -
-
- 1 -
-
-

-            
-
-
- 467 -
-
- 1 -
-
-
    let result = unwrap_nested_or.apply(&expr, &Model::new_empty(Default::default()));
-
-
-
- 468 -
-
- 1 -
-
-

-            
-
-
- 469 -
-
- 1 -
-
-
    assert!(result.is_err());
-
-
-
- 470 -
-
- 1 -
-
-
}
-
-
-
- 471 -
-
- -
-
-

-            
-
-
- 472 -
-
- -
-
-
#[test]
-
-
-
- 473 -
-
- 1 -
-
-
fn unwrap_nested_and_not_changed() {
-
-
-
- 474 -
-
- 1 -
-
-
    let unwrap_nested_and = get_rule_by_name("unwrap_nested_and").unwrap();
-
-
-
- 475 -
-
- 1 -
-
-

-            
-
-
- 476 -
-
- 1 -
-
-
    let expr = Expression::And(
-
-
-
- 477 -
-
- 1 -
-
-
        Metadata::new(),
-
-
-
- 478 -
-
- 1 -
-
-
        vec![
-
-
-
- 479 -
-
- 1 -
-
-
            Expression::Constant(Metadata::new(), Constant::Bool(true)),
-
-
-
- 480 -
-
- 1 -
-
-
            Expression::Constant(Metadata::new(), Constant::Bool(false)),
-
-
-
- 481 -
-
- 1 -
-
-
        ],
-
-
-
- 482 -
-
- 1 -
-
-
    );
-
-
-
- 483 -
-
- 1 -
-
-

-            
-
-
- 484 -
-
- 1 -
-
-
    let result = unwrap_nested_and.apply(&expr, &Model::new_empty(Default::default()));
-
-
-
- 485 -
-
- 1 -
-
-

-            
-
-
- 486 -
-
- 1 -
-
-
    assert!(result.is_err());
-
-
-
- 487 -
-
- 1 -
-
-
}
-
-
-
- 488 -
-
- -
-
-

-            
-
-
- 489 -
-
- -
-
-
#[test]
-
-
-
- 490 -
-
- 1 -
-
-
fn remove_trivial_and_or() {
-
-
-
- 491 -
-
- 1 -
-
-
    let remove_trivial_and = get_rule_by_name("remove_trivial_and").unwrap();
-
-
-
- 492 -
-
- 1 -
-
-
    let remove_trivial_or = get_rule_by_name("remove_trivial_or").unwrap();
-
-
-
- 493 -
-
- 1 -
-
-

-            
-
-
- 494 -
-
- 1 -
-
-
    let mut expr_and = Expression::And(
-
-
-
- 495 -
-
- 1 -
-
-
        Metadata::new(),
-
-
-
- 496 -
-
- 1 -
-
-
        vec![Expression::Constant(Metadata::new(), Constant::Bool(true))],
-
-
-
- 497 -
-
- 1 -
-
-
    );
-
-
-
- 498 -
-
- 1 -
-
-
    let mut expr_or = Expression::Or(
-
-
-
- 499 -
-
- 1 -
-
-
        Metadata::new(),
-
-
-
- 500 -
-
- 1 -
-
-
        vec![Expression::Constant(Metadata::new(), Constant::Bool(false))],
-
-
-
- 501 -
-
- 1 -
-
-
    );
-
-
-
- 502 -
-
- 1 -
-
-

-            
-
-
- 503 -
-
- 1 -
-
-
    expr_and = remove_trivial_and
-
-
-
- 504 -
-
- 1 -
-
-
        .apply(&expr_and, &Model::new_empty(Default::default()))
-
-
-
- 505 -
-
- 1 -
-
-
        .unwrap()
-
-
-
- 506 -
-
- 1 -
-
-
        .new_expression;
-
-
-
- 507 -
-
- 1 -
-
-
    expr_or = remove_trivial_or
-
-
-
- 508 -
-
- 1 -
-
-
        .apply(&expr_or, &Model::new_empty(Default::default()))
-
-
-
- 509 -
-
- 1 -
-
-
        .unwrap()
-
-
-
- 510 -
-
- 1 -
-
-
        .new_expression;
-
-
-
- 511 -
-
- 1 -
-
-

-            
-
-
- 512 -
-
- 1 -
-
-
    assert_eq!(
-
-
-
- 513 -
-
- 1 -
-
-
        expr_and,
-
-
-
- 514 -
-
- 1 -
-
-
        Expression::Constant(Metadata::new(), Constant::Bool(true))
-
-
-
- 515 -
-
- 1 -
-
-
    );
-
-
-
- 516 -
-
- 1 -
-
-
    assert_eq!(
-
-
-
- 517 -
-
- 1 -
-
-
        expr_or,
-
-
-
- 518 -
-
- 1 -
-
-
        Expression::Constant(Metadata::new(), Constant::Bool(false))
-
-
-
- 519 -
-
- 1 -
-
-
    );
-
-
-
- 520 -
-
- 1 -
-
-
}
-
-
-
- 521 -
-
- -
-
-

-            
-
-
- 522 -
-
- -
-
-
#[test]
-
-
-
- 523 -
-
- 1 -
-
-
fn rule_remove_constants_from_or() {
-
-
-
- 524 -
-
- 1 -
-
-
    let remove_constants_from_or = get_rule_by_name("remove_constants_from_or").unwrap();
-
-
-
- 525 -
-
- 1 -
-
-

-            
-
-
- 526 -
-
- 1 -
-
-
    let mut expr = Expression::Or(
-
-
-
- 527 -
-
- 1 -
-
-
        Metadata::new(),
-
-
-
- 528 -
-
- 1 -
-
-
        vec![
-
-
-
- 529 -
-
- 1 -
-
-
            Expression::Constant(Metadata::new(), Constant::Bool(true)),
-
-
-
- 530 -
-
- 1 -
-
-
            Expression::Constant(Metadata::new(), Constant::Bool(false)),
-
-
-
- 531 -
-
- 1 -
-
-
            Expression::Reference(Metadata::new(), Name::UserName(String::from("a"))),
-
-
-
- 532 -
-
- 1 -
-
-
        ],
-
-
-
- 533 -
-
- 1 -
-
-
    );
-
-
-
- 534 -
-
- 1 -
-
-

-            
-
-
- 535 -
-
- 1 -
-
-
    expr = remove_constants_from_or
-
-
-
- 536 -
-
- 1 -
-
-
        .apply(&expr, &Model::new_empty(Default::default()))
-
-
-
- 537 -
-
- 1 -
-
-
        .unwrap()
-
-
-
- 538 -
-
- 1 -
-
-
        .new_expression;
-
-
-
- 539 -
-
- 1 -
-
-

-            
-
-
- 540 -
-
- 1 -
-
-
    assert_eq!(
-
-
-
- 541 -
-
- 1 -
-
-
        expr,
-
-
-
- 542 -
-
- 1 -
-
-
        Expression::Constant(Metadata::new(), Constant::Bool(true))
-
-
-
- 543 -
-
- 1 -
-
-
    );
-
-
-
- 544 -
-
- 1 -
-
-
}
-
-
-
- 545 -
-
- -
-
-

-            
-
-
- 546 -
-
- -
-
-
#[test]
-
-
-
- 547 -
-
- 1 -
-
-
fn rule_remove_constants_from_and() {
-
-
-
- 548 -
-
- 1 -
-
-
    let remove_constants_from_and = get_rule_by_name("remove_constants_from_and").unwrap();
-
-
-
- 549 -
-
- 1 -
-
-

-            
-
-
- 550 -
-
- 1 -
-
-
    let mut expr = Expression::And(
-
-
-
- 551 -
-
- 1 -
-
-
        Metadata::new(),
-
-
-
- 552 -
-
- 1 -
-
-
        vec![
-
-
-
- 553 -
-
- 1 -
-
-
            Expression::Constant(Metadata::new(), Constant::Bool(true)),
-
-
-
- 554 -
-
- 1 -
-
-
            Expression::Constant(Metadata::new(), Constant::Bool(false)),
-
-
-
- 555 -
-
- 1 -
-
-
            Expression::Reference(Metadata::new(), Name::UserName(String::from("a"))),
-
-
-
- 556 -
-
- 1 -
-
-
        ],
-
-
-
- 557 -
-
- 1 -
-
-
    );
-
-
-
- 558 -
-
- 1 -
-
-

-            
-
-
- 559 -
-
- 1 -
-
-
    expr = remove_constants_from_and
-
-
-
- 560 -
-
- 1 -
-
-
        .apply(&expr, &Model::new_empty(Default::default()))
-
-
-
- 561 -
-
- 1 -
-
-
        .unwrap()
-
-
-
- 562 -
-
- 1 -
-
-
        .new_expression;
-
-
-
- 563 -
-
- 1 -
-
-

-            
-
-
- 564 -
-
- 1 -
-
-
    assert_eq!(
-
-
-
- 565 -
-
- 1 -
-
-
        expr,
-
-
-
- 566 -
-
- 1 -
-
-
        Expression::Constant(Metadata::new(), Constant::Bool(false))
-
-
-
- 567 -
-
- 1 -
-
-
    );
-
-
-
- 568 -
-
- 1 -
-
-
}
-
-
-
- 569 -
-
- -
-
-

-            
-
-
- 570 -
-
- -
-
-
#[test]
-
-
-
- 571 -
-
- 1 -
-
-
fn remove_constants_from_or_not_changed() {
-
-
-
- 572 -
-
- 1 -
-
-
    let remove_constants_from_or = get_rule_by_name("remove_constants_from_or").unwrap();
-
-
-
- 573 -
-
- 1 -
-
-

-            
-
-
- 574 -
-
- 1 -
-
-
    let expr = Expression::Or(
-
-
-
- 575 -
-
- 1 -
-
-
        Metadata::new(),
-
-
-
- 576 -
-
- 1 -
-
-
        vec![
-
-
-
- 577 -
-
- 1 -
-
-
            Expression::Reference(Metadata::new(), Name::UserName(String::from("a"))),
-
-
-
- 578 -
-
- 1 -
-
-
            Expression::Reference(Metadata::new(), Name::UserName(String::from("b"))),
-
-
-
- 579 -
-
- 1 -
-
-
        ],
-
-
-
- 580 -
-
- 1 -
-
-
    );
-
-
-
- 581 -
-
- 1 -
-
-

-            
-
-
- 582 -
-
- 1 -
-
-
    let result = remove_constants_from_or.apply(&expr, &Model::new_empty(Default::default()));
-
-
-
- 583 -
-
- 1 -
-
-

-            
-
-
- 584 -
-
- 1 -
-
-
    assert!(result.is_err());
-
-
-
- 585 -
-
- 1 -
-
-
}
-
-
-
- 586 -
-
- -
-
-

-            
-
-
- 587 -
-
- -
-
-
#[test]
-
-
-
- 588 -
-
- 1 -
-
-
fn remove_constants_from_and_not_changed() {
-
-
-
- 589 -
-
- 1 -
-
-
    let remove_constants_from_and = get_rule_by_name("remove_constants_from_and").unwrap();
-
-
-
- 590 -
-
- 1 -
-
-

-            
-
-
- 591 -
-
- 1 -
-
-
    let expr = Expression::And(
-
-
-
- 592 -
-
- 1 -
-
-
        Metadata::new(),
-
-
-
- 593 -
-
- 1 -
-
-
        vec![
-
-
-
- 594 -
-
- 1 -
-
-
            Expression::Reference(Metadata::new(), Name::UserName(String::from("a"))),
-
-
-
- 595 -
-
- 1 -
-
-
            Expression::Reference(Metadata::new(), Name::UserName(String::from("b"))),
-
-
-
- 596 -
-
- 1 -
-
-
        ],
-
-
-
- 597 -
-
- 1 -
-
-
    );
-
-
-
- 598 -
-
- 1 -
-
-

-            
-
-
- 599 -
-
- 1 -
-
-
    let result = remove_constants_from_and.apply(&expr, &Model::new_empty(Default::default()));
-
-
-
- 600 -
-
- 1 -
-
-

-            
-
-
- 601 -
-
- 1 -
-
-
    assert!(result.is_err());
-
-
-
- 602 -
-
- 1 -
-
-
}
-
-
-
- 603 -
-
- -
-
-

-            
-
-
- 604 -
-
- -
-
-
#[test]
-
-
-
- 605 -
-
- 1 -
-
-
fn rule_distribute_not_over_and() {
-
-
-
- 606 -
-
- 1 -
-
-
    let distribute_not_over_and = get_rule_by_name("distribute_not_over_and").unwrap();
-
-
-
- 607 -
-
- 1 -
-
-

-            
-
-
- 608 -
-
- 1 -
-
-
    let mut expr = Expression::Not(
-
-
-
- 609 -
-
- 1 -
-
-
        Metadata::new(),
-
-
-
- 610 -
-
- 1 -
-
-
        Box::new(Expression::And(
-
-
-
- 611 -
-
- 1 -
-
-
            Metadata::new(),
-
-
-
- 612 -
-
- 1 -
-
-
            vec![
-
-
-
- 613 -
-
- 1 -
-
-
                Expression::Reference(Metadata::new(), Name::UserName(String::from("a"))),
-
-
-
- 614 -
-
- 1 -
-
-
                Expression::Reference(Metadata::new(), Name::UserName(String::from("b"))),
-
-
-
- 615 -
-
- 1 -
-
-
            ],
-
-
-
- 616 -
-
- 1 -
-
-
        )),
-
-
-
- 617 -
-
- 1 -
-
-
    );
-
-
-
- 618 -
-
- 1 -
-
-

-            
-
-
- 619 -
-
- 1 -
-
-
    expr = distribute_not_over_and
-
-
-
- 620 -
-
- 1 -
-
-
        .apply(&expr, &Model::new_empty(Default::default()))
-
-
-
- 621 -
-
- 1 -
-
-
        .unwrap()
-
-
-
- 622 -
-
- 1 -
-
-
        .new_expression;
-
-
-
- 623 -
-
- 1 -
-
-

-            
-
-
- 624 -
-
- 1 -
-
-
    assert_eq!(
-
-
-
- 625 -
-
- 1 -
-
-
        expr,
-
-
-
- 626 -
-
- 1 -
-
-
        Expression::Or(
-
-
-
- 627 -
-
- 1 -
-
-
            Metadata::new(),
-
-
-
- 628 -
-
- 1 -
-
-
            vec![
-
-
-
- 629 -
-
- 1 -
-
-
                Expression::Not(
-
-
-
- 630 -
-
- 1 -
-
-
                    Metadata::new(),
-
-
-
- 631 -
-
- 1 -
-
-
                    Box::new(Expression::Reference(
-
-
-
- 632 -
-
- 1 -
-
-
                        Metadata::new(),
-
-
-
- 633 -
-
- 1 -
-
-
                        Name::UserName(String::from("a"))
-
-
-
- 634 -
-
- 1 -
-
-
                    ))
-
-
-
- 635 -
-
- 1 -
-
-
                ),
-
-
-
- 636 -
-
- 1 -
-
-
                Expression::Not(
-
-
-
- 637 -
-
- 1 -
-
-
                    Metadata::new(),
-
-
-
- 638 -
-
- 1 -
-
-
                    Box::new(Expression::Reference(
-
-
-
- 639 -
-
- 1 -
-
-
                        Metadata::new(),
-
-
-
- 640 -
-
- 1 -
-
-
                        Name::UserName(String::from("b"))
-
-
-
- 641 -
-
- 1 -
-
-
                    ))
-
-
-
- 642 -
-
- 1 -
-
-
                ),
-
-
-
- 643 -
-
- 1 -
-
-
            ]
-
-
-
- 644 -
-
- 1 -
-
-
        )
-
-
-
- 645 -
-
- 1 -
-
-
    );
-
-
-
- 646 -
-
- 1 -
-
-
}
-
-
-
- 647 -
-
- -
-
-

-            
-
-
- 648 -
-
- -
-
-
#[test]
-
-
-
- 649 -
-
- 1 -
-
-
fn rule_distribute_not_over_or() {
-
-
-
- 650 -
-
- 1 -
-
-
    let distribute_not_over_or = get_rule_by_name("distribute_not_over_or").unwrap();
-
-
-
- 651 -
-
- 1 -
-
-

-            
-
-
- 652 -
-
- 1 -
-
-
    let mut expr = Expression::Not(
-
-
-
- 653 -
-
- 1 -
-
-
        Metadata::new(),
-
-
-
- 654 -
-
- 1 -
-
-
        Box::new(Expression::Or(
-
-
-
- 655 -
-
- 1 -
-
-
            Metadata::new(),
-
-
-
- 656 -
-
- 1 -
-
-
            vec![
-
-
-
- 657 -
-
- 1 -
-
-
                Expression::Reference(Metadata::new(), Name::UserName(String::from("a"))),
-
-
-
- 658 -
-
- 1 -
-
-
                Expression::Reference(Metadata::new(), Name::UserName(String::from("b"))),
-
-
-
- 659 -
-
- 1 -
-
-
            ],
-
-
-
- 660 -
-
- 1 -
-
-
        )),
-
-
-
- 661 -
-
- 1 -
-
-
    );
-
-
-
- 662 -
-
- 1 -
-
-

-            
-
-
- 663 -
-
- 1 -
-
-
    expr = distribute_not_over_or
-
-
-
- 664 -
-
- 1 -
-
-
        .apply(&expr, &Model::new_empty(Default::default()))
-
-
-
- 665 -
-
- 1 -
-
-
        .unwrap()
-
-
-
- 666 -
-
- 1 -
-
-
        .new_expression;
-
-
-
- 667 -
-
- 1 -
-
-

-            
-
-
- 668 -
-
- 1 -
-
-
    assert_eq!(
-
-
-
- 669 -
-
- 1 -
-
-
        expr,
-
-
-
- 670 -
-
- 1 -
-
-
        Expression::And(
-
-
-
- 671 -
-
- 1 -
-
-
            Metadata::new(),
-
-
-
- 672 -
-
- 1 -
-
-
            vec![
-
-
-
- 673 -
-
- 1 -
-
-
                Expression::Not(
-
-
-
- 674 -
-
- 1 -
-
-
                    Metadata::new(),
-
-
-
- 675 -
-
- 1 -
-
-
                    Box::new(Expression::Reference(
-
-
-
- 676 -
-
- 1 -
-
-
                        Metadata::new(),
-
-
-
- 677 -
-
- 1 -
-
-
                        Name::UserName(String::from("a"))
-
-
-
- 678 -
-
- 1 -
-
-
                    ))
-
-
-
- 679 -
-
- 1 -
-
-
                ),
-
-
-
- 680 -
-
- 1 -
-
-
                Expression::Not(
-
-
-
- 681 -
-
- 1 -
-
-
                    Metadata::new(),
-
-
-
- 682 -
-
- 1 -
-
-
                    Box::new(Expression::Reference(
-
-
-
- 683 -
-
- 1 -
-
-
                        Metadata::new(),
-
-
-
- 684 -
-
- 1 -
-
-
                        Name::UserName(String::from("b"))
-
-
-
- 685 -
-
- 1 -
-
-
                    ))
-
-
-
- 686 -
-
- 1 -
-
-
                ),
-
-
-
- 687 -
-
- 1 -
-
-
            ]
-
-
-
- 688 -
-
- 1 -
-
-
        )
-
-
-
- 689 -
-
- 1 -
-
-
    );
-
-
-
- 690 -
-
- 1 -
-
-
}
-
-
-
- 691 -
-
- -
-
-

-            
-
-
- 692 -
-
- -
-
-
#[test]
-
-
-
- 693 -
-
- 1 -
-
-
fn rule_distribute_not_over_and_not_changed() {
-
-
-
- 694 -
-
- 1 -
-
-
    let distribute_not_over_and = get_rule_by_name("distribute_not_over_and").unwrap();
-
-
-
- 695 -
-
- 1 -
-
-

-            
-
-
- 696 -
-
- 1 -
-
-
    let expr = Expression::Not(
-
-
-
- 697 -
-
- 1 -
-
-
        Metadata::new(),
-
-
-
- 698 -
-
- 1 -
-
-
        Box::new(Expression::Reference(
-
-
-
- 699 -
-
- 1 -
-
-
            Metadata::new(),
-
-
-
- 700 -
-
- 1 -
-
-
            Name::UserName(String::from("a")),
-
-
-
- 701 -
-
- 1 -
-
-
        )),
-
-
-
- 702 -
-
- 1 -
-
-
    );
-
-
-
- 703 -
-
- 1 -
-
-

-            
-
-
- 704 -
-
- 1 -
-
-
    let result = distribute_not_over_and.apply(&expr, &Model::new_empty(Default::default()));
-
-
-
- 705 -
-
- 1 -
-
-

-            
-
-
- 706 -
-
- 1 -
-
-
    assert!(result.is_err());
-
-
-
- 707 -
-
- 1 -
-
-
}
-
-
-
- 708 -
-
- -
-
-

-            
-
-
- 709 -
-
- -
-
-
#[test]
-
-
-
- 710 -
-
- 1 -
-
-
fn rule_distribute_not_over_or_not_changed() {
-
-
-
- 711 -
-
- 1 -
-
-
    let distribute_not_over_or = get_rule_by_name("distribute_not_over_or").unwrap();
-
-
-
- 712 -
-
- 1 -
-
-

-            
-
-
- 713 -
-
- 1 -
-
-
    let expr = Expression::Not(
-
-
-
- 714 -
-
- 1 -
-
-
        Metadata::new(),
-
-
-
- 715 -
-
- 1 -
-
-
        Box::new(Expression::Reference(
-
-
-
- 716 -
-
- 1 -
-
-
            Metadata::new(),
-
-
-
- 717 -
-
- 1 -
-
-
            Name::UserName(String::from("a")),
-
-
-
- 718 -
-
- 1 -
-
-
        )),
-
-
-
- 719 -
-
- 1 -
-
-
    );
-
-
-
- 720 -
-
- 1 -
-
-

-            
-
-
- 721 -
-
- 1 -
-
-
    let result = distribute_not_over_or.apply(&expr, &Model::new_empty(Default::default()));
-
-
-
- 722 -
-
- 1 -
-
-

-            
-
-
- 723 -
-
- 1 -
-
-
    assert!(result.is_err());
-
-
-
- 724 -
-
- 1 -
-
-
}
-
-
-
- 725 -
-
- -
-
-

-            
-
-
- 726 -
-
- -
-
-
#[test]
-
-
-
- 727 -
-
- 1 -
-
-
fn rule_distribute_or_over_and() {
-
-
-
- 728 -
-
- 1 -
-
-
    let distribute_or_over_and = get_rule_by_name("distribute_or_over_and").unwrap();
-
-
-
- 729 -
-
- 1 -
-
-

-            
-
-
- 730 -
-
- 1 -
-
-
    let expr = Expression::Or(
-
-
-
- 731 -
-
- 1 -
-
-
        Metadata::new(),
-
-
-
- 732 -
-
- 1 -
-
-
        vec![
-
-
-
- 733 -
-
- 1 -
-
-
            Expression::And(
-
-
-
- 734 -
-
- 1 -
-
-
                Metadata::new(),
-
-
-
- 735 -
-
- 1 -
-
-
                vec![
-
-
-
- 736 -
-
- 1 -
-
-
                    Expression::Reference(Metadata::new(), Name::MachineName(1)),
-
-
-
- 737 -
-
- 1 -
-
-
                    Expression::Reference(Metadata::new(), Name::MachineName(2)),
-
-
-
- 738 -
-
- 1 -
-
-
                ],
-
-
-
- 739 -
-
- 1 -
-
-
            ),
-
-
-
- 740 -
-
- 1 -
-
-
            Expression::Reference(Metadata::new(), Name::MachineName(3)),
-
-
-
- 741 -
-
- 1 -
-
-
        ],
-
-
-
- 742 -
-
- 1 -
-
-
    );
-
-
-
- 743 -
-
- 1 -
-
-

-            
-
-
- 744 -
-
- 1 -
-
-
    let red = distribute_or_over_and
-
-
-
- 745 -
-
- 1 -
-
-
        .apply(&expr, &Model::new_empty(Default::default()))
-
-
-
- 746 -
-
- 1 -
-
-
        .unwrap();
-
-
-
- 747 -
-
- 1 -
-
-

-            
-
-
- 748 -
-
- 1 -
-
-
    assert_eq!(
-
-
-
- 749 -
-
- 1 -
-
-
        red.new_expression,
-
-
-
- 750 -
-
- 1 -
-
-
        Expression::And(
-
-
-
- 751 -
-
- 1 -
-
-
            Metadata::new(),
-
-
-
- 752 -
-
- 1 -
-
-
            vec![
-
-
-
- 753 -
-
- 1 -
-
-
                Expression::Or(
-
-
-
- 754 -
-
- 1 -
-
-
                    Metadata::new(),
-
-
-
- 755 -
-
- 1 -
-
-
                    vec![
-
-
-
- 756 -
-
- 1 -
-
-
                        Expression::Reference(Metadata::new(), Name::MachineName(3)),
-
-
-
- 757 -
-
- 1 -
-
-
                        Expression::Reference(Metadata::new(), Name::MachineName(1)),
-
-
-
- 758 -
-
- 1 -
-
-
                    ]
-
-
-
- 759 -
-
- 1 -
-
-
                ),
-
-
-
- 760 -
-
- 1 -
-
-
                Expression::Or(
-
-
-
- 761 -
-
- 1 -
-
-
                    Metadata::new(),
-
-
-
- 762 -
-
- 1 -
-
-
                    vec![
-
-
-
- 763 -
-
- 1 -
-
-
                        Expression::Reference(Metadata::new(), Name::MachineName(3)),
-
-
-
- 764 -
-
- 1 -
-
-
                        Expression::Reference(Metadata::new(), Name::MachineName(2)),
-
-
-
- 765 -
-
- 1 -
-
-
                    ]
-
-
-
- 766 -
-
- 1 -
-
-
                ),
-
-
-
- 767 -
-
- 1 -
-
-
            ]
-
-
-
- 768 -
-
- 1 -
-
-
        ),
-
-
-
- 769 -
-
- 1 -
-
-
    );
-
-
-
- 770 -
-
- 1 -
-
-
}
-
-
-
- 771 -
-
- -
-
-

-            
-
-
- 772 -
-
- -
-
-
// #[test]
-
-
-
- 773 -
-
- -
-
-
// fn rule_ensure_div() {
-
-
-
- 774 -
-
- -
-
-
//     let ensure_div = get_rule_by_name("ensure_div").unwrap();
-
-
-
- 775 -
-
- -
-
-

-            
-
-
- 776 -
-
- -
-
-
//     let expr = Expression::Div(
-
-
-
- 777 -
-
- -
-
-
//         Metadata::new(),
-
-
-
- 778 -
-
- -
-
-
//         Box::new(Expression::Reference(
-
-
-
- 779 -
-
- -
-
-
//             Metadata::new(),
-
-
-
- 780 -
-
- -
-
-
//             Name::UserName("a".to_string()),
-
-
-
- 781 -
-
- -
-
-
//         )),
-
-
-
- 782 -
-
- -
-
-
//         Box::new(Expression::Reference(
-
-
-
- 783 -
-
- -
-
-
//             Metadata::new(),
-
-
-
- 784 -
-
- -
-
-
//             Name::UserName("b".to_string()),
-
-
-
- 785 -
-
- -
-
-
//         )),
-
-
-
- 786 -
-
- -
-
-
//     );
-
-
-
- 787 -
-
- -
-
-

-            
-
-
- 788 -
-
- -
-
-
//     let red = ensure_div.apply(&expr, &Model::new_empty(Default::default())).unwrap();
-
-
-
- 789 -
-
- -
-
-

-            
-
-
- 790 -
-
- -
-
-
//     assert_eq!(
-
-
-
- 791 -
-
- -
-
-
//         red.new_expression,
-
-
-
- 792 -
-
- -
-
-
//         Expression::SafeDiv(
-
-
-
- 793 -
-
- -
-
-
//             Metadata::new(),
-
-
-
- 794 -
-
- -
-
-
//             Box::new(Expression::Reference(
-
-
-
- 795 -
-
- -
-
-
//                 Metadata::new(),
-
-
-
- 796 -
-
- -
-
-
//                 Name::UserName("a".to_string())
-
-
-
- 797 -
-
- -
-
-
//             )),
-
-
-
- 798 -
-
- -
-
-
//             Box::new(Expression::Reference(
-
-
-
- 799 -
-
- -
-
-
//                 Metadata::new(),
-
-
-
- 800 -
-
- -
-
-
//                 Name::UserName("b".to_string())
-
-
-
- 801 -
-
- -
-
-
//             )),
-
-
-
- 802 -
-
- -
-
-
//         ),
-
-
-
- 803 -
-
- -
-
-
//     );
-
-
-
- 804 -
-
- -
-
-
//     assert_eq!(
-
-
-
- 805 -
-
- -
-
-
//         red.new_top,
-
-
-
- 806 -
-
- -
-
-
//         Expression::Neq(
-
-
-
- 807 -
-
- -
-
-
//             Metadata::new(),
-
-
-
- 808 -
-
- -
-
-
//             Box::new(Expression::Reference(
-
-
-
- 809 -
-
- -
-
-
//                 Metadata::new(),
-
-
-
- 810 -
-
- -
-
-
//                 Name::UserName("b".to_string())
-
-
-
- 811 -
-
- -
-
-
//             )),
-
-
-
- 812 -
-
- -
-
-
//             Box::new(Expression::Constant(Metadata::new(), Constant::Int(0)))
-
-
-
- 813 -
-
- -
-
-
//         )
-
-
-
- 814 -
-
- -
-
-
//     );
-
-
-
- 815 -
-
- -
-
-
// }
-
-
-
- 816 -
-
- -
-
-

-            
-
-
- 817 -
-
- -
-
-
///
-
-
-
- 818 -
-
- -
-
-
/// Reduce and solve:
-
-
-
- 819 -
-
- -
-
-
/// ```text
-
-
-
- 820 -
-
- -
-
-
/// find a,b,c : int(1..3)
-
-
-
- 821 -
-
- -
-
-
/// such that a + b + c = 4
-
-
-
- 822 -
-
- -
-
-
/// such that a < b
-
-
-
- 823 -
-
- -
-
-
/// ```
-
-
-
- 824 -
-
- -
-
-
///
-
-
-
- 825 -
-
- -
-
-
/// This test uses the rewrite function to simplify the expression instead
-
-
-
- 826 -
-
- -
-
-
/// of applying the rules manually.
-
-
-
- 827 -
-
- -
-
-
#[test]
-
-
-
- 828 -
-
- 1 -
-
-
fn rewrite_solve_xyz() {
-
-
-
- 829 -
-
- 1 -
-
-
    println!("Rules: {:?}", get_rules());
-
-
-
- 830 -
-
- -
-
-

-            
-
-
- 831 -
-
- 1 -
-
-
    let rule_sets = match resolve_rule_sets(SolverFamily::Minion, &vec!["Constant".to_string()]) {
-
-
-
- 832 -
-
- 1 -
-
-
        Ok(rs) => rs,
-
-
-
- 833 -
-
- -
-
-
        Err(e) => {
-
-
-
- 834 -
-
- -
-
-
            eprintln!("Error resolving rule sets: {}", e);
-
-
-
- 835 -
-
- -
-
-
            exit(1);
-
-
-
- 836 -
-
- -
-
-
        }
-
-
-
- 837 -
-
- -
-
-
    };
-
-
-
- 838 -
-
- 1 -
-
-
    println!("Rule sets: {:?}", rule_sets);
-
-
-
- 839 -
-
- 1 -
-
-

-            
-
-
- 840 -
-
- 1 -
-
-
    // Create variables and domains
-
-
-
- 841 -
-
- 1 -
-
-
    let variable_a = Name::UserName(String::from("a"));
-
-
-
- 842 -
-
- 1 -
-
-
    let variable_b = Name::UserName(String::from("b"));
-
-
-
- 843 -
-
- 1 -
-
-
    let variable_c = Name::UserName(String::from("c"));
-
-
-
- 844 -
-
- 1 -
-
-
    let domain = Domain::IntDomain(vec![Range::Bounded(1, 3)]);
-
-
-
- 845 -
-
- 1 -
-
-

-            
-
-
- 846 -
-
- 1 -
-
-
    // Construct nested expression
-
-
-
- 847 -
-
- 1 -
-
-
    let nested_expr = Expression::And(
-
-
-
- 848 -
-
- 1 -
-
-
        Metadata::new(),
-
-
-
- 849 -
-
- 1 -
-
-
        vec![
-
-
-
- 850 -
-
- 1 -
-
-
            Expression::Eq(
-
-
-
- 851 -
-
- 1 -
-
-
                Metadata::new(),
-
-
-
- 852 -
-
- 1 -
-
-
                Box::new(Expression::Sum(
-
-
-
- 853 -
-
- 1 -
-
-
                    Metadata::new(),
-
-
-
- 854 -
-
- 1 -
-
-
                    vec![
-
-
-
- 855 -
-
- 1 -
-
-
                        Expression::Reference(Metadata::new(), variable_a.clone()),
-
-
-
- 856 -
-
- 1 -
-
-
                        Expression::Reference(Metadata::new(), variable_b.clone()),
-
-
-
- 857 -
-
- 1 -
-
-
                        Expression::Reference(Metadata::new(), variable_c.clone()),
-
-
-
- 858 -
-
- 1 -
-
-
                    ],
-
-
-
- 859 -
-
- 1 -
-
-
                )),
-
-
-
- 860 -
-
- 1 -
-
-
                Box::new(Expression::Constant(Metadata::new(), Constant::Int(4))),
-
-
-
- 861 -
-
- 1 -
-
-
            ),
-
-
-
- 862 -
-
- 1 -
-
-
            Expression::Lt(
-
-
-
- 863 -
-
- 1 -
-
-
                Metadata::new(),
-
-
-
- 864 -
-
- 1 -
-
-
                Box::new(Expression::Reference(Metadata::new(), variable_a.clone())),
-
-
-
- 865 -
-
- 1 -
-
-
                Box::new(Expression::Reference(Metadata::new(), variable_b.clone())),
-
-
-
- 866 -
-
- 1 -
-
-
            ),
-
-
-
- 867 -
-
- 1 -
-
-
        ],
-
-
-
- 868 -
-
- 1 -
-
-
    );
-
-
-
- 869 -
-
- -
-
-

-            
-
-
- 870 -
-
- 1 -
-
-
    let rule_sets = match resolve_rule_sets(SolverFamily::Minion, &vec!["Constant".to_string()]) {
-
-
-
- 871 -
-
- 1 -
-
-
        Ok(rs) => rs,
-
-
-
- 872 -
-
- -
-
-
        Err(e) => {
-
-
-
- 873 -
-
- -
-
-
            eprintln!("Error resolving rule sets: {}", e);
-
-
-
- 874 -
-
- -
-
-
            exit(1);
-
-
-
- 875 -
-
- -
-
-
        }
-
-
-
- 876 -
-
- -
-
-
    };
-
-
-
- 877 -
-
- -
-
-

-            
-
-
- 878 -
-
- -
-
-
    // Apply rewrite function to the nested expression
-
-
-
- 879 -
-
- 1 -
-
-
    let rewritten_expr = rewrite_model(
-
-
-
- 880 -
-
- 1 -
-
-
        &Model::new(HashMap::new(), nested_expr, Default::default()),
-
-
-
- 881 -
-
- 1 -
-
-
        &rule_sets,
-
-
-
- 882 -
-
- 1 -
-
-
    )
-
-
-
- 883 -
-
- 1 -
-
-
    .unwrap()
-
-
-
- 884 -
-
- 1 -
-
-
    .constraints;
-
-
-
- 885 -
-
- 1 -
-
-

-            
-
-
- 886 -
-
- 1 -
-
-
    // Check if the expression is in its simplest form
-
-
-
- 887 -
-
- 1 -
-
-
    let expr = rewritten_expr.clone();
-
-
-
- 888 -
-
- 1 -
-
-
    assert!(is_simple(&expr));
-
-
-
- 889 -
-
- -
-
-

-            
-
-
- 890 -
-
- -
-
-
    // Create model with variables and constraints
-
-
-
- 891 -
-
- 1 -
-
-
    let mut model = Model::new(HashMap::new(), rewritten_expr, Default::default());
-
-
-
- 892 -
-
- 1 -
-
-

-            
-
-
- 893 -
-
- 1 -
-
-
    // Insert variables and domains
-
-
-
- 894 -
-
- 1 -
-
-
    model.variables.insert(
-
-
-
- 895 -
-
- 1 -
-
-
        variable_a.clone(),
-
-
-
- 896 -
-
- 1 -
-
-
        DecisionVariable {
-
-
-
- 897 -
-
- 1 -
-
-
            domain: domain.clone(),
-
-
-
- 898 -
-
- 1 -
-
-
        },
-
-
-
- 899 -
-
- 1 -
-
-
    );
-
-
-
- 900 -
-
- 1 -
-
-
    model.variables.insert(
-
-
-
- 901 -
-
- 1 -
-
-
        variable_b.clone(),
-
-
-
- 902 -
-
- 1 -
-
-
        DecisionVariable {
-
-
-
- 903 -
-
- 1 -
-
-
            domain: domain.clone(),
-
-
-
- 904 -
-
- 1 -
-
-
        },
-
-
-
- 905 -
-
- 1 -
-
-
    );
-
-
-
- 906 -
-
- 1 -
-
-
    model.variables.insert(
-
-
-
- 907 -
-
- 1 -
-
-
        variable_c.clone(),
-
-
-
- 908 -
-
- 1 -
-
-
        DecisionVariable {
-
-
-
- 909 -
-
- 1 -
-
-
            domain: domain.clone(),
-
-
-
- 910 -
-
- 1 -
-
-
        },
-
-
-
- 911 -
-
- 1 -
-
-
    );
-
-
-
- 912 -
-
- 1 -
-
-

-            
-
-
- 913 -
-
- 1 -
-
-
    let solver: Solver<adaptors::Minion> = Solver::new(adaptors::Minion::new());
-
-
-
- 914 -
-
- 1 -
-
-
    let solver = solver.load_model(model).unwrap();
-
-
-
- 915 -
-
- 1 -
-
-
    solver.solve(Box::new(|_| true)).unwrap();
-
-
-
- 916 -
-
- 1 -
-
-
}
-
-
-
- 917 -
-
- -
-
-

-            
-
-
- 918 -
-
- -
-
-
#[test]
-
-
-
- 919 -
-
- 1 -
-
-
fn rewrite_solve_xyz_parameterized() {
-
-
-
- 920 -
-
- 1 -
-
-
    println!("Rules: {:?}", get_rules());
-
-
-
- 921 -
-
- -
-
-

-            
-
-
- 922 -
-
- 1 -
-
-
    let rule_sets = match resolve_rule_sets(SolverFamily::Minion, &vec!["Constant".to_string()]) {
-
-
-
- 923 -
-
- 1 -
-
-
        Ok(rs) => rs,
-
-
-
- 924 -
-
- -
-
-
        Err(e) => {
-
-
-
- 925 -
-
- -
-
-
            eprintln!("Error resolving rule sets: {}", e);
-
-
-
- 926 -
-
- -
-
-
            exit(1);
-
-
-
- 927 -
-
- -
-
-
        }
-
-
-
- 928 -
-
- -
-
-
    };
-
-
-
- 929 -
-
- 1 -
-
-
    println!("Rule sets: {:?}", rule_sets);
-
-
-
- 930 -
-
- 1 -
-
-

-            
-
-
- 931 -
-
- 1 -
-
-
    // Create variables and domain
-
-
-
- 932 -
-
- 1 -
-
-
    let variable_a = Name::UserName(String::from("a"));
-
-
-
- 933 -
-
- 1 -
-
-
    let variable_b = Name::UserName(String::from("b"));
-
-
-
- 934 -
-
- 1 -
-
-
    let variable_c = Name::UserName(String::from("c"));
-
-
-
- 935 -
-
- 1 -
-
-
    let domain = Domain::IntDomain(vec![Range::Bounded(1, 3)]);
-
-
-
- 936 -
-
- 1 -
-
-

-            
-
-
- 937 -
-
- 1 -
-
-
    // Create a vector of test cases with varying number of OR clauses
-
-
-
- 938 -
-
- 1 -
-
-
    let test_cases = vec![1, 2, 3, 4];
-
-
-
- 939 -
-
- -
-
-

-            
-
-
- 940 -
-
- 5 -
-
-
    for num_or_clauses in test_cases {
-
-
-
- 941 -
-
- -
-
-
        // Construct OR'd expression
-
-
-
- 942 -
-
- 4 -
-
-
        let mut or_exprs = Vec::new();
-
-
-
- 943 -
-
- 10 -
-
-
        for _i in 0..num_or_clauses {
-
-
-
- 944 -
-
- 10 -
-
-
            let expr = Expression::And(
-
-
-
- 945 -
-
- 10 -
-
-
                Metadata::new(),
-
-
-
- 946 -
-
- 10 -
-
-
                vec![
-
-
-
- 947 -
-
- 10 -
-
-
                    Expression::Eq(
-
-
-
- 948 -
-
- 10 -
-
-
                        Metadata::new(),
-
-
-
- 949 -
-
- 10 -
-
-
                        Box::new(Expression::Sum(
-
-
-
- 950 -
-
- 10 -
-
-
                            Metadata::new(),
-
-
-
- 951 -
-
- 10 -
-
-
                            vec![
-
-
-
- 952 -
-
- 10 -
-
-
                                Expression::Reference(Metadata::new(), variable_a.clone()),
-
-
-
- 953 -
-
- 10 -
-
-
                                Expression::Reference(Metadata::new(), variable_b.clone()),
-
-
-
- 954 -
-
- 10 -
-
-
                                Expression::Reference(Metadata::new(), variable_c.clone()),
-
-
-
- 955 -
-
- 10 -
-
-
                            ],
-
-
-
- 956 -
-
- 10 -
-
-
                        )),
-
-
-
- 957 -
-
- 10 -
-
-
                        Box::new(Expression::Constant(Metadata::new(), Constant::Int(4))),
-
-
-
- 958 -
-
- 10 -
-
-
                    ),
-
-
-
- 959 -
-
- 10 -
-
-
                    Expression::Lt(
-
-
-
- 960 -
-
- 10 -
-
-
                        Metadata::new(),
-
-
-
- 961 -
-
- 10 -
-
-
                        Box::new(Expression::Reference(Metadata::new(), variable_a.clone())),
-
-
-
- 962 -
-
- 10 -
-
-
                        Box::new(Expression::Reference(Metadata::new(), variable_b.clone())),
-
-
-
- 963 -
-
- 10 -
-
-
                    ),
-
-
-
- 964 -
-
- 10 -
-
-
                ],
-
-
-
- 965 -
-
- 10 -
-
-
            );
-
-
-
- 966 -
-
- 10 -
-
-
            or_exprs.push(expr);
-
-
-
- 967 -
-
- 10 -
-
-
        }
-
-
-
- 968 -
-
- 4 -
-
-
        let nested_expr = Expression::Or(Metadata::new(), or_exprs);
-
-
-
- 969 -
-
- 4 -
-
-

-            
-
-
- 970 -
-
- 4 -
-
-
        let model_for_rewrite = Model::new(HashMap::new(), nested_expr.clone(), Default::default());
-
-
-
- 971 -
-
- 4 -
-
-
        let model_for_rewrite_unoptimized =
-
-
-
- 972 -
-
- 4 -
-
-
            Model::new(HashMap::new(), nested_expr.clone(), Default::default());
-
-
-
- 973 -
-
- 4 -
-
-

-            
-
-
- 974 -
-
- 4 -
-
-
        // Apply rewrite function to the nested expression
-
-
-
- 975 -
-
- 4 -
-
-
        let rewritten_expr = rewrite_model(&model_for_rewrite, &rule_sets)
-
-
-
- 976 -
-
- 4 -
-
-
            .unwrap()
-
-
-
- 977 -
-
- 4 -
-
-
            .constraints;
-
-
-
- 978 -
-
- 4 -
-
-

-            
-
-
- 979 -
-
- 4 -
-
-
        env::set_var("OPTIMIZATIONS", "0");
-
-
-
- 980 -
-
- 4 -
-
-

-            
-
-
- 981 -
-
- 4 -
-
-
        let rewritten_expr_unoptimized = rewrite_model(&model_for_rewrite_unoptimized, &rule_sets)
-
-
-
- 982 -
-
- 4 -
-
-
            .unwrap()
-
-
-
- 983 -
-
- 4 -
-
-
            .constraints;
-
-
-
- 984 -
-
- 4 -
-
-

-            
-
-
- 985 -
-
- 4 -
-
-
        env::remove_var("OPTIMIZATIONS");
-
-
-
- 986 -
-
- 4 -
-
-

-            
-
-
- 987 -
-
- 4 -
-
-
        let info_file_name_optimized = format!("rewrite_solve_xyz_optimized_{}", num_or_clauses);
-
-
-
- 988 -
-
- 4 -
-
-
        let info_file_name_unoptimized =
-
-
-
- 989 -
-
- 4 -
-
-
            format!("rewrite_solve_xyz_unoptimized_{}", num_or_clauses);
-
-
-
- 990 -
-
- 4 -
-
-

-            
-
-
- 991 -
-
- 4 -
-
-
        save_stats_json(
-
-
-
- 992 -
-
- 4 -
-
-
            model_for_rewrite.context,
-
-
-
- 993 -
-
- 4 -
-
-
            "tests",
-
-
-
- 994 -
-
- 4 -
-
-
            &info_file_name_optimized,
-
-
-
- 995 -
-
- 4 -
-
-
        )
-
-
-
- 996 -
-
- 4 -
-
-
        .expect("Could not save stats!");
-
-
-
- 997 -
-
- 4 -
-
-
        save_stats_json(
-
-
-
- 998 -
-
- 4 -
-
-
            model_for_rewrite_unoptimized.context,
-
-
-
- 999 -
-
- 4 -
-
-
            "tests",
-
-
-
- 1000 -
-
- 4 -
-
-
            &info_file_name_unoptimized,
-
-
-
- 1001 -
-
- 4 -
-
-
        )
-
-
-
- 1002 -
-
- 4 -
-
-
        .expect("Could not save stats!");
-
-
-
- 1003 -
-
- 4 -
-
-

-            
-
-
- 1004 -
-
- 4 -
-
-
        // Check if the expression is in its simplest form
-
-
-
- 1005 -
-
- 4 -
-
-
        let expr = rewritten_expr.clone();
-
-
-
- 1006 -
-
- 4 -
-
-
        assert!(is_simple(&expr));
-
-
-
- 1007 -
-
- -
-
-

-            
-
-
- 1008 -
-
- 4 -
-
-
        let expr_unoptimized = rewritten_expr_unoptimized.clone();
-
-
-
- 1009 -
-
- 4 -
-
-
        assert!(is_simple(&expr_unoptimized));
-
-
-
- 1010 -
-
- -
-
-

-            
-
-
- 1011 -
-
- -
-
-
        // Create model with variables and constraints
-
-
-
- 1012 -
-
- 4 -
-
-
        let mut model = Model::new(HashMap::new(), rewritten_expr, Default::default());
-
-
-
- 1013 -
-
- 4 -
-
-
        let mut model_unoptimized = Model::new(
-
-
-
- 1014 -
-
- 4 -
-
-
            HashMap::new(),
-
-
-
- 1015 -
-
- 4 -
-
-
            rewritten_expr_unoptimized,
-
-
-
- 1016 -
-
- 4 -
-
-
            Default::default(),
-
-
-
- 1017 -
-
- 4 -
-
-
        );
-
-
-
- 1018 -
-
- 4 -
-
-

-            
-
-
- 1019 -
-
- 4 -
-
-
        // Insert variables and domains
-
-
-
- 1020 -
-
- 4 -
-
-
        model.variables.insert(
-
-
-
- 1021 -
-
- 4 -
-
-
            variable_a.clone(),
-
-
-
- 1022 -
-
- 4 -
-
-
            DecisionVariable {
-
-
-
- 1023 -
-
- 4 -
-
-
                domain: domain.clone(),
-
-
-
- 1024 -
-
- 4 -
-
-
            },
-
-
-
- 1025 -
-
- 4 -
-
-
        );
-
-
-
- 1026 -
-
- 4 -
-
-
        model.variables.insert(
-
-
-
- 1027 -
-
- 4 -
-
-
            variable_b.clone(),
-
-
-
- 1028 -
-
- 4 -
-
-
            DecisionVariable {
-
-
-
- 1029 -
-
- 4 -
-
-
                domain: domain.clone(),
-
-
-
- 1030 -
-
- 4 -
-
-
            },
-
-
-
- 1031 -
-
- 4 -
-
-
        );
-
-
-
- 1032 -
-
- 4 -
-
-
        model.variables.insert(
-
-
-
- 1033 -
-
- 4 -
-
-
            variable_c.clone(),
-
-
-
- 1034 -
-
- 4 -
-
-
            DecisionVariable {
-
-
-
- 1035 -
-
- 4 -
-
-
                domain: domain.clone(),
-
-
-
- 1036 -
-
- 4 -
-
-
            },
-
-
-
- 1037 -
-
- 4 -
-
-
        );
-
-
-
- 1038 -
-
- 4 -
-
-

-            
-
-
- 1039 -
-
- 4 -
-
-
        model_unoptimized.variables.insert(
-
-
-
- 1040 -
-
- 4 -
-
-
            variable_a.clone(),
-
-
-
- 1041 -
-
- 4 -
-
-
            DecisionVariable {
-
-
-
- 1042 -
-
- 4 -
-
-
                domain: domain.clone(),
-
-
-
- 1043 -
-
- 4 -
-
-
            },
-
-
-
- 1044 -
-
- 4 -
-
-
        );
-
-
-
- 1045 -
-
- 4 -
-
-
        model_unoptimized.variables.insert(
-
-
-
- 1046 -
-
- 4 -
-
-
            variable_b.clone(),
-
-
-
- 1047 -
-
- 4 -
-
-
            DecisionVariable {
-
-
-
- 1048 -
-
- 4 -
-
-
                domain: domain.clone(),
-
-
-
- 1049 -
-
- 4 -
-
-
            },
-
-
-
- 1050 -
-
- 4 -
-
-
        );
-
-
-
- 1051 -
-
- 4 -
-
-
        model_unoptimized.variables.insert(
-
-
-
- 1052 -
-
- 4 -
-
-
            variable_c.clone(),
-
-
-
- 1053 -
-
- 4 -
-
-
            DecisionVariable {
-
-
-
- 1054 -
-
- 4 -
-
-
                domain: domain.clone(),
-
-
-
- 1055 -
-
- 4 -
-
-
            },
-
-
-
- 1056 -
-
- 4 -
-
-
        );
-
-
-
- 1057 -
-
- 4 -
-
-

-            
-
-
- 1058 -
-
- 4 -
-
-
        let solver: Solver<adaptors::Minion> = Solver::new(adaptors::Minion::new());
-
-
-
- 1059 -
-
- 4 -
-
-
        let solver = solver.load_model(model).unwrap();
-
-
-
- 1060 -
-
- 4 -
-
-
        solver.solve(Box::new(|_| true)).unwrap();
-
-
-
- 1061 -
-
- 4 -
-
-

-            
-
-
- 1062 -
-
- 4 -
-
-
        let solver_unoptimized: Solver<adaptors::Minion> = Solver::new(adaptors::Minion::new());
-
-
-
- 1063 -
-
- 4 -
-
-
        let solver_unoptimized = solver_unoptimized.load_model(model_unoptimized).unwrap();
-
-
-
- 1064 -
-
- 4 -
-
-
        solver_unoptimized.solve(Box::new(|_| true)).unwrap();
-
-
-
- 1065 -
-
- -
-
-
    }
-
-
-
- 1066 -
-
- 1 -
-
-
}
-
-
-
- 1067 -
-
- -
-
-

-            
-
-
- 1068 -
-
- -
-
-
struct RuleResult<'a> {
-
-
-
- 1069 -
-
- -
-
-
    #[allow(dead_code)]
-
-
-
- 1070 -
-
- -
-
-
    rule: &'a Rule<'a>,
-
-
-
- 1071 -
-
- -
-
-
    new_expression: Expression,
-
-
-
- 1072 -
-
- -
-
-
}
-
-
-
- 1073 -
-
- -
-
-

-            
-
-
- 1074 -
-
- -
-
-
/// # Returns
-
-
-
- 1075 -
-
- -
-
-
/// - True if `expression` is in its simplest form.
-
-
-
- 1076 -
-
- -
-
-
/// - False otherwise.
-
-
-
- 1077 -
-
- 9 -
-
-
pub fn is_simple(expression: &Expression) -> bool {
-
-
-
- 1078 -
-
- 9 -
-
-
    let rules = get_rules();
-
-
-
- 1079 -
-
- 9 -
-
-
    let mut new = expression.clone();
-
-
-
- 1080 -
-
- 9 -
-
-
    while let Some(step) = is_simple_iteration(&new, &rules) {
-
-
-
- 1081 -
-
- -
-
-
        new = step;
-
-
-
- 1082 -
-
- -
-
-
    }
-
-
-
- 1083 -
-
- 9 -
-
-
    new == *expression
-
-
-
- 1084 -
-
- 9 -
-
-
}
-
-
-
- 1085 -
-
- -
-
-

-            
-
-
- 1086 -
-
- -
-
-
/// # Returns
-
-
-
- 1087 -
-
- -
-
-
/// - Some(<new_expression>) after applying the first applicable rule to `expr` or a sub-expression.
-
-
-
- 1088 -
-
- -
-
-
/// - None if no rule is applicable to the expression or any sub-expression.
-
-
-
- 1089 -
-
- 4233 -
-
-
fn is_simple_iteration<'a>(
-
-
-
- 1090 -
-
- 4233 -
-
-
    expression: &'a Expression,
-
-
-
- 1091 -
-
- 4233 -
-
-
    rules: &'a Vec<&'a Rule<'a>>,
-
-
-
- 1092 -
-
- 4233 -
-
-
) -> Option<Expression> {
-
-
-
- 1093 -
-
- 4233 -
-
-
    let rule_results = apply_all_rules(expression, rules);
-
-
-
- 1094 -
-
- 4233 -
-
-
    if let Some(new) = choose_rewrite(&rule_results) {
-
-
-
- 1095 -
-
- -
-
-
        return Some(new);
-
-
-
- 1096 -
-
- -
-
-
    } else {
-
-
-
- 1097 -
-
- 4233 -
-
-
        let mut sub = expression.children();
-
-
-
- 1098 -
-
- 4233 -
-
-
        for i in 0..sub.len() {
-
-
-
- 1099 -
-
- 4224 -
-
-
            if let Some(new) = is_simple_iteration(&sub[i], rules) {
-
-
-
- 1100 -
-
- -
-
-
                sub[i] = new;
-
-
-
- 1101 -
-
- -
-
-
                if let Ok(res) = expression.with_children(sub.clone()) {
-
-
-
- 1102 -
-
- -
-
-
                    return Some(res);
-
-
-
- 1103 -
-
- -
-
-
                }
-
-
-
- 1104 -
-
- 4224 -
-
-
            }
-
-
-
- 1105 -
-
- -
-
-
        }
-
-
-
- 1106 -
-
- -
-
-
    }
-
-
-
- 1107 -
-
- 4233 -
-
-
    None // No rules applicable to this branch of the expression
-
-
-
- 1108 -
-
- 4233 -
-
-
}
-
-
-
- 1109 -
-
- -
-
-

-            
-
-
- 1110 -
-
- -
-
-
/// # Returns
-
-
-
- 1111 -
-
- -
-
-
/// - A list of RuleResults after applying all rules to `expression`.
-
-
-
- 1112 -
-
- -
-
-
/// - An empty list if no rules are applicable.
-
-
-
- 1113 -
-
- 4233 -
-
-
fn apply_all_rules<'a>(
-
-
-
- 1114 -
-
- 4233 -
-
-
    expression: &'a Expression,
-
-
-
- 1115 -
-
- 4233 -
-
-
    rules: &'a Vec<&'a Rule<'a>>,
-
-
-
- 1116 -
-
- 4233 -
-
-
) -> Vec<RuleResult<'a>> {
-
-
-
- 1117 -
-
- 4233 -
-
-
    let mut results = Vec::new();
-
-
-
- 1118 -
-
- 143922 -
-
-
    for rule in rules {
-
-
-
- 1119 -
-
- 139689 -
-
-
        match rule.apply(expression, &Model::new_empty(Default::default())) {
-
-
-
- 1120 -
-
- -
-
-
            Ok(red) => {
-
-
-
- 1121 -
-
- -
-
-
                results.push(RuleResult {
-
-
-
- 1122 -
-
- -
-
-
                    rule,
-
-
-
- 1123 -
-
- -
-
-
                    new_expression: red.new_expression,
-
-
-
- 1124 -
-
- -
-
-
                });
-
-
-
- 1125 -
-
- -
-
-
            }
-
-
-
- 1126 -
-
- 139689 -
-
-
            Err(_) => continue,
-
-
-
- 1127 -
-
- -
-
-
        }
-
-
-
- 1128 -
-
- -
-
-
    }
-
-
-
- 1129 -
-
- 4233 -
-
-
    results
-
-
-
- 1130 -
-
- 4233 -
-
-
}
-
-
-
- 1131 -
-
- -
-
-

-            
-
-
- 1132 -
-
- -
-
-
/// # Returns
-
-
-
- 1133 -
-
- -
-
-
/// - Some(<new_expression>) after applying the first rule in `results`.
-
-
-
- 1134 -
-
- -
-
-
/// - None if `results` is empty.
-
-
-
- 1135 -
-
- 4233 -
-
-
fn choose_rewrite(results: &[RuleResult]) -> Option<Expression> {
-
-
-
- 1136 -
-
- 4233 -
-
-
    if results.is_empty() {
-
-
-
- 1137 -
-
- 4233 -
-
-
        return None;
-
-
-
- 1138 -
-
- -
-
-
    }
-
-
-
- 1139 -
-
- -
-
-
    // Return the first result for now
-
-
-
- 1140 -
-
- -
-
-
    // println!("Applying rule: {:?}", results[0].rule);
-
-
-
- 1141 -
-
- -
-
-
    Some(results[0].new_expression.clone())
-
-
-
- 1142 -
-
- 4233 -
-
-
}
-
-
-
- 1143 -
-
- -
-
-

-            
-
-
- 1144 -
-
- -
-
-
#[test]
-
-
-
- 1145 -
-
- 1 -
-
-
fn eval_const_int() {
-
-
-
- 1146 -
-
- 1 -
-
-
    let expr = Expression::Constant(Metadata::new(), Constant::Int(1));
-
-
-
- 1147 -
-
- 1 -
-
-
    let result = eval_constant(&expr);
-
-
-
- 1148 -
-
- 1 -
-
-
    assert_eq!(result, Some(Constant::Int(1)));
-
-
-
- 1149 -
-
- 1 -
-
-
}
-
-
-
- 1150 -
-
- -
-
-

-            
-
-
- 1151 -
-
- -
-
-
#[test]
-
-
-
- 1152 -
-
- 1 -
-
-
fn eval_const_bool() {
-
-
-
- 1153 -
-
- 1 -
-
-
    let expr = Expression::Constant(Metadata::new(), Constant::Bool(true));
-
-
-
- 1154 -
-
- 1 -
-
-
    let result = eval_constant(&expr);
-
-
-
- 1155 -
-
- 1 -
-
-
    assert_eq!(result, Some(Constant::Bool(true)));
-
-
-
- 1156 -
-
- 1 -
-
-
}
-
-
-
- 1157 -
-
- -
-
-

-            
-
-
- 1158 -
-
- -
-
-
#[test]
-
-
-
- 1159 -
-
- 1 -
-
-
fn eval_const_and() {
-
-
-
- 1160 -
-
- 1 -
-
-
    let expr = Expression::And(
-
-
-
- 1161 -
-
- 1 -
-
-
        Metadata::new(),
-
-
-
- 1162 -
-
- 1 -
-
-
        vec![
-
-
-
- 1163 -
-
- 1 -
-
-
            Expression::Constant(Metadata::new(), Constant::Bool(true)),
-
-
-
- 1164 -
-
- 1 -
-
-
            Expression::Constant(Metadata::new(), Constant::Bool(false)),
-
-
-
- 1165 -
-
- 1 -
-
-
        ],
-
-
-
- 1166 -
-
- 1 -
-
-
    );
-
-
-
- 1167 -
-
- 1 -
-
-
    let result = eval_constant(&expr);
-
-
-
- 1168 -
-
- 1 -
-
-
    assert_eq!(result, Some(Constant::Bool(false)));
-
-
-
- 1169 -
-
- 1 -
-
-
}
-
-
-
- 1170 -
-
- -
-
-

-            
-
-
- 1171 -
-
- -
-
-
#[test]
-
-
-
- 1172 -
-
- 1 -
-
-
fn eval_const_ref() {
-
-
-
- 1173 -
-
- 1 -
-
-
    let expr = Expression::Reference(Metadata::new(), Name::UserName(String::from("a")));
-
-
-
- 1174 -
-
- 1 -
-
-
    let result = eval_constant(&expr);
-
-
-
- 1175 -
-
- 1 -
-
-
    assert_eq!(result, None);
-
-
-
- 1176 -
-
- 1 -
-
-
}
-
-
-
- 1177 -
-
- -
-
-

-            
-
-
- 1178 -
-
- -
-
-
#[test]
-
-
-
- 1179 -
-
- 1 -
-
-
fn eval_const_nested_ref() {
-
-
-
- 1180 -
-
- 1 -
-
-
    let expr = Expression::Sum(
-
-
-
- 1181 -
-
- 1 -
-
-
        Metadata::new(),
-
-
-
- 1182 -
-
- 1 -
-
-
        vec![
-
-
-
- 1183 -
-
- 1 -
-
-
            Expression::Constant(Metadata::new(), Constant::Int(1)),
-
-
-
- 1184 -
-
- 1 -
-
-
            Expression::And(
-
-
-
- 1185 -
-
- 1 -
-
-
                Metadata::new(),
-
-
-
- 1186 -
-
- 1 -
-
-
                vec![
-
-
-
- 1187 -
-
- 1 -
-
-
                    Expression::Constant(Metadata::new(), Constant::Bool(true)),
-
-
-
- 1188 -
-
- 1 -
-
-
                    Expression::Reference(Metadata::new(), Name::UserName(String::from("a"))),
-
-
-
- 1189 -
-
- 1 -
-
-
                ],
-
-
-
- 1190 -
-
- 1 -
-
-
            ),
-
-
-
- 1191 -
-
- 1 -
-
-
        ],
-
-
-
- 1192 -
-
- 1 -
-
-
    );
-
-
-
- 1193 -
-
- 1 -
-
-
    let result = eval_constant(&expr);
-
-
-
- 1194 -
-
- 1 -
-
-
    assert_eq!(result, None);
-
-
-
- 1195 -
-
- 1 -
-
-
}
-
-
-
- 1196 -
-
- -
-
-

-            
-
-
- 1197 -
-
- -
-
-
#[test]
-
-
-
- 1198 -
-
- 1 -
-
-
fn eval_const_eq_int() {
-
-
-
- 1199 -
-
- 1 -
-
-
    let expr = Expression::Eq(
-
-
-
- 1200 -
-
- 1 -
-
-
        Metadata::new(),
-
-
-
- 1201 -
-
- 1 -
-
-
        Box::new(Expression::Constant(Metadata::new(), Constant::Int(1))),
-
-
-
- 1202 -
-
- 1 -
-
-
        Box::new(Expression::Constant(Metadata::new(), Constant::Int(1))),
-
-
-
- 1203 -
-
- 1 -
-
-
    );
-
-
-
- 1204 -
-
- 1 -
-
-
    let result = eval_constant(&expr);
-
-
-
- 1205 -
-
- 1 -
-
-
    assert_eq!(result, Some(Constant::Bool(true)));
-
-
-
- 1206 -
-
- 1 -
-
-
}
-
-
-
- 1207 -
-
- -
-
-

-            
-
-
- 1208 -
-
- -
-
-
#[test]
-
-
-
- 1209 -
-
- 1 -
-
-
fn eval_const_eq_bool() {
-
-
-
- 1210 -
-
- 1 -
-
-
    let expr = Expression::Eq(
-
-
-
- 1211 -
-
- 1 -
-
-
        Metadata::new(),
-
-
-
- 1212 -
-
- 1 -
-
-
        Box::new(Expression::Constant(Metadata::new(), Constant::Bool(true))),
-
-
-
- 1213 -
-
- 1 -
-
-
        Box::new(Expression::Constant(Metadata::new(), Constant::Bool(true))),
-
-
-
- 1214 -
-
- 1 -
-
-
    );
-
-
-
- 1215 -
-
- 1 -
-
-
    let result = eval_constant(&expr);
-
-
-
- 1216 -
-
- 1 -
-
-
    assert_eq!(result, Some(Constant::Bool(true)));
-
-
-
- 1217 -
-
- 1 -
-
-
}
-
-
-
- 1218 -
-
- -
-
-

-            
-
-
- 1219 -
-
- -
-
-
#[test]
-
-
-
- 1220 -
-
- 1 -
-
-
fn eval_const_eq_mixed() {
-
-
-
- 1221 -
-
- 1 -
-
-
    let expr = Expression::Eq(
-
-
-
- 1222 -
-
- 1 -
-
-
        Metadata::new(),
-
-
-
- 1223 -
-
- 1 -
-
-
        Box::new(Expression::Constant(Metadata::new(), Constant::Int(1))),
-
-
-
- 1224 -
-
- 1 -
-
-
        Box::new(Expression::Constant(Metadata::new(), Constant::Bool(true))),
-
-
-
- 1225 -
-
- 1 -
-
-
    );
-
-
-
- 1226 -
-
- 1 -
-
-
    let result = eval_constant(&expr);
-
-
-
- 1227 -
-
- 1 -
-
-
    assert_eq!(result, None);
-
-
-
- 1228 -
-
- 1 -
-
-
}
-
-
-
- 1229 -
-
- -
-
-

-            
-
-
- 1230 -
-
- -
-
-
#[test]
-
-
-
- 1231 -
-
- 1 -
-
-
fn eval_const_sum_mixed() {
-
-
-
- 1232 -
-
- 1 -
-
-
    let expr = Expression::Sum(
-
-
-
- 1233 -
-
- 1 -
-
-
        Metadata::new(),
-
-
-
- 1234 -
-
- 1 -
-
-
        vec![
-
-
-
- 1235 -
-
- 1 -
-
-
            Expression::Constant(Metadata::new(), Constant::Int(1)),
-
-
-
- 1236 -
-
- 1 -
-
-
            Expression::Constant(Metadata::new(), Constant::Bool(true)),
-
-
-
- 1237 -
-
- 1 -
-
-
        ],
-
-
-
- 1238 -
-
- 1 -
-
-
    );
-
-
-
- 1239 -
-
- 1 -
-
-
    let result = eval_constant(&expr);
-
-
-
- 1240 -
-
- 1 -
-
-
    assert_eq!(result, None);
-
-
-
- 1241 -
-
- 1 -
-
-
}
-
-
-
- 1242 -
-
- -
-
-

-            
-
-
- 1243 -
-
- -
-
-
#[test]
-
-
-
- 1244 -
-
- 1 -
-
-
fn eval_const_sum_xyz() {
-
-
-
- 1245 -
-
- 1 -
-
-
    let expr = Expression::And(
-
-
-
- 1246 -
-
- 1 -
-
-
        Metadata::new(),
-
-
-
- 1247 -
-
- 1 -
-
-
        vec![
-
-
-
- 1248 -
-
- 1 -
-
-
            Expression::Eq(
-
-
-
- 1249 -
-
- 1 -
-
-
                Metadata::new(),
-
-
-
- 1250 -
-
- 1 -
-
-
                Box::new(Expression::Sum(
-
-
-
- 1251 -
-
- 1 -
-
-
                    Metadata::new(),
-
-
-
- 1252 -
-
- 1 -
-
-
                    vec![
-
-
-
- 1253 -
-
- 1 -
-
-
                        Expression::Reference(Metadata::new(), Name::UserName(String::from("x"))),
-
-
-
- 1254 -
-
- 1 -
-
-
                        Expression::Reference(Metadata::new(), Name::UserName(String::from("y"))),
-
-
-
- 1255 -
-
- 1 -
-
-
                        Expression::Reference(Metadata::new(), Name::UserName(String::from("z"))),
-
-
-
- 1256 -
-
- 1 -
-
-
                    ],
-
-
-
- 1257 -
-
- 1 -
-
-
                )),
-
-
-
- 1258 -
-
- 1 -
-
-
                Box::new(Expression::Constant(Metadata::new(), Constant::Int(4))),
-
-
-
- 1259 -
-
- 1 -
-
-
            ),
-
-
-
- 1260 -
-
- 1 -
-
-
            Expression::Geq(
-
-
-
- 1261 -
-
- 1 -
-
-
                Metadata::new(),
-
-
-
- 1262 -
-
- 1 -
-
-
                Box::new(Expression::Reference(
-
-
-
- 1263 -
-
- 1 -
-
-
                    Metadata::new(),
-
-
-
- 1264 -
-
- 1 -
-
-
                    Name::UserName(String::from("x")),
-
-
-
- 1265 -
-
- 1 -
-
-
                )),
-
-
-
- 1266 -
-
- 1 -
-
-
                Box::new(Expression::Reference(
-
-
-
- 1267 -
-
- 1 -
-
-
                    Metadata::new(),
-
-
-
- 1268 -
-
- 1 -
-
-
                    Name::UserName(String::from("y")),
-
-
-
- 1269 -
-
- 1 -
-
-
                )),
-
-
-
- 1270 -
-
- 1 -
-
-
            ),
-
-
-
- 1271 -
-
- 1 -
-
-
        ],
-
-
-
- 1272 -
-
- 1 -
-
-
    );
-
-
-
- 1273 -
-
- 1 -
-
-
    let result = eval_constant(&expr);
-
-
-
- 1274 -
-
- 1 -
-
-
    assert_eq!(result, None);
-
-
-
- 1275 -
-
- 1 -
-
-
}
-
-
-
- 1276 -
-
- -
-
-

-            
-
-
- 1277 -
-
- -
-
-
#[test]
-
-
-
- 1278 -
-
- 1 -
-
-
fn eval_const_or() {
-
-
-
- 1279 -
-
- 1 -
-
-
    let expr = Expression::Or(
-
-
-
- 1280 -
-
- 1 -
-
-
        Metadata::new(),
-
-
-
- 1281 -
-
- 1 -
-
-
        vec![
-
-
-
- 1282 -
-
- 1 -
-
-
            Expression::Constant(Metadata::new(), Constant::Bool(false)),
-
-
-
- 1283 -
-
- 1 -
-
-
            Expression::Constant(Metadata::new(), Constant::Bool(false)),
-
-
-
- 1284 -
-
- 1 -
-
-
        ],
-
-
-
- 1285 -
-
- 1 -
-
-
    );
-
-
-
- 1286 -
-
- 1 -
-
-
    let result = eval_constant(&expr);
-
-
-
- 1287 -
-
- 1 -
-
-
    assert_eq!(result, Some(Constant::Bool(false)));
-
-
-
- 1288 -
-
- 1 -
-
-
}
-
-
-
- - - diff --git a/coverage/main/coverage.json b/coverage/main/coverage.json index c510cfd05..d55d581f4 100644 --- a/coverage/main/coverage.json +++ b/coverage/main/coverage.json @@ -1 +1 @@ -{"schemaVersion":1,"label":"coverage","message":"74.74%","color":"red"} \ No newline at end of file +{"schemaVersion":1,"label":"coverage","message":"9.80%","color":"red"} \ No newline at end of file diff --git a/coverage/main/crates/conjure_core/src/ast/constants.rs.html b/coverage/main/crates/conjure_core/src/ast/constants.rs.html index a9b9205e7..312182c24 100644 --- a/coverage/main/crates/conjure_core/src/ast/constants.rs.html +++ b/coverage/main/crates/conjure_core/src/ast/constants.rs.html @@ -15,7 +15,7 @@

Lines

- 50 %

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 13.64 %

+ 0 %

@@ -102,13 +102,13 @@ 5
- 430 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
+
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
14
- 632 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn try_from(value: Constant) -> Result<Self, Self::Error> {
+
    fn try_from(value: Constant) -> Result<Self, Self::Error> {
15
- 632 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        match value {
+
        match value {
16
- 587 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Constant::Int(i) => Ok(i),
+
            Constant::Int(i) => Ok(i),
17
- 45 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            _ => Err("Cannot convert non-i32 Constant to i32"),
+
            _ => Err("Cannot convert non-i32 Constant to i32"),
19
- 632 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
24
- 255 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn try_from(value: Constant) -> Result<Self, Self::Error> {
+
    fn try_from(value: Constant) -> Result<Self, Self::Error> {
25
- 255 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        match value {
+
        match value {
26
- 105 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Constant::Bool(b) => Ok(b),
+
            Constant::Bool(b) => Ok(b),
27
- 150 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            _ => Err("Cannot convert non-bool Constant to bool"),
+
            _ => Err("Cannot convert non-bool Constant to bool"),
29
- 255 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
-

Date: 2024-05-01 08:39

+

Date: 2024-05-27 10:40

diff --git a/coverage/main/crates/conjure_core/src/ast/domains.rs.html b/coverage/main/crates/conjure_core/src/ast/domains.rs.html index 1d4243f81..2ec727e20 100644 --- a/coverage/main/crates/conjure_core/src/ast/domains.rs.html +++ b/coverage/main/crates/conjure_core/src/ast/domains.rs.html @@ -14,8 +14,8 @@

Lines

-

- 96.61 %

+

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 23.81 %

+ 0 %

@@ -86,13 +86,13 @@ 4
- 825 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
+
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
13
- 650 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
+
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
21
- 282 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub fn values_i32(&self) -> Option<Vec<i32>> {
+
    pub fn values_i32(&self) -> Option<Vec<i32>> {
22
- 282 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        match self {
+
        match self {
23
- 281 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Domain::IntDomain(ranges) => Some(
+
            Domain::IntDomain(ranges) => Some(
24
- 281 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                ranges
+
                ranges
25
- 281 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    .iter()
+
                    .iter()
26
- 281 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    .flat_map(|r| match r {
+
                    .flat_map(|r| match r {
27
- 20 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        Range::Single(i) => vec![*i],
+
                        Range::Single(i) => vec![*i],
28
- 261 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        Range::Bounded(i, j) => (*i..=*j).collect(),
+
                        Range::Bounded(i, j) => (*i..=*j).collect(),
29
- 281 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    })
+
                    })
30
- 281 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    .collect(),
+
                    .collect(),
31
- 281 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            ),
+
            ),
32
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            _ => None,
+
            _ => None,
34
- 282 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
42
- 141 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub fn apply_i32(&self, op: fn(i32, i32) -> Option<i32>, other: &Domain) -> Option<Domain> {
+
    pub fn apply_i32(&self, op: fn(i32, i32) -> Option<i32>, other: &Domain) -> Option<Domain> {
43
- 141 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        if let (Some(vs1), Some(vs2)) = (self.values_i32(), other.values_i32()) {
+
        if let (Some(vs1), Some(vs2)) = (self.values_i32(), other.values_i32()) {
45
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let mut new_ranges = vec![];
+
            let mut new_ranges = vec![];
46
- 1658 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            for (v1, v2) in itertools::iproduct!(vs1, vs2) {
+
            for (v1, v2) in itertools::iproduct!(vs1, vs2) {
47
- 1658 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                op(v1, v2).map(|v| new_ranges.push(Range::Single(v)));
+
                op(v1, v2).map(|v| new_ranges.push(Range::Single(v)));
48
- 1658 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            }
+
            }
49
- 140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            return Some(Domain::IntDomain(new_ranges));
+
            return Some(Domain::IntDomain(new_ranges));
50
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        }
+
        }
51
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        None
+
        None
52
- 141 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
60
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn test_negative_product() {
+
    fn test_negative_product() {
61
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let d1 = Domain::IntDomain(vec![Range::Bounded(-2, 1)]);
+
        let d1 = Domain::IntDomain(vec![Range::Bounded(-2, 1)]);
62
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let d2 = Domain::IntDomain(vec![Range::Bounded(-2, 1)]);
+
        let d2 = Domain::IntDomain(vec![Range::Bounded(-2, 1)]);
63
- 16 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let res = d1.apply_i32(|a, b| Some(a * b), &d2).unwrap();
+
        let res = d1.apply_i32(|a, b| Some(a * b), &d2).unwrap();
65
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        if let Domain::IntDomain(ranges) = res {
+
        if let Domain::IntDomain(ranges) = res {
66
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            assert!(!ranges.contains(&Range::Single(-4)));
+
            assert!(!ranges.contains(&Range::Single(-4)));
67
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            assert!(!ranges.contains(&Range::Single(-3)));
+
            assert!(!ranges.contains(&Range::Single(-3)));
68
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            assert!(ranges.contains(&Range::Single(-2)));
+
            assert!(ranges.contains(&Range::Single(-2)));
69
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            assert!(ranges.contains(&Range::Single(-1)));
+
            assert!(ranges.contains(&Range::Single(-1)));
70
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            assert!(ranges.contains(&Range::Single(0)));
+
            assert!(ranges.contains(&Range::Single(0)));
71
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            assert!(ranges.contains(&Range::Single(1)));
+
            assert!(ranges.contains(&Range::Single(1)));
72
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            assert!(ranges.contains(&Range::Single(2)));
+
            assert!(ranges.contains(&Range::Single(2)));
73
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            assert!(!ranges.contains(&Range::Single(3)));
+
            assert!(!ranges.contains(&Range::Single(3)));
74
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            assert!(ranges.contains(&Range::Single(4)));
+
            assert!(ranges.contains(&Range::Single(4)));
78
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
81
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn test_negative_div() {
+
    fn test_negative_div() {
82
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let d1 = Domain::IntDomain(vec![Range::Bounded(-2, 1)]);
+
        let d1 = Domain::IntDomain(vec![Range::Bounded(-2, 1)]);
83
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let d2 = Domain::IntDomain(vec![Range::Bounded(-2, 1)]);
+
        let d2 = Domain::IntDomain(vec![Range::Bounded(-2, 1)]);
84
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let res = d1
+
        let res = d1
85
- 16 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            .apply_i32(|a, b| if b != 0 { Some(a / b) } else { None }, &d2)
+
            .apply_i32(|a, b| if b != 0 { Some(a / b) } else { None }, &d2)
86
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            .unwrap();
+
            .unwrap();
88
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        if let Domain::IntDomain(ranges) = res {
+
        if let Domain::IntDomain(ranges) = res {
89
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            assert!(!ranges.contains(&Range::Single(-4)));
+
            assert!(!ranges.contains(&Range::Single(-4)));
90
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            assert!(!ranges.contains(&Range::Single(-3)));
+
            assert!(!ranges.contains(&Range::Single(-3)));
91
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            assert!(ranges.contains(&Range::Single(-2)));
+
            assert!(ranges.contains(&Range::Single(-2)));
92
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            assert!(ranges.contains(&Range::Single(-1)));
+
            assert!(ranges.contains(&Range::Single(-1)));
93
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            assert!(ranges.contains(&Range::Single(0)));
+
            assert!(ranges.contains(&Range::Single(0)));
94
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            assert!(ranges.contains(&Range::Single(1)));
+
            assert!(ranges.contains(&Range::Single(1)));
95
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            assert!(ranges.contains(&Range::Single(2)));
+
            assert!(ranges.contains(&Range::Single(2)));
96
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            assert!(!ranges.contains(&Range::Single(3)));
+
            assert!(!ranges.contains(&Range::Single(3)));
97
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            assert!(!ranges.contains(&Range::Single(4)));
+
            assert!(!ranges.contains(&Range::Single(4)));
101
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
-

Date: 2024-05-01 08:39

+

Date: 2024-05-27 10:40

diff --git a/coverage/main/crates/conjure_core/src/ast/expressions.rs.html b/coverage/main/crates/conjure_core/src/ast/expressions.rs.html index aaed49a9a..cb8abe808 100644 --- a/coverage/main/crates/conjure_core/src/ast/expressions.rs.html +++ b/coverage/main/crates/conjure_core/src/ast/expressions.rs.html @@ -15,7 +15,7 @@

Lines

- 36.59 %

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 15.67 %

+ 0 %

@@ -310,13 +310,13 @@ 18
- 36216615 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize, is_enum_variant, Uniplate)]
+
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize, is_enum_variant, Uniplate)]
109
- 80 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn expr_vec_to_domain_i32(
+
fn expr_vec_to_domain_i32(
110
- 80 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    exprs: &Vec<Expression>,
+
    exprs: &Vec<Expression>,
111
- 80 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    op: fn(i32, i32) -> Option<i32>,
+
    op: fn(i32, i32) -> Option<i32>,
112
- 80 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    vars: &SymbolTable,
+
    vars: &SymbolTable,
113
- 80 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
) -> Option<Domain> {
+
) -> Option<Domain> {
114
- 158 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let domains: Vec<Option<_>> = exprs.iter().map(|e| e.domain_of(vars)).collect();
+
    let domains: Vec<Option<_>> = exprs.iter().map(|e| e.domain_of(vars)).collect();
115
- 80 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    domains
+
    domains
116
- 80 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .into_iter()
+
        .into_iter()
117
- 80 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .reduce(|a, b| a.and_then(|x| b.and_then(|y| x.apply_i32(op, &y))))
+
        .reduce(|a, b| a.and_then(|x| b.and_then(|y| x.apply_i32(op, &y))))
118
- 80 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .flatten()
+
        .flatten()
119
- 80 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
121
- 136 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn range_vec_bounds_i32(ranges: &Vec<Range<i32>>) -> (i32, i32) {
+
fn range_vec_bounds_i32(ranges: &Vec<Range<i32>>) -> (i32, i32) {
122
- 136 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let mut min = i32::MAX;
+
    let mut min = i32::MAX;
123
- 136 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let mut max = i32::MIN;
+
    let mut max = i32::MIN;
124
- 1565 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    for r in ranges {
+
    for r in ranges {
125
- 1429 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        match r {
+
        match r {
126
- 1429 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Range::Single(i) => {
+
            Range::Single(i) => {
127
- 1429 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                if *i < min {
+
                if *i < min {
128
- 196 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    min = *i;
+
                    min = *i;
129
- 1233 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                }
+
                }
130
- 1429 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                if *i > max {
+
                if *i > max {
131
- 423 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    max = *i;
+
                    max = *i;
132
- 1008 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                }
+
                }
144
- 136 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    (min, max)
+
    (min, max)
145
- 136 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
149
- 420 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub fn domain_of(&self, vars: &SymbolTable) -> Option<Domain> {
+
    pub fn domain_of(&self, vars: &SymbolTable) -> Option<Domain> {
150
- 419 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let ret = match self {
+
        let ret = match self {
151
- 261 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Expression::Reference(_, name) => Some(vars.get(name)?.domain.clone()),
+
            Expression::Reference(_, name) => Some(vars.get(name)?.domain.clone()),
152
- 18 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Expression::Constant(_, Constant::Int(n)) => {
+
            Expression::Constant(_, Constant::Int(n)) => {
153
- 18 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                Some(Domain::IntDomain(vec![Range::Single(*n)]))
+
                Some(Domain::IntDomain(vec![Range::Single(*n)]))
155
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Expression::Constant(_, Constant::Bool(_)) => Some(Domain::BoolDomain),
+
            Expression::Constant(_, Constant::Bool(_)) => Some(Domain::BoolDomain),
156
- 6 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Expression::Sum(_, exprs) => expr_vec_to_domain_i32(exprs, |x, y| Some(x + y), vars),
+
            Expression::Sum(_, exprs) => expr_vec_to_domain_i32(exprs, |x, y| Some(x + y), vars),
157
- 75 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Expression::Min(_, exprs) => {
+
            Expression::Min(_, exprs) => {
158
- 750 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                expr_vec_to_domain_i32(exprs, |x, y| Some(if x < y { x } else { y }), vars)
+
                expr_vec_to_domain_i32(exprs, |x, y| Some(if x < y { x } else { y }), vars)
160
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Expression::UnsafeDiv(_, a, b) | Expression::SafeDiv(_, a, b) => {
+
            Expression::UnsafeDiv(_, a, b) | Expression::SafeDiv(_, a, b) => {
161
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                a.domain_of(vars)?.apply_i32(
+
                a.domain_of(vars)?.apply_i32(
162
- 870 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    |x, y| if y != 0 { Some(x / y) } else { None },
+
                    |x, y| if y != 0 { Some(x / y) } else { None },
163
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    &b.domain_of(vars)?,
+
                    &b.domain_of(vars)?,
169
- 416 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        match ret {
+
        match ret {
172
- 416 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Some(Domain::IntDomain(ranges)) if ranges.len() > 1 => {
+
            Some(Domain::IntDomain(ranges)) if ranges.len() > 1 => {
173
- 136 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let (min, max) = range_vec_bounds_i32(&ranges);
+
                let (min, max) = range_vec_bounds_i32(&ranges);
174
- 136 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                Some(Domain::IntDomain(vec![Range::Bounded(min, max)]))
+
                Some(Domain::IntDomain(vec![Range::Bounded(min, max)]))
176
- 283 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            _ => ret,
+
            _ => ret,
178
- 420 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
180
- 150 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub fn can_be_undefined(&self) -> bool {
+
    pub fn can_be_undefined(&self) -> bool {
182
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        match self {
+
        match self {
183
- 90 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Expression::Reference(_, _) => false,
+
            Expression::Reference(_, _) => false,
185
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Expression::Constant(_, Constant::Int(_)) => false,
+
            Expression::Constant(_, Constant::Int(_)) => false,
186
- 45 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            _ => true,
+
            _ => true,
188
- 150 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
190
- 135 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub fn return_type(&self) -> Option<ReturnType> {
+
    pub fn return_type(&self) -> Option<ReturnType> {
200
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Expression::Eq(_, _, _) => Some(ReturnType::Bool),
+
            Expression::Eq(_, _, _) => Some(ReturnType::Bool),
201
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Expression::Neq(_, _, _) => Some(ReturnType::Bool),
+
            Expression::Neq(_, _, _) => Some(ReturnType::Bool),
206
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Expression::SafeDiv(_, _, _) => Some(ReturnType::Int),
+
            Expression::SafeDiv(_, _, _) => Some(ReturnType::Int),
217
- 135 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
333
- 75 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn from(i: i32) -> Self {
+
    fn from(i: i32) -> Self {
334
- 75 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expression::Constant(Metadata::new(), Constant::Int(i))
+
        Expression::Constant(Metadata::new(), Constant::Int(i))
335
- 75 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
445
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn test_domain_of_constant_sum() {
+
    fn test_domain_of_constant_sum() {
446
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let c1 = Expression::Constant(Metadata::new(), Constant::Int(1));
+
        let c1 = Expression::Constant(Metadata::new(), Constant::Int(1));
447
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let c2 = Expression::Constant(Metadata::new(), Constant::Int(2));
+
        let c2 = Expression::Constant(Metadata::new(), Constant::Int(2));
448
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let sum = Expression::Sum(Metadata::new(), vec![c1.clone(), c2.clone()]);
+
        let sum = Expression::Sum(Metadata::new(), vec![c1.clone(), c2.clone()]);
449
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        assert_eq!(
+
        assert_eq!(
450
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            sum.domain_of(&SymbolTable::new()),
+
            sum.domain_of(&SymbolTable::new()),
451
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Some(Domain::IntDomain(vec![Range::Single(3)]))
+
            Some(Domain::IntDomain(vec![Range::Single(3)]))
452
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        );
+
        );
453
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
456
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn test_domain_of_constant_invalid_type() {
+
    fn test_domain_of_constant_invalid_type() {
457
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let c1 = Expression::Constant(Metadata::new(), Constant::Int(1));
+
        let c1 = Expression::Constant(Metadata::new(), Constant::Int(1));
458
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let c2 = Expression::Constant(Metadata::new(), Constant::Bool(true));
+
        let c2 = Expression::Constant(Metadata::new(), Constant::Bool(true));
459
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let sum = Expression::Sum(Metadata::new(), vec![c1.clone(), c2.clone()]);
+
        let sum = Expression::Sum(Metadata::new(), vec![c1.clone(), c2.clone()]);
460
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        assert_eq!(sum.domain_of(&SymbolTable::new()), None);
+
        assert_eq!(sum.domain_of(&SymbolTable::new()), None);
461
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
464
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn test_domain_of_empty_sum() {
+
    fn test_domain_of_empty_sum() {
465
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let sum = Expression::Sum(Metadata::new(), vec![]);
+
        let sum = Expression::Sum(Metadata::new(), vec![]);
466
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        assert_eq!(sum.domain_of(&SymbolTable::new()), None);
+
        assert_eq!(sum.domain_of(&SymbolTable::new()), None);
467
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
470
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn test_domain_of_reference() {
+
    fn test_domain_of_reference() {
471
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let reference = Expression::Reference(Metadata::new(), Name::MachineName(0));
+
        let reference = Expression::Reference(Metadata::new(), Name::MachineName(0));
472
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let mut vars = SymbolTable::new();
+
        let mut vars = SymbolTable::new();
473
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        vars.insert(
+
        vars.insert(
474
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Name::MachineName(0),
+
            Name::MachineName(0),
475
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            DecisionVariable::new(Domain::IntDomain(vec![Range::Single(1)])),
+
            DecisionVariable::new(Domain::IntDomain(vec![Range::Single(1)])),
476
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        );
+
        );
477
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        assert_eq!(
+
        assert_eq!(
478
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            reference.domain_of(&vars),
+
            reference.domain_of(&vars),
479
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Some(Domain::IntDomain(vec![Range::Single(1)]))
+
            Some(Domain::IntDomain(vec![Range::Single(1)]))
480
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        );
+
        );
481
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
484
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn test_domain_of_reference_not_found() {
+
    fn test_domain_of_reference_not_found() {
485
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let reference = Expression::Reference(Metadata::new(), Name::MachineName(0));
+
        let reference = Expression::Reference(Metadata::new(), Name::MachineName(0));
486
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        assert_eq!(reference.domain_of(&SymbolTable::new()), None);
+
        assert_eq!(reference.domain_of(&SymbolTable::new()), None);
487
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
490
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn test_domain_of_reference_sum_single() {
+
    fn test_domain_of_reference_sum_single() {
491
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let reference = Expression::Reference(Metadata::new(), Name::MachineName(0));
+
        let reference = Expression::Reference(Metadata::new(), Name::MachineName(0));
492
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let mut vars = SymbolTable::new();
+
        let mut vars = SymbolTable::new();
493
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        vars.insert(
+
        vars.insert(
494
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Name::MachineName(0),
+
            Name::MachineName(0),
495
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            DecisionVariable::new(Domain::IntDomain(vec![Range::Single(1)])),
+
            DecisionVariable::new(Domain::IntDomain(vec![Range::Single(1)])),
496
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        );
+
        );
497
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let sum = Expression::Sum(Metadata::new(), vec![reference.clone(), reference.clone()]);
+
        let sum = Expression::Sum(Metadata::new(), vec![reference.clone(), reference.clone()]);
498
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        assert_eq!(
+
        assert_eq!(
499
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            sum.domain_of(&vars),
+
            sum.domain_of(&vars),
500
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Some(Domain::IntDomain(vec![Range::Single(2)]))
+
            Some(Domain::IntDomain(vec![Range::Single(2)]))
501
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        );
+
        );
502
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
505
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn test_domain_of_reference_sum_bounded() {
+
    fn test_domain_of_reference_sum_bounded() {
506
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let reference = Expression::Reference(Metadata::new(), Name::MachineName(0));
+
        let reference = Expression::Reference(Metadata::new(), Name::MachineName(0));
507
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let mut vars = SymbolTable::new();
+
        let mut vars = SymbolTable::new();
508
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        vars.insert(
+
        vars.insert(
509
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Name::MachineName(0),
+
            Name::MachineName(0),
510
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            DecisionVariable::new(Domain::IntDomain(vec![Range::Bounded(1, 2)])),
+
            DecisionVariable::new(Domain::IntDomain(vec![Range::Bounded(1, 2)])),
511
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        );
+
        );
512
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let sum = Expression::Sum(Metadata::new(), vec![reference.clone(), reference.clone()]);
+
        let sum = Expression::Sum(Metadata::new(), vec![reference.clone(), reference.clone()]);
513
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        assert_eq!(
+
        assert_eq!(
514
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            sum.domain_of(&vars),
+
            sum.domain_of(&vars),
515
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Some(Domain::IntDomain(vec![Range::Bounded(2, 4)]))
+
            Some(Domain::IntDomain(vec![Range::Bounded(2, 4)]))
516
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        );
+
        );
517
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
-

Date: 2024-05-01 08:39

+

Date: 2024-05-27 10:40

diff --git a/coverage/main/crates/conjure_core/src/ast/index.html b/coverage/main/crates/conjure_core/src/ast/index.html index 9a2986989..0c0226415 100644 --- a/coverage/main/crates/conjure_core/src/ast/index.html +++ b/coverage/main/crates/conjure_core/src/ast/index.html @@ -15,7 +15,7 @@

Lines

- 45.52 %

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 15.58 %

+ 0 %

@@ -46,20 +46,20 @@ - 50% + 0% - 50% + 0% - 11 / 22 + 0 / 22 - 13.64% - 6 / 44 + 0% + 0 / 28 @@ -69,21 +69,21 @@ - 96.61% + 0% - - 96.61% + + 0% - - 57 / 59 + + 0 / 59 - 23.81% - 20 / 84 + 0% + 0 / 54 @@ -94,20 +94,20 @@ - 36.59% + 0% - 36.59% + 0% - 120 / 328 + 0 / 328 - 15.67% - 68 / 434 + 0% + 0 / 283 @@ -117,21 +117,21 @@ - 100% + 0% - - 100% + + 0% - - 6 / 6 + + 0 / 6 - 12.5% - 4 / 32 + 0% + 0 / 20 @@ -155,7 +155,7 @@ 0% - 0 / 29 + 0 / 18 @@ -166,20 +166,20 @@ - 21.05% + 0% - 21.05% + 0% - 4 / 19 + 0 / 19 - 13.16% - 5 / 38 + 0% + 0 / 24 @@ -187,7 +187,7 @@ diff --git a/coverage/main/crates/conjure_core/src/ast/symbol_table.rs.html b/coverage/main/crates/conjure_core/src/ast/symbol_table.rs.html index ad389edc7..54d2015eb 100644 --- a/coverage/main/crates/conjure_core/src/ast/symbol_table.rs.html +++ b/coverage/main/crates/conjure_core/src/ast/symbol_table.rs.html @@ -14,8 +14,8 @@

Lines

-

- 100 %

+

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 12.5 %

+ 0 %

@@ -150,13 +150,13 @@ 8
- 1690 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
+
#[derive(Clone, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
15
- 6975 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
+
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
16
- 6975 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        match self {
+
        match self {
17
- 5190 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Name::UserName(s) => write!(f, "UserName({})", s),
+
            Name::UserName(s) => write!(f, "UserName({})", s),
18
- 1785 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Name::MachineName(i) => write!(f, "MachineName({})", i),
+
            Name::MachineName(i) => write!(f, "MachineName({})", i),
20
- 6975 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
-

Date: 2024-05-01 08:39

+

Date: 2024-05-27 10:40

diff --git a/coverage/main/crates/conjure_core/src/ast/types.rs.html b/coverage/main/crates/conjure_core/src/ast/types.rs.html index df58384bb..aa9338f30 100644 --- a/coverage/main/crates/conjure_core/src/ast/types.rs.html +++ b/coverage/main/crates/conjure_core/src/ast/types.rs.html @@ -23,7 +23,7 @@

Functions

- 0 %

+ 0 %

@@ -146,7 +146,7 @@
diff --git a/coverage/main/crates/conjure_core/src/ast/variables.rs.html b/coverage/main/crates/conjure_core/src/ast/variables.rs.html index 33dc8ffd8..48a48ec71 100644 --- a/coverage/main/crates/conjure_core/src/ast/variables.rs.html +++ b/coverage/main/crates/conjure_core/src/ast/variables.rs.html @@ -15,7 +15,7 @@

Lines

- 21.05 %

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 13.16 %

+ 0 %

@@ -134,13 +134,13 @@ 7
- 650 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
+
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize)]
13
- 138 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub fn new(domain: Domain) -> DecisionVariable {
+
    pub fn new(domain: Domain) -> DecisionVariable {
14
- 138 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        DecisionVariable { domain }
+
        DecisionVariable { domain }
15
- 138 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
-

Date: 2024-05-01 08:39

+

Date: 2024-05-27 10:40

diff --git a/coverage/main/crates/conjure_core/src/context.rs.html b/coverage/main/crates/conjure_core/src/context.rs.html index 596227f5c..a6720df36 100644 --- a/coverage/main/crates/conjure_core/src/context.rs.html +++ b/coverage/main/crates/conjure_core/src/context.rs.html @@ -23,7 +23,7 @@

Functions

- 0 %

+ 0 %

@@ -1426,7 +1426,7 @@
diff --git a/coverage/main/crates/conjure_core/src/error.rs.html b/coverage/main/crates/conjure_core/src/error.rs.html index 2edac38b8..334c960dd 100644 --- a/coverage/main/crates/conjure_core/src/error.rs.html +++ b/coverage/main/crates/conjure_core/src/error.rs.html @@ -23,7 +23,7 @@

Functions

- 0 %

+ 0 %

@@ -370,7 +370,7 @@ diff --git a/coverage/main/crates/conjure_core/src/index.html b/coverage/main/crates/conjure_core/src/index.html index 5c044a7c2..1a6248449 100644 --- a/coverage/main/crates/conjure_core/src/index.html +++ b/coverage/main/crates/conjure_core/src/index.html @@ -15,7 +15,7 @@

Lines

- 48.8 %

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 12.35 %

+ 0 %

@@ -59,7 +59,7 @@ 0% - 0 / 18 + 0 / 12 @@ -83,7 +83,7 @@ 0% - 0 / 12 + 0 / 8 @@ -93,21 +93,21 @@ - 81.25% + 0% - - 81.25% + + 0% - - 13 / 16 + + 0 / 16 - 14.63% - 6 / 41 + 0% + 0 / 26 @@ -117,21 +117,21 @@ - 77.42% + 0% - - 77.42% + + 0% - - 48 / 62 + + 0 / 62 - 15.38% - 14 / 91 + 0% + 0 / 58 @@ -139,7 +139,7 @@ diff --git a/coverage/main/crates/conjure_core/src/metadata.rs.html b/coverage/main/crates/conjure_core/src/metadata.rs.html index 3222c8c2d..dcc75c865 100644 --- a/coverage/main/crates/conjure_core/src/metadata.rs.html +++ b/coverage/main/crates/conjure_core/src/metadata.rs.html @@ -14,8 +14,8 @@

Lines

-

- 81.25 %

+

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 14.63 %

+ 0 %

@@ -118,13 +118,13 @@ 6
- 3480 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize, Default)]
+
#[derive(Clone, Debug, PartialEq, Eq, Deserialize, Serialize, Default)]
13
- 18853 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub fn new() -> Metadata {
+
    pub fn new() -> Metadata {
14
- 18853 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Metadata {
+
        Metadata {
15
- 18853 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            clean: false,
+
            clean: false,
16
- 18853 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            etype: None,
+
            etype: None,
17
- 18853 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        }
+
        }
18
- 18853 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
20
- 19950 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub fn clone_dirty(&self) -> Metadata {
+
    pub fn clone_dirty(&self) -> Metadata {
21
- 19950 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Metadata {
+
        Metadata {
22
- 19950 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            clean: false,
+
            clean: false,
23
- 19950 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            ..self.clone()
+
            ..self.clone()
24
- 19950 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        }
+
        }
25
- 19950 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
-

Date: 2024-05-01 08:39

+

Date: 2024-05-27 10:40

diff --git a/coverage/main/crates/conjure_core/src/model.rs.html b/coverage/main/crates/conjure_core/src/model.rs.html index 4eb4b6cfa..8d7ea4d8c 100644 --- a/coverage/main/crates/conjure_core/src/model.rs.html +++ b/coverage/main/crates/conjure_core/src/model.rs.html @@ -14,8 +14,8 @@

Lines

-

- 77.42 %

+

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 15.38 %

+ 0 %

@@ -246,13 +246,13 @@ 14
- 980 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
#[derive(Derivative, Clone, Debug, Serialize, Deserialize)]
+
#[derive(Derivative, Clone, Debug, Serialize, Deserialize)]
27
- 2096250 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub fn new(
+
    pub fn new(
28
- 2096250 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        variables: SymbolTable,
+
        variables: SymbolTable,
29
- 2096250 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        constraints: Expression,
+
        constraints: Expression,
30
- 2096250 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        context: Arc<RwLock<Context<'static>>>,
+
        context: Arc<RwLock<Context<'static>>>,
31
- 2096250 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    ) -> Model {
+
    ) -> Model {
32
- 2096250 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Model {
+
        Model {
33
- 2096250 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            variables,
+
            variables,
34
- 2096250 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            constraints,
+
            constraints,
35
- 2096250 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            context,
+
            context,
36
- 2096250 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            next_var: RefCell::new(0),
+
            next_var: RefCell::new(0),
37
- 2096250 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        }
+
        }
38
- 2096250 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
40
- 2095950 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub fn new_empty(context: Arc<RwLock<Context<'static>>>) -> Model {
+
    pub fn new_empty(context: Arc<RwLock<Context<'static>>>) -> Model {
41
- 2095950 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Model::new(Default::default(), Expression::Nothing, context)
+
        Model::new(Default::default(), Expression::Nothing, context)
42
- 2095950 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
44
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub fn update_domain(&mut self, name: &Name, new_domain: Domain) {
+
    pub fn update_domain(&mut self, name: &Name, new_domain: Domain) {
45
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        if let Some(decision_var) = self.variables.get_mut(name) {
+
        if let Some(decision_var) = self.variables.get_mut(name) {
46
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            decision_var.domain = new_domain;
+
            decision_var.domain = new_domain;
47
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        }
+
        }
48
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
55
- 540 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub fn add_variable(&mut self, name: Name, decision_var: DecisionVariable) {
+
    pub fn add_variable(&mut self, name: Name, decision_var: DecisionVariable) {
56
- 540 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        self.variables.insert(name, decision_var);
+
        self.variables.insert(name, decision_var);
57
- 540 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
59
- 645 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub fn get_constraints_vec(&self) -> Vec<Expression> {
+
    pub fn get_constraints_vec(&self) -> Vec<Expression> {
60
- 645 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        match &self.constraints {
+
        match &self.constraints {
61
- 300 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Expression::And(_, constraints) => constraints.clone(),
+
            Expression::And(_, constraints) => constraints.clone(),
62
- 255 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Expression::Nothing => vec![],
+
            Expression::Nothing => vec![],
63
- 90 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            _ => vec![self.constraints.clone()],
+
            _ => vec![self.constraints.clone()],
65
- 645 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
67
- 270 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub fn set_constraints(&mut self, constraints: Vec<Expression>) {
+
    pub fn set_constraints(&mut self, constraints: Vec<Expression>) {
68
- 270 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        if constraints.is_empty() {
+
        if constraints.is_empty() {
70
- 270 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        } else if constraints.len() == 1 {
+
        } else if constraints.len() == 1 {
71
- 225 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            self.constraints = constraints[0].clone();
+
            self.constraints = constraints[0].clone();
72
- 225 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        } else {
+
        } else {
73
- 45 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            self.constraints = Expression::And(Metadata::new(), constraints);
+
            self.constraints = Expression::And(Metadata::new(), constraints);
74
- 45 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        }
+
        }
75
- 270 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
89
- 270 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub fn add_constraints(&mut self, expressions: Vec<Expression>) {
+
    pub fn add_constraints(&mut self, expressions: Vec<Expression>) {
90
- 270 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let mut constraints = self.get_constraints_vec();
+
        let mut constraints = self.get_constraints_vec();
91
- 270 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        constraints.extend(expressions);
+
        constraints.extend(expressions);
92
- 270 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        self.set_constraints(constraints);
+
        self.set_constraints(constraints);
93
- 270 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
96
- 135 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub fn gensym(&self) -> Name {
+
    pub fn gensym(&self) -> Name {
97
- 135 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let num = *self.next_var.borrow();
+
        let num = *self.next_var.borrow();
98
- 135 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        *(self.next_var.borrow_mut()) += 1;
+
        *(self.next_var.borrow_mut()) += 1;
99
- 135 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Name::MachineName(num) // incremented when inserted
+
        Name::MachineName(num) // incremented when inserted
100
- 135 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
-

Date: 2024-05-01 08:39

+

Date: 2024-05-27 10:40

diff --git a/coverage/main/crates/conjure_core/src/parse/example_models.rs.html b/coverage/main/crates/conjure_core/src/parse/example_models.rs.html index b6296cc0e..ffab9e145 100644 --- a/coverage/main/crates/conjure_core/src/parse/example_models.rs.html +++ b/coverage/main/crates/conjure_core/src/parse/example_models.rs.html @@ -14,8 +14,8 @@

Lines

-

- 100 %

+

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 33.33 %

+ 0 %

@@ -358,13 +358,13 @@ 21
- 45 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
pub fn get_example_model(filename: &str) -> Result<Model, anyhow::Error> {
+
pub fn get_example_model(filename: &str) -> Result<Model, anyhow::Error> {
23
- 45 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let base_dir = get_project_root()?;
+
    let base_dir = get_project_root()?;
24
- 45 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let mut essence_path = PathBuf::new();
+
    let mut essence_path = PathBuf::new();
27
- 254445 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    for entry in WalkDir::new(base_dir).into_iter().filter_map(|e| e.ok()) {
+
    for entry in WalkDir::new(base_dir).into_iter().filter_map(|e| e.ok()) {
28
- 254445 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let path = entry.path();
+
        let path = entry.path();
29
- 254445 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        if path.is_file()
+
        if path.is_file()
30
- 215610 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            && path.extension().map_or(false, |e| e == "essence")
+
            && path.extension().map_or(false, |e| e == "essence")
31
- 360 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            && path.file_stem() == Some(std::ffi::OsStr::new(filename))
+
            && path.file_stem() == Some(std::ffi::OsStr::new(filename))
33
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            essence_path = path.to_path_buf();
+
            essence_path = path.to_path_buf();
34
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            break;
+
            break;
35
- 254415 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        }
+
        }
41
- 45 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    if essence_path.as_os_str().is_empty() {
+
    if essence_path.as_os_str().is_empty() {
42
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        return Err(anyhow::Error::new(std::io::Error::new(
+
        return Err(anyhow::Error::new(std::io::Error::new(
43
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            std::io::ErrorKind::NotFound,
+
            std::io::ErrorKind::NotFound,
44
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            "ERROR: File not found in any subdirectory",
+
            "ERROR: File not found in any subdirectory",
45
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        )));
+
        )));
46
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
47
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
48
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    // let path = PathBuf::from(format!("../tests/integration/basic/comprehension{}.essence", filename));
+
    // let path = PathBuf::from(format!("../tests/integration/basic/comprehension{}.essence", filename));
49
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let mut cmd = std::process::Command::new("conjure");
+
    let mut cmd = std::process::Command::new("conjure");
50
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let output = cmd
+
    let output = cmd
51
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .arg("pretty")
+
        .arg("pretty")
52
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .arg("--output-format=astjson")
+
        .arg("--output-format=astjson")
53
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .arg(essence_path)
+
        .arg(essence_path)
54
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .output()?;
+
        .output()?;
57
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let astjson = String::from_utf8(output.stdout)?;
+
    let astjson = String::from_utf8(output.stdout)?;
62
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let generated_mdl = model_from_json(&astjson, Default::default())?;
+
    let generated_mdl = model_from_json(&astjson, Default::default())?;
64
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    Ok(generated_mdl)
+
    Ok(generated_mdl)
65
- 45 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
77
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
pub fn get_example_model_by_path(filepath: &str) -> Result<Model, anyhow::Error> {
+
pub fn get_example_model_by_path(filepath: &str) -> Result<Model, anyhow::Error> {
78
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let essence_path = PathBuf::from(filepath);
+
    let essence_path = PathBuf::from(filepath);
79
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
80
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    // return error if file not found
+
    // return error if file not found
81
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    if essence_path.as_os_str().is_empty() {
+
    if essence_path.as_os_str().is_empty() {
82
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        return Err(anyhow::Error::new(std::io::Error::new(
+
        return Err(anyhow::Error::new(std::io::Error::new(
83
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            std::io::ErrorKind::NotFound,
+
            std::io::ErrorKind::NotFound,
84
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            "ERROR: File not found in any subdirectory",
+
            "ERROR: File not found in any subdirectory",
85
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        )));
+
        )));
86
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
87
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
88
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    // println!("PATH TO FILE: {}", essence_path.display());
+
    // println!("PATH TO FILE: {}", essence_path.display());
89
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
90
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    // Command execution using 'conjure' CLI tool with provided path
+
    // Command execution using 'conjure' CLI tool with provided path
91
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let mut cmd = std::process::Command::new("conjure");
+
    let mut cmd = std::process::Command::new("conjure");
92
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let output = cmd
+
    let output = cmd
93
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .arg("pretty")
+
        .arg("pretty")
94
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .arg("--output-format=astjson")
+
        .arg("--output-format=astjson")
95
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .arg(&essence_path)
+
        .arg(&essence_path)
96
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .output()?;
+
        .output()?;
99
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let astjson = String::from_utf8(output.stdout)?;
+
    let astjson = String::from_utf8(output.stdout)?;
104
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let generated_model = model_from_json(&astjson, Default::default())?;
+
    let generated_model = model_from_json(&astjson, Default::default())?;
106
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    Ok(generated_model)
+
    Ok(generated_model)
107
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
diff --git a/coverage/main/crates/conjure_core/src/parse/index.html b/coverage/main/crates/conjure_core/src/parse/index.html index f7fc7e091..2cb2318ce 100644 --- a/coverage/main/crates/conjure_core/src/parse/index.html +++ b/coverage/main/crates/conjure_core/src/parse/index.html @@ -14,8 +14,8 @@

Lines

-

- 90.4 %

+

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 30 %

+ 0 %

@@ -45,21 +45,21 @@ - 100% + 0% - - 100% + + 0% - - 53 / 53 + + 0 / 53 - 33.33% - 4 / 12 + 0% + 0 / 8 @@ -69,21 +69,21 @@ - 88.35% + 0% - - 88.35% + + 0% - - 220 / 249 + + 0 / 249 - 29.17% - 14 / 48 + 0% + 0 / 32 @@ -91,7 +91,7 @@ diff --git a/coverage/main/crates/conjure_core/src/parse/parse_model.rs.html b/coverage/main/crates/conjure_core/src/parse/parse_model.rs.html index 1e89b5d60..948378aa2 100644 --- a/coverage/main/crates/conjure_core/src/parse/parse_model.rs.html +++ b/coverage/main/crates/conjure_core/src/parse/parse_model.rs.html @@ -14,8 +14,8 @@

Lines

-

- 88.35 %

+

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 29.17 %

+ 0 %

@@ -230,13 +230,13 @@ 13
- 255 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
pub fn model_from_json(str: &str, context: Arc<RwLock<Context<'static>>>) -> Result<Model> {
+
pub fn model_from_json(str: &str, context: Arc<RwLock<Context<'static>>>) -> Result<Model> {
14
- 255 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let mut m = Model::new_empty(context);
+
    let mut m = Model::new_empty(context);
15
- 255 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let v: JsonValue = serde_json::from_str(str)?;
+
    let v: JsonValue = serde_json::from_str(str)?;
16
- 255 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let statements = v["mStatements"]
+
    let statements = v["mStatements"]
17
- 255 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .as_array()
+
        .as_array()
18
- 255 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .ok_or(Error::Parse("mStatements is not an array".to_owned()))?;
+
        .ok_or(Error::Parse("mStatements is not an array".to_owned()))?;
20
- 1065 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    for statement in statements {
+
    for statement in statements {
21
- 810 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let entry = statement
+
        let entry = statement
22
- 810 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            .as_object()
+
            .as_object()
23
- 810 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            .ok_or(Error::Parse("mStatements contains a non-object".to_owned()))?
+
            .ok_or(Error::Parse("mStatements contains a non-object".to_owned()))?
24
- 810 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            .iter()
+
            .iter()
25
- 810 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            .next()
+
            .next()
26
- 810 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            .ok_or(Error::Parse(
+
            .ok_or(Error::Parse(
27
- 810 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                "mStatements contains an empty object".to_owned(),
+
                "mStatements contains an empty object".to_owned(),
28
- 810 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            ))?;
+
            ))?;
29
- 810 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        match entry.0.as_str() {
+
        match entry.0.as_str() {
30
- 810 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            "Declaration" => {
+
            "Declaration" => {
31
- 540 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let (name, var) = parse_variable(entry.1)?;
+
                let (name, var) = parse_variable(entry.1)?;
32
- 540 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                m.add_variable(name, var);
+
                m.add_variable(name, var);
34
- 270 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            "SuchThat" => {
+
            "SuchThat" => {
35
- 270 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let constraints_arr = match entry.1.as_array() {
+
                let constraints_arr = match entry.1.as_array() {
36
- 270 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    Some(x) => x,
+
                    Some(x) => x,
42
- 270 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let constraints: Vec<Expression> =
+
                let constraints: Vec<Expression> =
43
- 270 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    constraints_arr.iter().flat_map(parse_expression).collect();
+
                    constraints_arr.iter().flat_map(parse_expression).collect();
44
- 270 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                m.add_constraints(constraints);
+
                m.add_constraints(constraints);
51
- 255 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    Ok(m)
+
    Ok(m)
52
- 255 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
54
- 540 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn parse_variable(v: &JsonValue) -> Result<(Name, DecisionVariable)> {
+
fn parse_variable(v: &JsonValue) -> Result<(Name, DecisionVariable)> {
55
- 540 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let arr = v
+
    let arr = v
56
- 540 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .as_object()
+
        .as_object()
57
- 540 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .ok_or(Error::Parse("Declaration is not an object".to_owned()))?["FindOrGiven"]
+
        .ok_or(Error::Parse("Declaration is not an object".to_owned()))?["FindOrGiven"]
58
- 540 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .as_array()
+
        .as_array()
59
- 540 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .ok_or(Error::Parse("FindOrGiven is not an array".to_owned()))?;
+
        .ok_or(Error::Parse("FindOrGiven is not an array".to_owned()))?;
60
- 540 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let name = arr[1]
+
    let name = arr[1]
61
- 540 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .as_object()
+
        .as_object()
62
- 540 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .ok_or(Error::Parse("FindOrGiven[1] is not an object".to_owned()))?["Name"]
+
        .ok_or(Error::Parse("FindOrGiven[1] is not an object".to_owned()))?["Name"]
63
- 540 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .as_str()
+
        .as_str()
64
- 540 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .ok_or(Error::Parse(
+
        .ok_or(Error::Parse(
65
- 540 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            "FindOrGiven[1].Name is not a string".to_owned(),
+
            "FindOrGiven[1].Name is not a string".to_owned(),
66
- 540 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ))?;
+
        ))?;
67
- 540 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let name = Name::UserName(name.to_owned());
+
    let name = Name::UserName(name.to_owned());
68
- 540 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let domain = arr[2]
+
    let domain = arr[2]
69
- 540 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .as_object()
+
        .as_object()
70
- 540 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .ok_or(Error::Parse("FindOrGiven[2] is not an object".to_owned()))?
+
        .ok_or(Error::Parse("FindOrGiven[2] is not an object".to_owned()))?
71
- 540 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .iter()
+
        .iter()
72
- 540 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .next()
+
        .next()
73
- 540 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .ok_or(Error::Parse("FindOrGiven[2] is an empty object".to_owned()))?;
+
        .ok_or(Error::Parse("FindOrGiven[2] is an empty object".to_owned()))?;
74
- 540 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let domain = match domain.0.as_str() {
+
    let domain = match domain.0.as_str() {
75
- 540 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        "DomainInt" => Ok(parse_int_domain(domain.1)?),
+
        "DomainInt" => Ok(parse_int_domain(domain.1)?),
76
- 105 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        "DomainBool" => Ok(Domain::BoolDomain),
+
        "DomainBool" => Ok(Domain::BoolDomain),
81
- 540 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    Ok((name, DecisionVariable { domain }))
+
    Ok((name, DecisionVariable { domain }))
82
- 540 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
84
- 435 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn parse_int_domain(v: &JsonValue) -> Result<Domain> {
+
fn parse_int_domain(v: &JsonValue) -> Result<Domain> {
85
- 435 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let mut ranges = Vec::new();
+
    let mut ranges = Vec::new();
86
- 435 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let arr = v
+
    let arr = v
87
- 435 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .as_array()
+
        .as_array()
88
- 435 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .ok_or(Error::Parse("DomainInt is not an array".to_owned()))?[1]
+
        .ok_or(Error::Parse("DomainInt is not an array".to_owned()))?[1]
89
- 435 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .as_array()
+
        .as_array()
90
- 435 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .ok_or(Error::Parse("DomainInt[1] is not an array".to_owned()))?;
+
        .ok_or(Error::Parse("DomainInt[1] is not an array".to_owned()))?;
91
- 870 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    for range in arr {
+
    for range in arr {
92
- 435 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let range = range
+
        let range = range
93
- 435 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            .as_object()
+
            .as_object()
94
- 435 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            .ok_or(Error::Parse(
+
            .ok_or(Error::Parse(
95
- 435 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                "DomainInt[1] contains a non-object".to_owned(),
+
                "DomainInt[1] contains a non-object".to_owned(),
96
- 435 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            ))?
+
            ))?
97
- 435 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            .iter()
+
            .iter()
98
- 435 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            .next()
+
            .next()
99
- 435 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            .ok_or(Error::Parse(
+
            .ok_or(Error::Parse(
100
- 435 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                "DomainInt[1] contains an empty object".to_owned(),
+
                "DomainInt[1] contains an empty object".to_owned(),
101
- 435 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            ))?;
+
            ))?;
102
- 435 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        match range.0.as_str() {
+
        match range.0.as_str() {
103
- 435 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            "RangeBounded" => {
+
            "RangeBounded" => {
104
- 435 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let arr = range
+
                let arr = range
105
- 435 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    .1
+
                    .1
106
- 435 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    .as_array()
+
                    .as_array()
107
- 435 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    .ok_or(Error::Parse("RangeBounded is not an array".to_owned()))?;
+
                    .ok_or(Error::Parse("RangeBounded is not an array".to_owned()))?;
108
- 435 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let mut nums = Vec::new();
+
                let mut nums = Vec::new();
109
- 870 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                for item in arr.iter() {
+
                for item in arr.iter() {
110
- 870 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    let num = item["Constant"]["ConstantInt"][1]
+
                    let num = item["Constant"]["ConstantInt"][1]
111
- 870 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        .as_i64()
+
                        .as_i64()
112
- 870 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        .ok_or(Error::Parse(
+
                        .ok_or(Error::Parse(
113
- 870 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                            "Could not parse int domain constant".to_owned(),
+
                            "Could not parse int domain constant".to_owned(),
114
- 870 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        ))?;
+
                        ))?;
115
- 870 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    let num32 = i32::try_from(num).map_err(|_| {
+
                    let num32 = i32::try_from(num).map_err(|_| {
117
- 870 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    })?;
+
                    })?;
118
- 870 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    nums.push(num32);
+
                    nums.push(num32);
120
- 435 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                ranges.push(Range::Bounded(nums[0], nums[1]));
+
                ranges.push(Range::Bounded(nums[0], nums[1]));
139
- 435 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    Ok(Domain::IntDomain(ranges))
+
    Ok(Domain::IntDomain(ranges))
140
- 435 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
147
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn parse_expression(obj: &JsonValue) -> Option<Expression> {
+
fn parse_expression(obj: &JsonValue) -> Option<Expression> {
148
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let binary_operators: HashMap<&str, BinOp> = [
+
    let binary_operators: HashMap<&str, BinOp> = [
149
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        (
+
        (
150
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            "MkOpEq",
+
            "MkOpEq",
151
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Box::new(Expression::Eq) as Box<dyn Fn(_, _, _) -> _>,
+
            Box::new(Expression::Eq) as Box<dyn Fn(_, _, _) -> _>,
152
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ),
+
        ),
153
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        (
+
        (
154
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            "MkOpNeq",
+
            "MkOpNeq",
155
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Box::new(Expression::Neq) as Box<dyn Fn(_, _, _) -> _>,
+
            Box::new(Expression::Neq) as Box<dyn Fn(_, _, _) -> _>,
156
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ),
+
        ),
157
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        (
+
        (
158
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            "MkOpGeq",
+
            "MkOpGeq",
159
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Box::new(Expression::Geq) as Box<dyn Fn(_, _, _) -> _>,
+
            Box::new(Expression::Geq) as Box<dyn Fn(_, _, _) -> _>,
160
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ),
+
        ),
161
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        (
+
        (
162
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            "MkOpLeq",
+
            "MkOpLeq",
163
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Box::new(Expression::Leq) as Box<dyn Fn(_, _, _) -> _>,
+
            Box::new(Expression::Leq) as Box<dyn Fn(_, _, _) -> _>,
164
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ),
+
        ),
165
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        (
+
        (
166
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            "MkOpGt",
+
            "MkOpGt",
167
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Box::new(Expression::Gt) as Box<dyn Fn(_, _, _) -> _>,
+
            Box::new(Expression::Gt) as Box<dyn Fn(_, _, _) -> _>,
168
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ),
+
        ),
169
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        (
+
        (
170
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            "MkOpLt",
+
            "MkOpLt",
171
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Box::new(Expression::Lt) as Box<dyn Fn(_, _, _) -> _>,
+
            Box::new(Expression::Lt) as Box<dyn Fn(_, _, _) -> _>,
172
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ),
+
        ),
173
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        (
+
        (
174
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            "MkOpGt",
+
            "MkOpGt",
175
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Box::new(Expression::Gt) as Box<dyn Fn(_, _, _) -> _>,
+
            Box::new(Expression::Gt) as Box<dyn Fn(_, _, _) -> _>,
176
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ),
+
        ),
177
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        (
+
        (
178
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            "MkOpLt",
+
            "MkOpLt",
179
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Box::new(Expression::Lt) as Box<dyn Fn(_, _, _) -> _>,
+
            Box::new(Expression::Lt) as Box<dyn Fn(_, _, _) -> _>,
180
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ),
+
        ),
181
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        (
+
        (
182
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            "MkOpDiv",
+
            "MkOpDiv",
183
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Box::new(Expression::UnsafeDiv) as Box<dyn Fn(_, _, _) -> _>,
+
            Box::new(Expression::UnsafeDiv) as Box<dyn Fn(_, _, _) -> _>,
184
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ),
+
        ),
185
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    ]
+
    ]
186
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    .into_iter()
+
    .into_iter()
187
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    .collect();
+
    .collect();
188
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
189
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let unary_operators: HashMap<&str, UnaryOp> = [(
+
    let unary_operators: HashMap<&str, UnaryOp> = [(
190
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        "MkOpNot",
+
        "MkOpNot",
191
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Box::new(Expression::Not) as Box<dyn Fn(_, _) -> _>,
+
        Box::new(Expression::Not) as Box<dyn Fn(_, _) -> _>,
192
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    )]
+
    )]
193
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    .into_iter()
+
    .into_iter()
194
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    .collect();
+
    .collect();
195
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
196
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let vec_operators: HashMap<&str, VecOp> = [
+
    let vec_operators: HashMap<&str, VecOp> = [
197
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        (
+
        (
198
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            "MkOpSum",
+
            "MkOpSum",
199
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Box::new(Expression::Sum) as Box<dyn Fn(_, _) -> _>,
+
            Box::new(Expression::Sum) as Box<dyn Fn(_, _) -> _>,
200
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ),
+
        ),
201
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        (
+
        (
202
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            "MkOpAnd",
+
            "MkOpAnd",
203
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Box::new(Expression::And) as Box<dyn Fn(_, _) -> _>,
+
            Box::new(Expression::And) as Box<dyn Fn(_, _) -> _>,
204
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ),
+
        ),
205
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ("MkOpOr", Box::new(Expression::Or) as Box<dyn Fn(_, _) -> _>),
+
        ("MkOpOr", Box::new(Expression::Or) as Box<dyn Fn(_, _) -> _>),
206
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        (
+
        (
207
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            "MkOpMin",
+
            "MkOpMin",
208
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Box::new(Expression::Min) as Box<dyn Fn(_, _) -> _>,
+
            Box::new(Expression::Min) as Box<dyn Fn(_, _) -> _>,
209
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ),
+
        ),
210
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    ]
+
    ]
211
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    .into_iter()
+
    .into_iter()
212
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    .collect();
+
    .collect();
213
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
214
- 2775 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let mut binary_operator_names = binary_operators.iter().map(|x| x.0);
+
    let mut binary_operator_names = binary_operators.iter().map(|x| x.0);
215
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let mut unary_operator_names = unary_operators.iter().map(|x| x.0);
+
    let mut unary_operator_names = unary_operators.iter().map(|x| x.0);
216
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let mut vec_operator_names = vec_operators.iter().map(|x| x.0);
+
    let mut vec_operator_names = vec_operators.iter().map(|x| x.0);
218
- 195 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match obj {
+
    match obj {
219
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Value::Object(op) if op.contains_key("Op") => match &op["Op"] {
+
        Value::Object(op) if op.contains_key("Op") => match &op["Op"] {
220
- 2775 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Value::Object(bin_op) if binary_operator_names.any(|key| bin_op.contains_key(*key)) => {
+
            Value::Object(bin_op) if binary_operator_names.any(|key| bin_op.contains_key(*key)) => {
221
- 345 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                parse_bin_op(bin_op, binary_operators)
+
                parse_bin_op(bin_op, binary_operators)
223
- 180 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Value::Object(un_op) if unary_operator_names.any(|key| un_op.contains_key(*key)) => {
+
            Value::Object(un_op) if unary_operator_names.any(|key| un_op.contains_key(*key)) => {
224
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                parse_unary_op(un_op, unary_operators)
+
                parse_unary_op(un_op, unary_operators)
226
- 420 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Value::Object(vec_op) if vec_operator_names.any(|key| vec_op.contains_key(*key)) => {
+
            Value::Object(vec_op) if vec_operator_names.any(|key| vec_op.contains_key(*key)) => {
227
- 165 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                parse_vec_op(vec_op, vec_operators)
+
                parse_vec_op(vec_op, vec_operators)
231
- 780 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Value::Object(refe) if refe.contains_key("Reference") => {
+
        Value::Object(refe) if refe.contains_key("Reference") => {
232
- 585 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let name = refe["Reference"].as_array()?[0].as_object()?["Name"].as_str()?;
+
            let name = refe["Reference"].as_array()?[0].as_object()?["Name"].as_str()?;
233
- 585 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Some(Expression::Reference(
+
            Some(Expression::Reference(
234
- 585 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                Metadata::new(),
+
                Metadata::new(),
235
- 585 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                Name::UserName(name.to_string()),
+
                Name::UserName(name.to_string()),
236
- 585 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            ))
+
            ))
238
- 195 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Value::Object(constant) if constant.contains_key("Constant") => parse_constant(constant),
+
        Value::Object(constant) if constant.contains_key("Constant") => parse_constant(constant),
241
- 1305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
243
- 345 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn parse_bin_op(
+
fn parse_bin_op(
244
- 345 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    bin_op: &serde_json::Map<String, Value>,
+
    bin_op: &serde_json::Map<String, Value>,
245
- 345 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    binary_operators: HashMap<&str, BinOp>,
+
    binary_operators: HashMap<&str, BinOp>,
246
- 345 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
) -> Option<Expression> {
+
) -> Option<Expression> {
249
- 345 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let (key, value) = bin_op.into_iter().next()?;
+
    let (key, value) = bin_op.into_iter().next()?;
251
- 345 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let constructor = binary_operators.get(key.as_str())?;
+
    let constructor = binary_operators.get(key.as_str())?;
253
- 345 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match &value {
+
    match &value {
254
- 345 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Value::Array(bin_op_args) if bin_op_args.len() == 2 => {
+
        Value::Array(bin_op_args) if bin_op_args.len() == 2 => {
255
- 345 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let arg1 = parse_expression(&bin_op_args[0])?;
+
            let arg1 = parse_expression(&bin_op_args[0])?;
256
- 345 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let arg2 = parse_expression(&bin_op_args[1])?;
+
            let arg2 = parse_expression(&bin_op_args[1])?;
257
- 345 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Some(constructor(Metadata::new(), Box::new(arg1), Box::new(arg2)))
+
            Some(constructor(Metadata::new(), Box::new(arg1), Box::new(arg2)))
261
- 345 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
263
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn parse_unary_op(
+
fn parse_unary_op(
264
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    un_op: &serde_json::Map<String, Value>,
+
    un_op: &serde_json::Map<String, Value>,
265
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    unary_operators: HashMap<&str, UnaryOp>,
+
    unary_operators: HashMap<&str, UnaryOp>,
266
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
) -> Option<Expression> {
+
) -> Option<Expression> {
267
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let (key, value) = un_op.into_iter().next()?;
+
    let (key, value) = un_op.into_iter().next()?;
268
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let constructor = unary_operators.get(key.as_str())?;
+
    let constructor = unary_operators.get(key.as_str())?;
270
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let arg = parse_expression(value)?;
+
    let arg = parse_expression(value)?;
271
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    Some(constructor(Metadata::new(), Box::new(arg)))
+
    Some(constructor(Metadata::new(), Box::new(arg)))
272
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
274
- 165 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn parse_vec_op(
+
fn parse_vec_op(
275
- 165 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    vec_op: &serde_json::Map<String, Value>,
+
    vec_op: &serde_json::Map<String, Value>,
276
- 165 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    vec_operators: HashMap<&str, VecOp>,
+
    vec_operators: HashMap<&str, VecOp>,
277
- 165 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
) -> Option<Expression> {
+
) -> Option<Expression> {
278
- 165 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let (key, value) = vec_op.into_iter().next()?;
+
    let (key, value) = vec_op.into_iter().next()?;
279
- 165 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let constructor = vec_operators.get(key.as_str())?;
+
    let constructor = vec_operators.get(key.as_str())?;
281
- 165 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let args_parsed: Vec<Option<Expression>> = value["AbstractLiteral"]["AbsLitMatrix"][1]
+
    let args_parsed: Vec<Option<Expression>> = value["AbstractLiteral"]["AbsLitMatrix"][1]
282
- 165 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .as_array()?
+
        .as_array()?
283
- 165 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .iter()
+
        .iter()
284
- 165 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .map(parse_expression)
+
        .map(parse_expression)
285
- 165 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .collect();
+
        .collect();
286
- 165 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
287
- 165 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let number_of_args = args_parsed.len();
+
    let number_of_args = args_parsed.len();
288
- 165 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let valid_args: Vec<Expression> = args_parsed.into_iter().flatten().collect();
+
    let valid_args: Vec<Expression> = args_parsed.into_iter().flatten().collect();
289
- 165 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    if number_of_args != valid_args.len() {
+
    if number_of_args != valid_args.len() {
292
- 165 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Some(constructor(Metadata::new(), valid_args))
+
        Some(constructor(Metadata::new(), valid_args))
294
- 165 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
296
- 195 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn parse_constant(constant: &serde_json::Map<String, Value>) -> Option<Expression> {
+
fn parse_constant(constant: &serde_json::Map<String, Value>) -> Option<Expression> {
297
- 195 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match &constant["Constant"] {
+
    match &constant["Constant"] {
298
- 195 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Value::Object(int) if int.contains_key("ConstantInt") => {
+
        Value::Object(int) if int.contains_key("ConstantInt") => {
299
- 195 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let int_32: i32 = match int["ConstantInt"].as_array()?[1].as_i64()?.try_into() {
+
            let int_32: i32 = match int["ConstantInt"].as_array()?[1].as_i64()?.try_into() {
300
- 195 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                Ok(x) => x,
+
                Ok(x) => x,
310
- 195 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Some(Expression::Constant(Metadata::new(), Constant::Int(int_32)))
+
            Some(Expression::Constant(Metadata::new(), Constant::Int(int_32)))
314
- 195 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
diff --git a/coverage/main/crates/conjure_core/src/rule_engine/index.html b/coverage/main/crates/conjure_core/src/rule_engine/index.html index 95f68bec0..3d442f7ba 100644 --- a/coverage/main/crates/conjure_core/src/rule_engine/index.html +++ b/coverage/main/crates/conjure_core/src/rule_engine/index.html @@ -14,8 +14,8 @@

Lines

-

- 77.26 %

+

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 24.39 %

+ 0 %

@@ -45,21 +45,21 @@ - 87.95% + 0% - - 87.95% + + 0% - - 73 / 83 + + 0 / 29 - 28.3% - 15 / 53 + 0% + 0 / 18 @@ -69,21 +69,21 @@ - 87.14% + 0% - - 87.14% + + 0% - - 61 / 70 + + 0 / 70 - 29.17% - 7 / 24 + 0% + 0 / 16 @@ -93,21 +93,21 @@ - 88.5% + 0% - - 88.5% + + 0% - - 100 / 113 + + 0 / 113 - 20.83% - 5 / 24 + 0% + 0 / 16 @@ -118,20 +118,20 @@ - 56.72% + 0% - 56.72% + 0% - 38 / 67 + 0 / 67 - 18.18% - 6 / 33 + 0% + 0 / 22 @@ -142,20 +142,20 @@ - 62.24% + 0% - 62.24% + 0% - 61 / 98 + 0 / 98 - 23.33% - 7 / 30 + 0% + 0 / 20 @@ -163,7 +163,7 @@ diff --git a/coverage/main/crates/conjure_core/src/rule_engine/mod.rs.html b/coverage/main/crates/conjure_core/src/rule_engine/mod.rs.html index 9b822796a..6f27b69b9 100644 --- a/coverage/main/crates/conjure_core/src/rule_engine/mod.rs.html +++ b/coverage/main/crates/conjure_core/src/rule_engine/mod.rs.html @@ -14,8 +14,8 @@

Lines

-

- 87.95 %

+

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 28.3 %

+ 0 %

@@ -566,13 +566,13 @@ 34
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// use conjure_core::ast::Expression;
+
/// use conjure_core::ast::Expression;
35
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// use conjure_core::model::Model;
+
/// use conjure_core::model::Model;
36
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// use conjure_core::rule_engine::{ApplicationError, ApplicationResult, Reduction};
+
/// use conjure_core::rule_engine::{ApplicationError, ApplicationResult, Reduction};
37
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// use conjure_core::rule_engine::register_rule;
+
/// use conjure_core::rule_engine::register_rule;
38
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///
+
///
39
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// #[register_rule(("RuleSetName", 10))]
+
/// #[register_rule(("RuleSetName", 10))]
40
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// fn identity(expr: &Expression, mdl: &Model) -> ApplicationResult {
+
/// fn identity(expr: &Expression, mdl: &Model) -> ApplicationResult {
41
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///   Ok(Reduction::pure(expr.clone()))
+
///   Ok(Reduction::pure(expr.clone()))
42
+ class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage">
-
-
/// }
+
/// }
43
+ class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage">
-
-
/// ```
+
/// ```
44
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
pub use conjure_macros::register_rule;
+
pub use conjure_macros::register_rule;
60
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// use conjure_core::rule_engine::register_rule_set;
+
/// use conjure_core::rule_engine::register_rule_set;
61
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///
+
///
62
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// register_rule_set!("MyRuleSet", 10, ("DependencyRuleSet", "AnotherRuleSet"));
+
/// register_rule_set!("MyRuleSet", 10, ("DependencyRuleSet", "AnotherRuleSet"));
63
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// ```
+
/// ```
64
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
#[doc(inline)]
+
#[doc(inline)]
103
+ class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage">
-
-
/// fn identity(expr: &Expression, mdl: &Model) -> ApplicationResult {
+
/// fn identity(expr: &Expression, mdl: &Model) -> ApplicationResult {
104
+ class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage">
-
-
///   Ok(Reduction::pure(expr.clone()))
+
///   Ok(Reduction::pure(expr.clone()))
105
+ class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage">
-
-
/// }
+
/// }
106
+ class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage">
-
-
///
+
///
108
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///   println!("Rules: {:?}", get_rules());
+
///   println!("Rules: {:?}", get_rules());
109
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// }
+
/// }
110
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// ```
+
/// ```
117
- 735 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
pub fn get_rules() -> Vec<&'static Rule<'static>> {
+
pub fn get_rules() -> Vec<&'static Rule<'static>> {
118
- 735 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    RULES_DISTRIBUTED_SLICE.iter().collect()
+
    RULES_DISTRIBUTED_SLICE.iter().collect()
119
- 735 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
132
+ class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage">
-
-
/// fn identity(expr: &Expression, mdl: &Model) -> ApplicationResult {
+
/// fn identity(expr: &Expression, mdl: &Model) -> ApplicationResult {
133
+ class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage">
-
-
///  Ok(Reduction::pure(expr.clone()))
+
///  Ok(Reduction::pure(expr.clone()))
134
+ class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage">
-
-
/// }
+
/// }
135
+ class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage">
-
-
///
+
///
137
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// println!("Rule: {:?}", get_rule_by_name("identity"));
+
/// println!("Rule: {:?}", get_rule_by_name("identity"));
138
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// }
+
/// }
139
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// ```
+
/// ```
145
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
pub fn get_rule_by_name(name: &str) -> Option<&'static Rule<'static>> {
+
pub fn get_rule_by_name(name: &str) -> Option<&'static Rule<'static>> {
146
- 8235 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    get_rules().iter().find(|rule| rule.name == name).cloned()
+
    get_rules().iter().find(|rule| rule.name == name).cloned()
147
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
155
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// use conjure_core::rule_engine::register_rule_set;
+
/// use conjure_core::rule_engine::register_rule_set;
156
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// use conjure_core::rule_engine::get_rule_sets;
+
/// use conjure_core::rule_engine::get_rule_sets;
157
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///
+
///
158
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// register_rule_set!("MyRuleSet", 10, ("AnotherRuleSet"));
+
/// register_rule_set!("MyRuleSet", 10, ("AnotherRuleSet"));
159
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// register_rule_set!("AnotherRuleSet", 5, ());
+
/// register_rule_set!("AnotherRuleSet", 5, ());
160
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///
+
///
161
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// println!("Rule sets: {:?}", get_rule_sets());
+
/// println!("Rule sets: {:?}", get_rule_sets());
162
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// ```
+
/// ```
163
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///
+
///
172
- 855 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
pub fn get_rule_sets() -> Vec<&'static RuleSet<'static>> {
+
pub fn get_rule_sets() -> Vec<&'static RuleSet<'static>> {
173
- 855 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    RULE_SETS_DISTRIBUTED_SLICE.iter().collect()
+
    RULE_SETS_DISTRIBUTED_SLICE.iter().collect()
174
- 855 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
181
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// use conjure_core::rule_engine::register_rule_set;
+
/// use conjure_core::rule_engine::register_rule_set;
182
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// use conjure_core::rule_engine::get_rule_set_by_name;
+
/// use conjure_core::rule_engine::get_rule_set_by_name;
183
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///
+
///
184
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// register_rule_set!("MyRuleSet", 10, ("DependencyRuleSet", "AnotherRuleSet"));
+
/// register_rule_set!("MyRuleSet", 10, ("DependencyRuleSet", "AnotherRuleSet"));
185
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///
+
///
186
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// println!("Rule set: {:?}", get_rule_set_by_name("MyRuleSet"));
+
/// println!("Rule set: {:?}", get_rule_set_by_name("MyRuleSet"));
187
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// ```
+
/// ```
188
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///
+
///
193
- 555 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
pub fn get_rule_set_by_name(name: &str) -> Option<&'static RuleSet<'static>> {
+
pub fn get_rule_set_by_name(name: &str) -> Option<&'static RuleSet<'static>> {
194
- 555 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    get_rule_sets()
+
    get_rule_sets()
195
- 555 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .iter()
+
        .iter()
196
- 1695 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .find(|rule_set| rule_set.name == name)
+
        .find(|rule_set| rule_set.name == name)
197
- 555 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .cloned()
+
        .cloned()
198
- 555 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
206
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// use conjure_core::solver::SolverFamily;
+
/// use conjure_core::solver::SolverFamily;
207
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// use conjure_core::rule_engine::get_rule_sets_for_solver_family;
+
/// use conjure_core::rule_engine::get_rule_sets_for_solver_family;
208
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///
+
///
209
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// let rule_sets = get_rule_sets_for_solver_family(SolverFamily::SAT);
+
/// let rule_sets = get_rule_sets_for_solver_family(SolverFamily::SAT);
210
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// assert_eq!(rule_sets.len(), 1);
+
/// assert_eq!(rule_sets.len(), 1);
211
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// assert_eq!(rule_sets[0].name, "CNF");
+
/// assert_eq!(rule_sets[0].name, "CNF");
212
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// ```
+
/// ```
213
- 267 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
pub fn get_rule_sets_for_solver_family(
+
pub fn get_rule_sets_for_solver_family(
214
- 285 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    solver_family: SolverFamily,
+
    solver_family: SolverFamily,
215
- 285 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
) -> Vec<&'static RuleSet<'static>> {
+
) -> Vec<&'static RuleSet<'static>> {
216
- 285 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    get_rule_sets()
+
    get_rule_sets()
217
- 285 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .iter()
+
        .iter()
218
- 1425 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .filter(|rule_set| {
+
        .filter(|rule_set| {
219
- 1425 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            rule_set
+
            rule_set
220
- 1425 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                .solver_families
+
                .solver_families
221
- 1425 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                .iter()
+
                .iter()
222
- 1425 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                .any(|family| family.eq(&solver_family))
+
                .any(|family| family.eq(&solver_family))
223
- 1425 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        })
+
        })
224
- 285 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .cloned()
+
        .cloned()
225
- 285 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .collect()
+
        .collect()
226
- 285 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
diff --git a/coverage/main/crates/conjure_core/src/rule_engine/resolve_rules.rs.html b/coverage/main/crates/conjure_core/src/rule_engine/resolve_rules.rs.html index c016e71dd..530a7a07e 100644 --- a/coverage/main/crates/conjure_core/src/rule_engine/resolve_rules.rs.html +++ b/coverage/main/crates/conjure_core/src/rule_engine/resolve_rules.rs.html @@ -14,8 +14,8 @@

Lines

-

- 87.14 %

+

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 29.17 %

+ 0 %

@@ -486,13 +486,13 @@ 29
- 480 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn get_rule_set(rule_set_name: &str) -> Result<&'static RuleSet<'static>, ResolveRulesError> {
+
fn get_rule_set(rule_set_name: &str) -> Result<&'static RuleSet<'static>, ResolveRulesError> {
30
- 480 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match get_rule_set_by_name(rule_set_name) {
+
    match get_rule_set_by_name(rule_set_name) {
31
- 480 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Some(rule_set) => Ok(rule_set),
+
        Some(rule_set) => Ok(rule_set),
34
- 480 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
45
- 270 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
pub fn rule_sets_by_names<'a>(
+
pub fn rule_sets_by_names<'a>(
46
- 270 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    rule_set_names: &Vec<String>,
+
    rule_set_names: &Vec<String>,
47
- 270 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
) -> Result<HashSet<&'a RuleSet<'static>>, ResolveRulesError> {
+
) -> Result<HashSet<&'a RuleSet<'static>>, ResolveRulesError> {
48
- 270 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let mut rs_set: HashSet<&'static RuleSet<'static>> = HashSet::new();
+
    let mut rs_set: HashSet<&'static RuleSet<'static>> = HashSet::new();
50
- 750 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    for rule_set_name in rule_set_names {
+
    for rule_set_name in rule_set_names {
51
- 480 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let rule_set = get_rule_set(rule_set_name)?;
+
        let rule_set = get_rule_set(rule_set_name)?;
52
- 480 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let new_dependencies = rule_set.get_dependencies();
+
        let new_dependencies = rule_set.get_dependencies();
53
- 480 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        rs_set.insert(rule_set);
+
        rs_set.insert(rule_set);
54
- 480 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        rs_set.extend(new_dependencies);
+
        rs_set.extend(new_dependencies);
57
- 270 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    Ok(rs_set)
+
    Ok(rs_set)
58
- 270 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
70
- 270 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
pub fn resolve_rule_sets<'a>(
+
pub fn resolve_rule_sets<'a>(
71
- 270 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    target_solver: SolverFamily,
+
    target_solver: SolverFamily,
72
- 270 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    extra_rs_names: &Vec<String>,
+
    extra_rs_names: &Vec<String>,
73
- 270 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
) -> Result<Vec<&'a RuleSet<'static>>, ResolveRulesError> {
+
) -> Result<Vec<&'a RuleSet<'static>>, ResolveRulesError> {
74
- 270 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let mut ans = HashSet::new();
+
    let mut ans = HashSet::new();
76
- 270 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    for rs in get_rule_sets_for_solver_family(target_solver) {
+
    for rs in get_rule_sets_for_solver_family(target_solver) {
77
- 270 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ans.extend(rs.with_dependencies());
+
        ans.extend(rs.with_dependencies());
78
- 270 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
80
- 270 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    ans.extend(rule_sets_by_names(extra_rs_names)?);
+
    ans.extend(rule_sets_by_names(extra_rs_names)?);
81
- 270 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    Ok(ans.iter().cloned().collect())
+
    Ok(ans.iter().cloned().collect())
82
- 270 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
90
- 360 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
pub fn get_rule_priorities<'a>(
+
pub fn get_rule_priorities<'a>(
91
- 360 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    rule_sets: &Vec<&'a RuleSet<'a>>,
+
    rule_sets: &Vec<&'a RuleSet<'a>>,
92
- 360 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
) -> Result<HashMap<&'a Rule<'a>, u8>, ResolveRulesError> {
+
) -> Result<HashMap<&'a Rule<'a>, u8>, ResolveRulesError> {
93
- 360 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let mut rule_priorities: HashMap<&'a Rule<'a>, (&'a RuleSet<'a>, u8)> = HashMap::new();
+
    let mut rule_priorities: HashMap<&'a Rule<'a>, (&'a RuleSet<'a>, u8)> = HashMap::new();
95
- 1650 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    for rs in rule_sets {
+
    for rs in rule_sets {
96
- 11430 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        for (rule, priority) in rs.get_rules() {
+
        for (rule, priority) in rs.get_rules() {
97
- 11430 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            if let Some((old_rs, _)) = rule_priorities.get(rule) {
+
            if let Some((old_rs, _)) = rule_priorities.get(rule) {
101
- 11430 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            } else {
+
            } else {
102
- 11430 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                rule_priorities.insert(rule, (&rs, *priority));
+
                rule_priorities.insert(rule, (&rs, *priority));
103
- 11430 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            }
+
            }
107
- 360 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let mut ans: HashMap<&'a Rule<'a>, u8> = HashMap::new();
+
    let mut ans: HashMap<&'a Rule<'a>, u8> = HashMap::new();
108
- 11790 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    for (rule, (_, priority)) in rule_priorities {
+
    for (rule, (_, priority)) in rule_priorities {
109
- 11430 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ans.insert(rule, priority);
+
        ans.insert(rule, priority);
110
- 11430 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
112
- 360 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    Ok(ans)
+
    Ok(ans)
113
- 360 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
128
- 52695 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
pub fn rule_cmp<'a>(
+
pub fn rule_cmp<'a>(
129
- 52695 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    a: &Rule<'a>,
+
    a: &Rule<'a>,
130
- 52695 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    b: &Rule<'a>,
+
    b: &Rule<'a>,
131
- 52695 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    rule_priorities: &HashMap<&'a Rule<'a>, u8>,
+
    rule_priorities: &HashMap<&'a Rule<'a>, u8>,
132
- 52695 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
) -> std::cmp::Ordering {
+
) -> std::cmp::Ordering {
133
- 52695 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let a_priority = *rule_priorities.get(a).unwrap_or(&0);
+
    let a_priority = *rule_priorities.get(a).unwrap_or(&0);
134
- 52695 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let b_priority = *rule_priorities.get(b).unwrap_or(&0);
+
    let b_priority = *rule_priorities.get(b).unwrap_or(&0);
135
- 52695 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
136
- 52695 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    if a_priority == b_priority {
+
    if a_priority == b_priority {
137
- 47310 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        return a.name.cmp(b.name);
+
        return a.name.cmp(b.name);
138
- 5385 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
139
- 5385 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
140
- 5385 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    b_priority.cmp(&a_priority)
+
    b_priority.cmp(&a_priority)
141
- 52695 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
150
- 360 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
pub fn get_rules_vec<'a>(rule_priorities: &HashMap<&'a Rule<'a>, u8>) -> Vec<&'a Rule<'a>> {
+
pub fn get_rules_vec<'a>(rule_priorities: &HashMap<&'a Rule<'a>, u8>) -> Vec<&'a Rule<'a>> {
151
- 360 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let mut rules: Vec<&'a Rule<'a>> = rule_priorities.keys().copied().collect();
+
    let mut rules: Vec<&'a Rule<'a>> = rule_priorities.keys().copied().collect();
152
- 52695 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    rules.sort_by(|a, b| rule_cmp(a, b, rule_priorities));
+
    rules.sort_by(|a, b| rule_cmp(a, b, rule_priorities));
153
- 360 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    rules
+
    rules
154
- 360 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
diff --git a/coverage/main/crates/conjure_core/src/rule_engine/rewrite.rs.html b/coverage/main/crates/conjure_core/src/rule_engine/rewrite.rs.html index 73066c627..62c980f1c 100644 --- a/coverage/main/crates/conjure_core/src/rule_engine/rewrite.rs.html +++ b/coverage/main/crates/conjure_core/src/rule_engine/rewrite.rs.html @@ -14,8 +14,8 @@

Lines

-

- 88.5 %

+

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 20.83 %

+ 0 %

@@ -790,13 +790,13 @@ 48
- 720 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn optimizations_enabled() -> bool {
+
fn optimizations_enabled() -> bool {
49
- 720 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match env::var("OPTIMIZATIONS") {
+
    match env::var("OPTIMIZATIONS") {
50
- 120 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Ok(val) => val == "1",
+
        Ok(val) => val == "1",
51
- 600 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Err(_) => false, // Assume optimizations are disabled if the environment variable is not set
+
        Err(_) => false, // Assume optimizations are disabled if the environment variable is not set
53
- 720 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
61
- 360 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
pub fn rewrite_model<'a>(
+
pub fn rewrite_model<'a>(
62
- 360 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    model: &Model,
+
    model: &Model,
63
- 360 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    rule_sets: &Vec<&'a RuleSet<'a>>,
+
    rule_sets: &Vec<&'a RuleSet<'a>>,
64
- 360 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
) -> Result<Model, RewriteError> {
+
) -> Result<Model, RewriteError> {
65
- 360 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let rule_priorities = get_rule_priorities(rule_sets)?;
+
    let rule_priorities = get_rule_priorities(rule_sets)?;
66
- 360 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let rules = get_rules_vec(&rule_priorities);
+
    let rules = get_rules_vec(&rule_priorities);
67
- 360 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let mut new_model = model.clone();
+
    let mut new_model = model.clone();
68
- 360 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let mut stats = RewriterStats {
+
    let mut stats = RewriterStats {
69
- 360 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        is_optimization_enabled: Some(optimizations_enabled()),
+
        is_optimization_enabled: Some(optimizations_enabled()),
70
- 360 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        rewriter_run_time: None,
+
        rewriter_run_time: None,
71
- 360 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        rewriter_rule_application_attempts: Some(0),
+
        rewriter_rule_application_attempts: Some(0),
72
- 360 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        rewriter_rule_applications: Some(0),
+
        rewriter_rule_applications: Some(0),
73
- 360 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    };
+
    };
74
- 360 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
75
- 360 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    // Check if optimizations are enabled
+
    // Check if optimizations are enabled
76
- 360 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let apply_optimizations = optimizations_enabled();
+
    let apply_optimizations = optimizations_enabled();
77
- 360 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
78
- 360 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let start = std::time::Instant::now();
+
    let start = std::time::Instant::now();
80
- 16275 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    while let Some(step) = rewrite_iteration(
+
    while let Some(step) = rewrite_iteration(
81
- 16275 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        &new_model.constraints,
+
        &new_model.constraints,
82
- 16275 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        &new_model,
+
        &new_model,
83
- 16275 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        &rules,
+
        &rules,
84
- 16275 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        apply_optimizations,
+
        apply_optimizations,
85
- 16275 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        &mut stats,
+
        &mut stats,
86
- 16275 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    ) {
+
    ) {
87
- 15915 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        step.apply(&mut new_model); // Apply side-effects (e.g. symbol table updates)
+
        step.apply(&mut new_model); // Apply side-effects (e.g. symbol table updates)
88
- 15915 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
89
- 360 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    stats.rewriter_run_time = Some(start.elapsed());
+
    stats.rewriter_run_time = Some(start.elapsed());
90
- 360 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    model.context.write().unwrap().stats.add_rewriter_run(stats);
+
    model.context.write().unwrap().stats.add_rewriter_run(stats);
91
- 360 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    Ok(new_model)
+
    Ok(new_model)
92
- 360 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
97
- 7178565 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn rewrite_iteration<'a>(
+
fn rewrite_iteration<'a>(
98
- 7178565 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    expression: &'a Expression,
+
    expression: &'a Expression,
99
- 7178565 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    model: &'a Model,
+
    model: &'a Model,
100
- 7178565 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    rules: &'a Vec<&'a Rule<'a>>,
+
    rules: &'a Vec<&'a Rule<'a>>,
101
- 7178565 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    apply_optimizations: bool,
+
    apply_optimizations: bool,
102
- 7178565 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    stats: &mut RewriterStats,
+
    stats: &mut RewriterStats,
103
- 7178565 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
) -> Option<Reduction> {
+
) -> Option<Reduction> {
104
- 7178565 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    if apply_optimizations && expression.is_clean() {
+
    if apply_optimizations && expression.is_clean() {
107
- 7178565 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
108
- 7178565 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
109
- 7178565 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    // Mark the expression as clean - will be marked dirty if any rule is applied
+
    // Mark the expression as clean - will be marked dirty if any rule is applied
110
- 7178565 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let mut expression = expression.clone();
+
    let mut expression = expression.clone();
111
- 7178565 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
112
- 7178565 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let rule_results = apply_all_rules(&expression, model, rules, stats);
+
    let rule_results = apply_all_rules(&expression, model, rules, stats);
113
- 7178565 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    if let Some(new) = choose_rewrite(&rule_results) {
+
    if let Some(new) = choose_rewrite(&rule_results) {
115
- 15915 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        return Some(new);
+
        return Some(new);
116
- 7162650 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
117
- 7162650 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
118
- 7162650 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let mut sub = expression.children();
+
    let mut sub = expression.children();
119
- 7162650 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    for i in 0..sub.len() {
+
    for i in 0..sub.len() {
120
- 7162290 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        if let Some(red) = rewrite_iteration(&sub[i], model, rules, apply_optimizations, stats) {
+
        if let Some(red) = rewrite_iteration(&sub[i], model, rules, apply_optimizations, stats) {
121
- 20130 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            sub[i] = red.new_expression;
+
            sub[i] = red.new_expression;
122
- 20130 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            if let Ok(res) = expression.with_children(sub.clone()) {
+
            if let Ok(res) = expression.with_children(sub.clone()) {
123
- 20130 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                return Some(Reduction::new(res, red.new_top, red.symbols));
+
                return Some(Reduction::new(res, red.new_top, red.symbols));
125
- 7142160 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        }
+
        }
128
- 7142520 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    if apply_optimizations {
+
    if apply_optimizations {
132
- 7142520 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
133
- 7142520 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    None
+
    None
134
- 7178565 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
139
- 7178565 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn apply_all_rules<'a>(
+
fn apply_all_rules<'a>(
140
- 7178565 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    expression: &'a Expression,
+
    expression: &'a Expression,
141
- 7178565 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    model: &'a Model,
+
    model: &'a Model,
142
- 7178565 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    rules: &'a Vec<&'a Rule<'a>>,
+
    rules: &'a Vec<&'a Rule<'a>>,
143
- 7178565 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    stats: &mut RewriterStats,
+
    stats: &mut RewriterStats,
144
- 7178565 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
) -> Vec<RuleResult<'a>> {
+
) -> Vec<RuleResult<'a>> {
145
- 7178565 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let mut results = Vec::new();
+
    let mut results = Vec::new();
146
- 222551175 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    for rule in rules {
+
    for rule in rules {
147
- 215372610 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        match rule.apply(expression, model) {
+
        match rule.apply(expression, model) {
148
- 16005 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Ok(red) => {
+
            Ok(red) => {
149
- 16005 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                log::trace!(target: "file", "Rule applicable: {:?}, to Expression: {:?}, resulting in: {:?}", rule, expression, red.new_expression);
+
                log::trace!(target: "file", "Rule applicable: {:?}, to Expression: {:?}, resulting in: {:?}", rule, expression, red.new_expression);
150
- 16005 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                stats.rewriter_rule_application_attempts =
+
                stats.rewriter_rule_application_attempts =
151
- 16005 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    Some(stats.rewriter_rule_application_attempts.unwrap() + 1);
+
                    Some(stats.rewriter_rule_application_attempts.unwrap() + 1);
152
- 16005 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                stats.rewriter_rule_applications =
+
                stats.rewriter_rule_applications =
153
- 16005 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    Some(stats.rewriter_rule_applications.unwrap() + 1);
+
                    Some(stats.rewriter_rule_applications.unwrap() + 1);
154
- 16005 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                // Assert no clean children
+
                // Assert no clean children
155
- 16005 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                // assert!(!red.new_expression.children().iter().any(|c| c.is_clean()), "Rule that caused assertion to fail: {:?}", rule.name);
+
                // assert!(!red.new_expression.children().iter().any(|c| c.is_clean()), "Rule that caused assertion to fail: {:?}", rule.name);
156
- 16005 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                // assert!(!red.new_expression.children().iter().any(|c| c.children().iter().any(|c| c.is_clean())));
+
                // assert!(!red.new_expression.children().iter().any(|c| c.children().iter().any(|c| c.is_clean())));
157
- 16005 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                results.push(RuleResult {
+
                results.push(RuleResult {
158
- 16005 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    rule,
+
                    rule,
159
- 16005 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    reduction: red,
+
                    reduction: red,
160
- 16005 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                });
+
                });
163
- 215356605 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                log::trace!(target: "file", "Rule attempted but not applied: {:?}, to Expression: {:?}", rule, expression);
+
                log::trace!(target: "file", "Rule attempted but not applied: {:?}, to Expression: {:?}", rule, expression);
164
- 215356605 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                stats.rewriter_rule_application_attempts =
+
                stats.rewriter_rule_application_attempts =
165
- 215356605 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    Some(stats.rewriter_rule_application_attempts.unwrap() + 1);
+
                    Some(stats.rewriter_rule_application_attempts.unwrap() + 1);
166
- 215356605 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                continue;
+
                continue;
170
- 7178565 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    results
+
    results
171
- 7178565 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
176
- 7178565 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn choose_rewrite(results: &[RuleResult]) -> Option<Reduction> {
+
fn choose_rewrite(results: &[RuleResult]) -> Option<Reduction> {
177
- 7178565 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    if results.is_empty() {
+
    if results.is_empty() {
178
- 7162650 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        return None;
+
        return None;
179
- 15915 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
180
- 15915 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    // Return the first result for now
+
    // Return the first result for now
181
- 15915 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    Some(results[0].reduction.clone())
+
    Some(results[0].reduction.clone())
182
- 7178565 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
diff --git a/coverage/main/crates/conjure_core/src/rule_engine/rule.rs.html b/coverage/main/crates/conjure_core/src/rule_engine/rule.rs.html index 640514be3..8705f1a61 100644 --- a/coverage/main/crates/conjure_core/src/rule_engine/rule.rs.html +++ b/coverage/main/crates/conjure_core/src/rule_engine/rule.rs.html @@ -15,7 +15,7 @@

Lines

- 56.72 %

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 18.18 %

+ 0 %

@@ -582,13 +582,13 @@ 35
- 20265 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub fn new(new_expression: Expression, new_top: Expression, symbols: SymbolTable) -> Self {
+
    pub fn new(new_expression: Expression, new_top: Expression, symbols: SymbolTable) -> Self {
36
- 20265 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Self {
+
        Self {
37
- 20265 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            new_expression,
+
            new_expression,
38
- 20265 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            new_top,
+
            new_top,
39
- 20265 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            symbols,
+
            symbols,
40
- 20265 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        }
+
        }
41
- 20265 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
44
- 16140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub fn pure(new_expression: Expression) -> Self {
+
    pub fn pure(new_expression: Expression) -> Self {
45
- 16140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Self {
+
        Self {
46
- 16140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            new_expression,
+
            new_expression,
47
- 16140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            new_top: Expression::Nothing,
+
            new_top: Expression::Nothing,
48
- 16140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            symbols: SymbolTable::new(),
+
            symbols: SymbolTable::new(),
49
- 16140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        }
+
        }
50
- 16140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
71
- 15915 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub fn apply(self, model: &mut Model) {
+
    pub fn apply(self, model: &mut Model) {
72
- 15915 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        model.variables.extend(self.symbols); // Add new assignments to the symbol table
+
        model.variables.extend(self.symbols); // Add new assignments to the symbol table
73
- 15915 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        if self.new_top.is_nothing() {
+
        if self.new_top.is_nothing() {
74
- 15780 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            model.constraints = self.new_expression.clone();
+
            model.constraints = self.new_expression.clone();
75
- 15780 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        } else {
+
        } else {
76
- 135 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            model.constraints = match self.new_expression {
+
            model.constraints = match self.new_expression {
77
- 45 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                Expression::And(metadata, mut exprs) => {
+
                Expression::And(metadata, mut exprs) => {
78
- 45 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    // Avoid creating a nested conjunction
+
                    // Avoid creating a nested conjunction
79
- 45 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    exprs.push(self.new_top.clone());
+
                    exprs.push(self.new_top.clone());
80
- 45 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    Expression::And(metadata.clone_dirty(), exprs)
+
                    Expression::And(metadata.clone_dirty(), exprs)
82
- 90 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                _ => Expression::And(
+
                _ => Expression::And(
83
- 90 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    Metadata::new(),
+
                    Metadata::new(),
84
- 90 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    vec![self.new_expression.clone(), self.new_top],
+
                    vec![self.new_expression.clone(), self.new_top],
85
- 90 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                ),
+
                ),
88
- 15915 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
119
- 217468305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub fn apply(&self, expr: &Expression, mdl: &Model) -> ApplicationResult {
+
    pub fn apply(&self, expr: &Expression, mdl: &Model) -> ApplicationResult {
120
- 217468305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        (self.application)(expr, mdl)
+
        (self.application)(expr, mdl)
121
- 217468305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
131
- 108240 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn eq(&self, other: &Self) -> bool {
+
    fn eq(&self, other: &Self) -> bool {
132
- 108240 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        self.name == other.name
+
        self.name == other.name
133
- 108240 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
139
- 179685 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn hash<H: std::hash::Hasher>(&self, state: &mut H) {
+
    fn hash<H: std::hash::Hasher>(&self, state: &mut H) {
140
- 179685 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        self.name.hash(state);
+
        self.name.hash(state);
141
- 179685 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
-

Date: 2024-05-01 08:39

+

Date: 2024-05-27 10:40

diff --git a/coverage/main/crates/conjure_core/src/rule_engine/rule_set.rs.html b/coverage/main/crates/conjure_core/src/rule_engine/rule_set.rs.html index 718599dfd..bb6dc3a8f 100644 --- a/coverage/main/crates/conjure_core/src/rule_engine/rule_set.rs.html +++ b/coverage/main/crates/conjure_core/src/rule_engine/rule_set.rs.html @@ -15,7 +15,7 @@

Lines

- 62.24 %

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 23.33 %

+ 0 %

@@ -774,13 +774,13 @@ 47
- 1290 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub fn get_rules(&self) -> &HashMap<&'a Rule<'a>, u8> {
+
    pub fn get_rules(&self) -> &HashMap<&'a Rule<'a>, u8> {
48
- 1290 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        match self.rules.get() {
+
        match self.rules.get() {
50
- 150 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let rules = self.resolve_rules();
+
                let rules = self.resolve_rules();
51
- 150 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let _ = self.rules.set(rules); // Try to set the rules, but ignore if it fails.
+
                let _ = self.rules.set(rules); // Try to set the rules, but ignore if it fails.
52
- 150 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
53
- 150 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                // At this point, the rules cell is guaranteed to be set, so we can unwrap safely.
+
                // At this point, the rules cell is guaranteed to be set, so we can unwrap safely.
54
- 150 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                // see: https://doc.rust-lang.org/stable/std/sync/struct.OnceLock.html#method.set
+
                // see: https://doc.rust-lang.org/stable/std/sync/struct.OnceLock.html#method.set
55
- 150 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                #[allow(clippy::unwrap_used)]
+
                #[allow(clippy::unwrap_used)]
56
- 150 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                self.rules.get().unwrap()
+
                self.rules.get().unwrap()
58
- 1140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Some(rules) => rules,
+
            Some(rules) => rules,
60
- 1290 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
65
- 750 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub fn get_dependencies(&self) -> &HashSet<&'static RuleSet> {
+
    pub fn get_dependencies(&self) -> &HashSet<&'static RuleSet> {
66
- 750 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        match self.dependencies.get() {
+
        match self.dependencies.get() {
68
- 105 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let dependencies = self.resolve_dependencies();
+
                let dependencies = self.resolve_dependencies();
69
- 105 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let _ = self.dependencies.set(dependencies); // Try to set the dependencies, but ignore if it fails.
+
                let _ = self.dependencies.set(dependencies); // Try to set the dependencies, but ignore if it fails.
70
- 105 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
71
- 105 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                // At this point, the dependencies cell is guaranteed to be set, so we can unwrap safely.
+
                // At this point, the dependencies cell is guaranteed to be set, so we can unwrap safely.
72
- 105 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                // see: https://doc.rust-lang.org/stable/std/sync/struct.OnceLock.html#method.set
+
                // see: https://doc.rust-lang.org/stable/std/sync/struct.OnceLock.html#method.set
73
- 105 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                #[allow(clippy::unwrap_used)]
+
                #[allow(clippy::unwrap_used)]
74
- 105 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                self.dependencies.get().unwrap()
+
                self.dependencies.get().unwrap()
76
- 645 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Some(dependencies) => dependencies,
+
            Some(dependencies) => dependencies,
78
- 750 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
82
- 270 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub fn with_dependencies(&self) -> HashSet<&'static RuleSet> {
+
    pub fn with_dependencies(&self) -> HashSet<&'static RuleSet> {
83
- 270 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let mut deps = self.get_dependencies().clone();
+
        let mut deps = self.get_dependencies().clone();
84
- 270 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        deps.insert(self);
+
        deps.insert(self);
85
- 270 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        deps
+
        deps
86
- 270 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
89
- 150 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn resolve_rules(&self) -> HashMap<&'a Rule<'a>, u8> {
+
    fn resolve_rules(&self) -> HashMap<&'a Rule<'a>, u8> {
90
- 150 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let mut rules = HashMap::new();
+
        let mut rules = HashMap::new();
92
- 5100 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        for rule in get_rules() {
+
        for rule in get_rules() {
93
- 4950 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let mut found = false;
+
            let mut found = false;
94
- 4950 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let mut priority: u8 = 0;
+
            let mut priority: u8 = 0;
96
- 8505 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            for (name, p) in rule.rule_sets {
+
            for (name, p) in rule.rule_sets {
97
- 4950 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                if *name == self.name {
+
                if *name == self.name {
98
- 1395 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    found = true;
+
                    found = true;
99
- 1395 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    priority = *p;
+
                    priority = *p;
100
- 1395 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    break;
+
                    break;
101
- 3555 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                }
+
                }
104
- 4950 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            if found {
+
            if found {
105
- 1395 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                rules.insert(rule, priority);
+
                rules.insert(rule, priority);
106
- 3555 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            }
+
            }
109
- 150 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        rules
+
        rules
110
- 150 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
114
- 165 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn resolve_dependencies(&self) -> HashSet<&'static RuleSet> {
+
    fn resolve_dependencies(&self) -> HashSet<&'static RuleSet> {
115
- 165 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let mut dependencies = HashSet::new();
+
        let mut dependencies = HashSet::new();
117
- 225 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        for dep in self.dependency_rs_names {
+
        for dep in self.dependency_rs_names {
118
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            match get_rule_set_by_name(dep) {
+
            match get_rule_set_by_name(dep) {
125
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                Some(rule_set) => {
+
                Some(rule_set) => {
126
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    if !dependencies.contains(rule_set) {
+
                    if !dependencies.contains(rule_set) {
127
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        // Prevent cycles
+
                        // Prevent cycles
128
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        dependencies.insert(rule_set);
+
                        dependencies.insert(rule_set);
129
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        dependencies.extend(rule_set.resolve_dependencies());
+
                        dependencies.extend(rule_set.resolve_dependencies());
130
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    }
+
                    }
135
- 165 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        dependencies
+
        dependencies
136
- 165 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
140
- 225 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn eq(&self, other: &Self) -> bool {
+
    fn eq(&self, other: &Self) -> bool {
141
- 225 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        self.name == other.name
+
        self.name == other.name
142
- 225 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
148
- 2670 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn hash<H: std::hash::Hasher>(&self, state: &mut H) {
+
    fn hash<H: std::hash::Hasher>(&self, state: &mut H) {
149
- 2670 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        self.name.hash(state);
+
        self.name.hash(state);
150
- 2670 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
-

Date: 2024-05-01 08:39

+

Date: 2024-05-27 10:40

diff --git a/coverage/main/crates/conjure_core/src/rules/base.rs.html b/coverage/main/crates/conjure_core/src/rules/base.rs.html index 18905d44c..2fde55f59 100644 --- a/coverage/main/crates/conjure_core/src/rules/base.rs.html +++ b/coverage/main/crates/conjure_core/src/rules/base.rs.html @@ -14,8 +14,8 @@

Lines

-

- 82.74 %

+

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 15.42 %

+ 0 %

@@ -390,13 +390,13 @@ 23
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 * ...
+
 * ...
24
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 * ```
+
 * ```
25
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
*/
+
*/
27
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn remove_nothings(expr: &Expr, _: &Model) -> ApplicationResult {
+
fn remove_nothings(expr: &Expr, _: &Model) -> ApplicationResult {
28
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn remove_nothings(exprs: Vec<Expr>) -> Result<Vec<Expr>, ApplicationError> {
+
    fn remove_nothings(exprs: Vec<Expr>) -> Result<Vec<Expr>, ApplicationError> {
29
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let mut changed = false;
+
        let mut changed = false;
30
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let mut new_exprs = Vec::new();
+
        let mut new_exprs = Vec::new();
32
- 14662305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        for e in exprs {
+
        for e in exprs {
33
- 7420245 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            match e.clone() {
+
            match e.clone() {
37
- 7420245 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                _ => new_exprs.push(e),
+
                _ => new_exprs.push(e),
41
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        if changed {
+
        if changed {
44
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Err(ApplicationError::RuleNotApplicable)
+
            Err(ApplicationError::RuleNotApplicable)
46
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
58
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let new_sub = remove_nothings(expr.children())?;
+
    let new_sub = remove_nothings(expr.children())?;
78
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
83
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 * [] = Nothing
+
 * [] = Nothing
84
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 * ```
+
 * ```
85
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 */
+
 */
87
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn empty_to_nothing(expr: &Expr, _: &Model) -> ApplicationResult {
+
fn empty_to_nothing(expr: &Expr, _: &Model) -> ApplicationResult {
88
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match expr {
+
    match expr {
90
- 5408265 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Err(ApplicationError::RuleNotApplicable)
+
            Err(ApplicationError::RuleNotApplicable)
93
- 1833795 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            if expr.children().is_empty() {
+
            if expr.children().is_empty() {
96
- 1833795 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                Err(ApplicationError::RuleNotApplicable)
+
                Err(ApplicationError::RuleNotApplicable)
100
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
105
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 * sum([1, 2, 3]) = 6
+
 * sum([1, 2, 3]) = 6
106
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 * ```
+
 * ```
107
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 */
+
 */
109
- 7242105 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn sum_constants(expr: &Expr, _: &Model) -> ApplicationResult {
+
fn sum_constants(expr: &Expr, _: &Model) -> ApplicationResult {
110
- 7242105 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match expr {
+
    match expr {
111
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::Sum(_, exprs) => {
+
        Expr::Sum(_, exprs) => {
112
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let mut sum = 0;
+
            let mut sum = 0;
113
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let mut new_exprs = Vec::new();
+
            let mut new_exprs = Vec::new();
114
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let mut changed = false;
+
            let mut changed = false;
115
- 225 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            for e in exprs {
+
            for e in exprs {
116
- 120 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                match e {
+
                match e {
117
- 120 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    Expr::Constant(_metadata, Const::Int(i)) => {
+
                    Expr::Constant(_metadata, Const::Int(i)) => {
118
- 120 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        sum += i;
+
                        sum += i;
119
- 120 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        changed = true;
+
                        changed = true;
120
- 120 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    }
+
                    }
121
- 45 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    _ => new_exprs.push(e.clone()),
+
                    _ => new_exprs.push(e.clone()),
124
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            if !changed {
+
            if !changed {
125
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                return Err(ApplicationError::RuleNotApplicable);
+
                return Err(ApplicationError::RuleNotApplicable);
126
- 45 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            }
+
            }
127
- 45 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            // TODO (kf77): Get existing metadata instead of creating a new one
+
            // TODO (kf77): Get existing metadata instead of creating a new one
128
- 45 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            new_exprs.push(Expr::Constant(Metadata::new(), Const::Int(sum)));
+
            new_exprs.push(Expr::Constant(Metadata::new(), Const::Int(sum)));
129
- 45 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Ok(Reduction::pure(Expr::Sum(Metadata::new(), new_exprs))) // Let other rules handle only one Expr being contained in the sum
+
            Ok(Reduction::pure(Expr::Sum(Metadata::new(), new_exprs))) // Let other rules handle only one Expr being contained in the sum
131
- 7242045 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        _ => Err(ApplicationError::RuleNotApplicable),
+
        _ => Err(ApplicationError::RuleNotApplicable),
133
- 7242105 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
138
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 * sum([a]) = a
+
 * sum([a]) = a
139
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 * ```
+
 * ```
140
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 */
+
 */
142
- 7242090 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn unwrap_sum(expr: &Expr, _: &Model) -> ApplicationResult {
+
fn unwrap_sum(expr: &Expr, _: &Model) -> ApplicationResult {
143
- 45 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match expr {
+
    match expr {
144
- 45 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::Sum(_, exprs) if (exprs.len() == 1) => Ok(Reduction::pure(exprs[0].clone())),
+
        Expr::Sum(_, exprs) if (exprs.len() == 1) => Ok(Reduction::pure(exprs[0].clone())),
145
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        _ => Err(ApplicationError::RuleNotApplicable),
+
        _ => Err(ApplicationError::RuleNotApplicable),
147
- 7242090 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
152
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 * sum(sum(a, b), c) = sum(a, b, c)
+
 * sum(sum(a, b), c) = sum(a, b, c)
153
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 * ```
+
 * ```
154
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 */
+
 */
156
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
pub fn flatten_nested_sum(expr: &Expr, _: &Model) -> ApplicationResult {
+
pub fn flatten_nested_sum(expr: &Expr, _: &Model) -> ApplicationResult {
157
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match expr {
+
    match expr {
158
- 15 -
-
-
        Expr::Sum(metadata, exprs) => {
+ class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> + +
+
+
        Expr::Sum(metadata, exprs) => {
159
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let mut new_exprs = Vec::new();
+
            let mut new_exprs = Vec::new();
160
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let mut changed = false;
+
            let mut changed = false;
161
- 45 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            for e in exprs {
+
            for e in exprs {
162
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                match e {
+
                match e {
163
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    Expr::Sum(_, sub_exprs) => {
+
                    Expr::Sum(_, sub_exprs) => {
164
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        changed = true;
+
                        changed = true;
165
- 45 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        for e in sub_exprs {
+
                        for e in sub_exprs {
166
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                            new_exprs.push(e.clone());
+
                            new_exprs.push(e.clone());
167
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        }
+
                        }
169
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    _ => new_exprs.push(e.clone()),
+
                    _ => new_exprs.push(e.clone()),
172
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            if !changed {
+
            if !changed {
174
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            }
+
            }
175
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Ok(Reduction::pure(Expr::Sum(
+
            Ok(Reduction::pure(Expr::Sum(
176
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                metadata.clone_dirty(),
+
                metadata.clone_dirty(),
177
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                new_exprs,
+
                new_exprs,
178
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            )))
+
            )))
180
- 7242045 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        _ => Err(ApplicationError::RuleNotApplicable),
+
        _ => Err(ApplicationError::RuleNotApplicable),
182
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
188
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
* or(or(a, b), c) = or(a, b, c)
+
* or(or(a, b), c) = or(a, b, c)
189
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
* ```
+
* ```
190
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 */
+
 */
192
- 7242090 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn unwrap_nested_or(expr: &Expr, _: &Model) -> ApplicationResult {
+
fn unwrap_nested_or(expr: &Expr, _: &Model) -> ApplicationResult {
193
- 7242090 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match expr {
+
    match expr {
194
- 377400 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::Or(metadata, exprs) => {
+
        Expr::Or(metadata, exprs) => {
195
- 377400 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let mut new_exprs = Vec::new();
+
            let mut new_exprs = Vec::new();
196
- 377400 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let mut changed = false;
+
            let mut changed = false;
197
- 1845210 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            for e in exprs {
+
            for e in exprs {
198
- 1467810 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                match e {
+
                match e {
199
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    Expr::Or(_, exprs) => {
+
                    Expr::Or(_, exprs) => {
200
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        changed = true;
+
                        changed = true;
201
- 45 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        for e in exprs {
+
                        for e in exprs {
202
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                            new_exprs.push(e.clone());
+
                            new_exprs.push(e.clone());
203
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        }
+
                        }
205
- 1467795 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    _ => new_exprs.push(e.clone()),
+
                    _ => new_exprs.push(e.clone()),
208
- 377400 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            if !changed {
+
            if !changed {
209
- 377385 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                return Err(ApplicationError::RuleNotApplicable);
+
                return Err(ApplicationError::RuleNotApplicable);
210
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            }
+
            }
211
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Ok(Reduction::pure(Expr::Or(metadata.clone_dirty(), new_exprs)))
+
            Ok(Reduction::pure(Expr::Or(metadata.clone_dirty(), new_exprs)))
213
- 6864690 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        _ => Err(ApplicationError::RuleNotApplicable),
+
        _ => Err(ApplicationError::RuleNotApplicable),
215
- 7242090 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
221
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
* and(and(a, b), c) = and(a, b, c)
+
* and(and(a, b), c) = and(a, b, c)
222
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
* ```
+
* ```
223
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 */
+
 */
225
- 7242090 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn unwrap_nested_and(expr: &Expr, _: &Model) -> ApplicationResult {
+
fn unwrap_nested_and(expr: &Expr, _: &Model) -> ApplicationResult {
226
- 7242090 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match expr {
+
    match expr {
227
- 15855 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::And(metadata, exprs) => {
+
        Expr::And(metadata, exprs) => {
228
- 15855 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let mut new_exprs = Vec::new();
+
            let mut new_exprs = Vec::new();
229
- 15855 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let mut changed = false;
+
            let mut changed = false;
230
- 536700 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            for e in exprs {
+
            for e in exprs {
231
- 520845 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                match e {
+
                match e {
232
- 3585 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    Expr::And(_, exprs) => {
+
                    Expr::And(_, exprs) => {
233
- 3585 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        changed = true;
+
                        changed = true;
234
- 10725 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        for e in exprs {
+
                        for e in exprs {
235
- 7140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                            new_exprs.push(e.clone());
+
                            new_exprs.push(e.clone());
236
- 7140 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        }
+
                        }
238
- 517260 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    _ => new_exprs.push(e.clone()),
+
                    _ => new_exprs.push(e.clone()),
241
- 15855 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            if !changed {
+
            if !changed {
242
- 12270 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                return Err(ApplicationError::RuleNotApplicable);
+
                return Err(ApplicationError::RuleNotApplicable);
243
- 3585 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            }
+
            }
244
- 3585 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Ok(Reduction::pure(Expr::And(
+
            Ok(Reduction::pure(Expr::And(
245
- 3585 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                metadata.clone_dirty(),
+
                metadata.clone_dirty(),
246
- 3585 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                new_exprs,
+
                new_exprs,
247
- 3585 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            )))
+
            )))
249
- 7226235 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        _ => Err(ApplicationError::RuleNotApplicable),
+
        _ => Err(ApplicationError::RuleNotApplicable),
251
- 7242090 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
257
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
* not(not(a)) = a
+
* not(not(a)) = a
258
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
* ```
+
* ```
259
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 */
+
 */
261
- 7242075 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn remove_double_negation(expr: &Expr, _: &Model) -> ApplicationResult {
+
fn remove_double_negation(expr: &Expr, _: &Model) -> ApplicationResult {
262
- 7242075 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match expr {
+
    match expr {
263
- 135 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::Not(_, contents) => match contents.as_ref() {
+
        Expr::Not(_, contents) => match contents.as_ref() {
264
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Expr::Not(_, expr_box) => Ok(Reduction::pure(*expr_box.clone())),
+
            Expr::Not(_, expr_box) => Ok(Reduction::pure(*expr_box.clone())),
265
- 120 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            _ => Err(ApplicationError::RuleNotApplicable),
+
            _ => Err(ApplicationError::RuleNotApplicable),
267
- 7241940 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        _ => Err(ApplicationError::RuleNotApplicable),
+
        _ => Err(ApplicationError::RuleNotApplicable),
269
- 7242075 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
274
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 * and([a]) = a
+
 * and([a]) = a
275
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 * ```
+
 * ```
276
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 */
+
 */
278
- 7242075 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn remove_trivial_and(expr: &Expr, _: &Model) -> ApplicationResult {
+
fn remove_trivial_and(expr: &Expr, _: &Model) -> ApplicationResult {
279
- 7242075 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match expr {
+
    match expr {
280
- 15840 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::And(_, exprs) => {
+
        Expr::And(_, exprs) => {
281
- 15840 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            if exprs.len() == 1 {
+
            if exprs.len() == 1 {
282
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                return Ok(Reduction::pure(exprs[0].clone()));
+
                return Ok(Reduction::pure(exprs[0].clone()));
283
- 15825 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            }
+
            }
284
- 15825 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Err(ApplicationError::RuleNotApplicable)
+
            Err(ApplicationError::RuleNotApplicable)
286
- 7226235 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        _ => Err(ApplicationError::RuleNotApplicable),
+
        _ => Err(ApplicationError::RuleNotApplicable),
288
- 7242075 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
293
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 * or([a]) = a
+
 * or([a]) = a
294
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 * ```
+
 * ```
295
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 */
+
 */
297
- 7242075 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn remove_trivial_or(expr: &Expr, _: &Model) -> ApplicationResult {
+
fn remove_trivial_or(expr: &Expr, _: &Model) -> ApplicationResult {
298
- 7242075 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match expr {
+
    match expr {
299
- 377385 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::Or(_, exprs) => {
+
        Expr::Or(_, exprs) => {
300
- 377385 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            if exprs.len() == 1 {
+
            if exprs.len() == 1 {
301
- 105 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                return Ok(Reduction::pure(exprs[0].clone()));
+
                return Ok(Reduction::pure(exprs[0].clone()));
302
- 377280 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            }
+
            }
303
- 377280 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Err(ApplicationError::RuleNotApplicable)
+
            Err(ApplicationError::RuleNotApplicable)
305
- 6864690 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        _ => Err(ApplicationError::RuleNotApplicable),
+
        _ => Err(ApplicationError::RuleNotApplicable),
307
- 7242075 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
313
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 * or([false, a]) = a
+
 * or([false, a]) = a
314
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 * ```
+
 * ```
315
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 */
+
 */
317
- 7242090 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn remove_constants_from_or(expr: &Expr, _: &Model) -> ApplicationResult {
+
fn remove_constants_from_or(expr: &Expr, _: &Model) -> ApplicationResult {
318
- 7242090 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match expr {
+
    match expr {
319
- 377400 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::Or(metadata, exprs) => {
+
        Expr::Or(metadata, exprs) => {
320
- 377400 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let mut new_exprs = Vec::new();
+
            let mut new_exprs = Vec::new();
321
- 377400 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let mut changed = false;
+
            let mut changed = false;
322
- 1845180 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            for e in exprs {
+
            for e in exprs {
323
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                match e {
+
                match e {
324
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    Expr::Constant(metadata, Const::Bool(val)) => {
+
                    Expr::Constant(metadata, Const::Bool(val)) => {
325
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        if *val {
+
                        if *val {
327
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                            return Ok(Reduction::pure(Expr::Constant(
+
                            return Ok(Reduction::pure(Expr::Constant(
328
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                                metadata.clone_dirty(),
+
                                metadata.clone_dirty(),
329
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                                Const::Bool(true),
+
                                Const::Bool(true),
330
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                            )));
+
                            )));
336
- 1467780 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    _ => new_exprs.push(e.clone()),
+
                    _ => new_exprs.push(e.clone()),
339
- 377385 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            if !changed {
+
            if !changed {
340
- 377385 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                return Err(ApplicationError::RuleNotApplicable);
+
                return Err(ApplicationError::RuleNotApplicable);
344
- 6864690 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        _ => Err(ApplicationError::RuleNotApplicable),
+
        _ => Err(ApplicationError::RuleNotApplicable),
346
- 7242090 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
352
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 * and([false, a]) = false
+
 * and([false, a]) = false
353
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 * ```
+
 * ```
354
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 */
+
 */
356
- 7242090 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn remove_constants_from_and(expr: &Expr, _: &Model) -> ApplicationResult {
+
fn remove_constants_from_and(expr: &Expr, _: &Model) -> ApplicationResult {
357
- 7242090 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match expr {
+
    match expr {
358
- 15855 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::And(metadata, exprs) => {
+
        Expr::And(metadata, exprs) => {
359
- 15855 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let mut new_exprs = Vec::new();
+
            let mut new_exprs = Vec::new();
360
- 15855 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let mut changed = false;
+
            let mut changed = false;
361
- 536685 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            for e in exprs {
+
            for e in exprs {
362
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                match e {
+
                match e {
363
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    Expr::Constant(metadata, Const::Bool(val)) => {
+
                    Expr::Constant(metadata, Const::Bool(val)) => {
364
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        if !*val {
+
                        if !*val {
366
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                            return Ok(Reduction::pure(Expr::Constant(
+
                            return Ok(Reduction::pure(Expr::Constant(
367
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                                metadata.clone_dirty(),
+
                                metadata.clone_dirty(),
368
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                                Const::Bool(false),
+
                                Const::Bool(false),
369
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                            )));
+
                            )));
370
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        } else {
+
                        } else {
371
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                            // If we find a true, we can ignore it
+
                            // If we find a true, we can ignore it
372
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                            changed = true;
+
                            changed = true;
373
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        }
+
                        }
375
- 520815 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    _ => new_exprs.push(e.clone()),
+
                    _ => new_exprs.push(e.clone()),
378
- 15840 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            if !changed {
+
            if !changed {
379
- 15840 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                return Err(ApplicationError::RuleNotApplicable);
+
                return Err(ApplicationError::RuleNotApplicable);
386
- 7226235 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        _ => Err(ApplicationError::RuleNotApplicable),
+
        _ => Err(ApplicationError::RuleNotApplicable),
388
- 7242090 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
394
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 * not(false) = true
+
 * not(false) = true
395
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 * ```
+
 * ```
396
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 */
+
 */
398
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn evaluate_constant_not(expr: &Expr, _: &Model) -> ApplicationResult {
+
fn evaluate_constant_not(expr: &Expr, _: &Model) -> ApplicationResult {
399
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match expr {
+
    match expr {
400
- 120 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::Not(_, contents) => match contents.as_ref() {
+
        Expr::Not(_, contents) => match contents.as_ref() {
405
- 120 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            _ => Err(ApplicationError::RuleNotApplicable),
+
            _ => Err(ApplicationError::RuleNotApplicable),
407
- 7241940 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        _ => Err(ApplicationError::RuleNotApplicable),
+
        _ => Err(ApplicationError::RuleNotApplicable),
409
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
414
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 * min([a, b]) ~> c ; c <= a & c <= b & (c = a | c = b)
+
 * min([a, b]) ~> c ; c <= a & c <= b & (c = a | c = b)
415
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 * ```
+
 * ```
416
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 */
+
 */
418
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn min_to_var(expr: &Expr, mdl: &Model) -> ApplicationResult {
+
fn min_to_var(expr: &Expr, mdl: &Model) -> ApplicationResult {
419
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match expr {
+
    match expr {
420
- 75 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::Min(metadata, exprs) => {
+
        Expr::Min(metadata, exprs) => {
421
- 75 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let new_name = mdl.gensym();
+
            let new_name = mdl.gensym();
422
- 75 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
423
- 75 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let mut new_top = Vec::new(); // the new variable must be less than or equal to all the other variables
+
            let mut new_top = Vec::new(); // the new variable must be less than or equal to all the other variables
424
- 75 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let mut disjunction = Vec::new(); // the new variable must be equal to one of the variables
+
            let mut disjunction = Vec::new(); // the new variable must be equal to one of the variables
425
- 225 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            for e in exprs {
+
            for e in exprs {
426
- 150 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                new_top.push(Expr::Leq(
+
                new_top.push(Expr::Leq(
427
- 150 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    Metadata::new(),
+
                    Metadata::new(),
428
- 150 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    Box::new(Expr::Reference(Metadata::new(), new_name.clone())),
+
                    Box::new(Expr::Reference(Metadata::new(), new_name.clone())),
429
- 150 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    Box::new(e.clone()),
+
                    Box::new(e.clone()),
430
- 150 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                ));
+
                ));
431
- 150 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                disjunction.push(Expr::Eq(
+
                disjunction.push(Expr::Eq(
432
- 150 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    Metadata::new(),
+
                    Metadata::new(),
433
- 150 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    Box::new(Expr::Reference(Metadata::new(), new_name.clone())),
+
                    Box::new(Expr::Reference(Metadata::new(), new_name.clone())),
434
- 150 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    Box::new(e.clone()),
+
                    Box::new(e.clone()),
435
- 150 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                ));
+
                ));
436
- 150 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            }
+
            }
437
- 75 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            new_top.push(Expr::Or(Metadata::new(), disjunction));
+
            new_top.push(Expr::Or(Metadata::new(), disjunction));
438
- 75 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
439
- 75 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let mut new_vars = SymbolTable::new();
+
            let mut new_vars = SymbolTable::new();
440
- 75 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let domain = expr
+
            let domain = expr
441
- 75 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                .domain_of(&mdl.variables)
+
                .domain_of(&mdl.variables)
442
- 75 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                .ok_or(ApplicationError::DomainError)?;
+
                .ok_or(ApplicationError::DomainError)?;
443
- 75 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            new_vars.insert(new_name.clone(), DecisionVariable::new(domain));
+
            new_vars.insert(new_name.clone(), DecisionVariable::new(domain));
444
- 75 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
445
- 75 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Ok(Reduction::new(
+
            Ok(Reduction::new(
446
- 75 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                Expr::Reference(Metadata::new(), new_name),
+
                Expr::Reference(Metadata::new(), new_name),
447
- 75 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                Expr::And(metadata.clone_dirty(), new_top),
+
                Expr::And(metadata.clone_dirty(), new_top),
448
- 75 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                new_vars,
+
                new_vars,
449
- 75 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            ))
+
            ))
451
- 7241985 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        _ => Err(ApplicationError::RuleNotApplicable),
+
        _ => Err(ApplicationError::RuleNotApplicable),
453
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
459
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
* or(and(a, b), c) = and(or(a, c), or(b, c))
+
* or(and(a, b), c) = and(or(a, c), or(b, c))
460
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
* ```
+
* ```
461
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 */
+
 */
463
- 7242075 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn distribute_or_over_and(expr: &Expr, _: &Model) -> ApplicationResult {
+
fn distribute_or_over_and(expr: &Expr, _: &Model) -> ApplicationResult {
464
- 7242075 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn find_and(exprs: &[Expr]) -> Option<usize> {
+
    fn find_and(exprs: &[Expr]) -> Option<usize> {
465
- 7242075 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        // ToDo: may be better to move this to some kind of utils module?
+
        // ToDo: may be better to move this to some kind of utils module?
466
- 7242075 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        for (i, e) in exprs.iter().enumerate() {
+
        for (i, e) in exprs.iter().enumerate() {
467
- 7242075 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            if let Expr::And(_, _) = e {
+
            if let Expr::And(_, _) = e {
468
- 7242075 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                return Some(i);
+
                return Some(i);
469
- 7242075 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            }
+
            }
470
- 7242075 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        }
+
        }
471
- 7242075 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        None
+
        None
472
- 7242075 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
473
- 7242075 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
474
- 7242075 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match expr {
+
    match expr {
475
- 377385 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::Or(_, exprs) => match find_and(exprs) {
+
        Expr::Or(_, exprs) => match find_and(exprs) {
476
- 3465 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Some(idx) => {
+
            Some(idx) => {
477
- 3465 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let mut rest = exprs.clone();
+
                let mut rest = exprs.clone();
478
- 3465 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let and_expr = rest.remove(idx);
+
                let and_expr = rest.remove(idx);
479
- 3465 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
480
- 3465 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                match and_expr {
+
                match and_expr {
481
- 3465 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    Expr::And(metadata, and_exprs) => {
+
                    Expr::And(metadata, and_exprs) => {
482
- 3465 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        let mut new_and_contents = Vec::new();
+
                        let mut new_and_contents = Vec::new();
484
- 10395 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        for e in and_exprs {
+
                        for e in and_exprs {
486
- 6930 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                            let mut new_or_contents = rest.clone();
+
                            let mut new_or_contents = rest.clone();
487
- 6930 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                            new_or_contents.push(e.clone());
+
                            new_or_contents.push(e.clone());
488
- 6930 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                            new_and_contents.push(Expr::Or(metadata.clone_dirty(), new_or_contents))
+
                            new_and_contents.push(Expr::Or(metadata.clone_dirty(), new_or_contents))
491
- 3465 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        Ok(Reduction::pure(Expr::And(
+
                        Ok(Reduction::pure(Expr::And(
492
- 3465 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                            metadata.clone_dirty(),
+
                            metadata.clone_dirty(),
493
- 3465 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                            new_and_contents,
+
                            new_and_contents,
494
- 3465 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        )))
+
                        )))
499
- 373920 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            None => Err(ApplicationError::RuleNotApplicable),
+
            None => Err(ApplicationError::RuleNotApplicable),
501
- 6864690 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        _ => Err(ApplicationError::RuleNotApplicable),
+
        _ => Err(ApplicationError::RuleNotApplicable),
503
- 7242075 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
509
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
* not(and(a, b)) = or(not a, not b)
+
* not(and(a, b)) = or(not a, not b)
510
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
* ```
+
* ```
511
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 */
+
 */
513
- 7242090 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn distribute_not_over_and(expr: &Expr, _: &Model) -> ApplicationResult {
+
fn distribute_not_over_and(expr: &Expr, _: &Model) -> ApplicationResult {
514
- 7242090 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match expr {
+
    match expr {
515
- 150 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::Not(_, contents) => match contents.as_ref() {
+
        Expr::Not(_, contents) => match contents.as_ref() {
516
- 45 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Expr::And(metadata, exprs) => {
+
            Expr::And(metadata, exprs) => {
517
- 45 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                if exprs.len() == 1 {
+
                if exprs.len() == 1 {
518
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    let single_expr = exprs[0].clone();
+
                    let single_expr = exprs[0].clone();
519
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    return Ok(Reduction::pure(Expr::Not(
+
                    return Ok(Reduction::pure(Expr::Not(
520
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        Metadata::new(),
+
                        Metadata::new(),
521
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        Box::new(single_expr.clone()),
+
                        Box::new(single_expr.clone()),
522
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    )));
+
                    )));
523
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                }
+
                }
524
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let mut new_exprs = Vec::new();
+
                let mut new_exprs = Vec::new();
525
- 90 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                for e in exprs {
+
                for e in exprs {
526
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    new_exprs.push(Expr::Not(metadata.clone(), Box::new(e.clone())));
+
                    new_exprs.push(Expr::Not(metadata.clone(), Box::new(e.clone())));
527
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                }
+
                }
528
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                Ok(Reduction::pure(Expr::Or(metadata.clone(), new_exprs)))
+
                Ok(Reduction::pure(Expr::Or(metadata.clone(), new_exprs)))
530
- 105 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            _ => Err(ApplicationError::RuleNotApplicable),
+
            _ => Err(ApplicationError::RuleNotApplicable),
532
- 7241940 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        _ => Err(ApplicationError::RuleNotApplicable),
+
        _ => Err(ApplicationError::RuleNotApplicable),
534
- 7242090 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
540
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
* not(or(a, b)) = and(not a, not b)
+
* not(or(a, b)) = and(not a, not b)
541
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
* ```
+
* ```
542
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 */
+
 */
544
- 7242090 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn distribute_not_over_or(expr: &Expr, _: &Model) -> ApplicationResult {
+
fn distribute_not_over_or(expr: &Expr, _: &Model) -> ApplicationResult {
545
- 7242090 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match expr {
+
    match expr {
546
- 150 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::Not(_, contents) => match contents.as_ref() {
+
        Expr::Not(_, contents) => match contents.as_ref() {
547
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Expr::Or(metadata, exprs) => {
+
            Expr::Or(metadata, exprs) => {
548
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                if exprs.len() == 1 {
+
                if exprs.len() == 1 {
554
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                }
+
                }
555
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let mut new_exprs = Vec::new();
+
                let mut new_exprs = Vec::new();
556
- 45 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                for e in exprs {
+
                for e in exprs {
557
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    new_exprs.push(Expr::Not(metadata.clone(), Box::new(e.clone())));
+
                    new_exprs.push(Expr::Not(metadata.clone(), Box::new(e.clone())));
558
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                }
+
                }
559
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                Ok(Reduction::pure(Expr::And(metadata.clone(), new_exprs)))
+
                Ok(Reduction::pure(Expr::And(metadata.clone(), new_exprs)))
561
- 135 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            _ => Err(ApplicationError::RuleNotApplicable),
+
            _ => Err(ApplicationError::RuleNotApplicable),
563
- 7241940 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        _ => Err(ApplicationError::RuleNotApplicable),
+
        _ => Err(ApplicationError::RuleNotApplicable),
565
- 7242090 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
diff --git a/coverage/main/crates/conjure_core/src/rules/bubble.rs.html b/coverage/main/crates/conjure_core/src/rules/bubble.rs.html index aeb686b1d..c4d5b5112 100644 --- a/coverage/main/crates/conjure_core/src/rules/bubble.rs.html +++ b/coverage/main/crates/conjure_core/src/rules/bubble.rs.html @@ -14,8 +14,8 @@

Lines

-

- 91.49 %

+

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 6.67 %

+ 0 %

@@ -326,13 +326,13 @@ 19
- 68715 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn expand_bubble(expr: &Expression, _: &Model) -> ApplicationResult {
+
fn expand_bubble(expr: &Expression, _: &Model) -> ApplicationResult {
20
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match expr {
+
    match expr {
21
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expression::Bubble(_, a, b) if a.return_type() == Some(ReturnType::Bool) => {
+
        Expression::Bubble(_, a, b) if a.return_type() == Some(ReturnType::Bool) => {
22
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Ok(Reduction::pure(Expression::And(
+
            Ok(Reduction::pure(Expression::And(
23
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                Metadata::new(),
+
                Metadata::new(),
24
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                vec![*a.clone(), *b.clone()],
+
                vec![*a.clone(), *b.clone()],
25
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            )))
+
            )))
27
- 68655 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        _ => Err(ApplicationError::RuleNotApplicable),
+
        _ => Err(ApplicationError::RuleNotApplicable),
29
- 68715 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
37
- 68715 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn bubble_up(expr: &Expression, _: &Model) -> ApplicationResult {
+
fn bubble_up(expr: &Expression, _: &Model) -> ApplicationResult {
38
- 68715 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let mut sub = expr.children();
+
    let mut sub = expr.children();
39
- 68715 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let mut bubbled_conditions = vec![];
+
    let mut bubbled_conditions = vec![];
40
- 69840 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    for e in sub.iter_mut() {
+
    for e in sub.iter_mut() {
41
- 69840 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        if let Expression::Bubble(_, a, b) = e {
+
        if let Expression::Bubble(_, a, b) = e {
42
- 75 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            if a.return_type() != Some(ReturnType::Bool) {
+
            if a.return_type() != Some(ReturnType::Bool) {
43
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                bubbled_conditions.push(*b.clone());
+
                bubbled_conditions.push(*b.clone());
44
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                *e = *a.clone();
+
                *e = *a.clone();
45
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            }
+
            }
46
- 69765 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        }
+
        }
48
- 68715 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    if bubbled_conditions.is_empty() {
+
    if bubbled_conditions.is_empty() {
49
- 68655 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        return Err(ApplicationError::RuleNotApplicable);
+
        return Err(ApplicationError::RuleNotApplicable);
50
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
51
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    return Ok(Reduction::pure(Expression::Bubble(
+
    return Ok(Reduction::pure(Expression::Bubble(
52
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Metadata::new(),
+
        Metadata::new(),
53
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Box::new(
+
        Box::new(
54
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            expr.with_children(sub)
+
            expr.with_children(sub)
55
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                .or(Err(ApplicationError::RuleNotApplicable))?,
+
                .or(Err(ApplicationError::RuleNotApplicable))?,
57
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Box::new(Expression::And(Metadata::new(), bubbled_conditions)),
+
        Box::new(Expression::And(Metadata::new(), bubbled_conditions)),
59
- 68715 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
73
- 68715 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn div_to_bubble(expr: &Expression, _: &Model) -> ApplicationResult {
+
fn div_to_bubble(expr: &Expression, _: &Model) -> ApplicationResult {
74
- 68715 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    if let Expression::UnsafeDiv(_, a, b) = expr {
+
    if let Expression::UnsafeDiv(_, a, b) = expr {
75
- 75 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        return Ok(Reduction::pure(Expression::Bubble(
+
        return Ok(Reduction::pure(Expression::Bubble(
76
- 75 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Metadata::new(),
+
            Metadata::new(),
77
- 75 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Box::new(Expression::SafeDiv(Metadata::new(), a.clone(), b.clone())),
+
            Box::new(Expression::SafeDiv(Metadata::new(), a.clone(), b.clone())),
78
- 75 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Box::new(Expression::Neq(
+
            Box::new(Expression::Neq(
79
- 75 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                Metadata::new(),
+
                Metadata::new(),
80
- 75 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                b.clone(),
+
                b.clone(),
81
- 75 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                Box::new(Expression::from(0)),
+
                Box::new(Expression::from(0)),
82
- 75 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            )),
+
            )),
83
- 75 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        )));
+
        )));
84
- 68640 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
85
- 68640 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    return Err(ApplicationError::RuleNotApplicable);
+
    return Err(ApplicationError::RuleNotApplicable);
86
- 68715 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
diff --git a/coverage/main/crates/conjure_core/src/rules/cnf.rs.html b/coverage/main/crates/conjure_core/src/rules/cnf.rs.html index 5b97f9ef1..56096e3b3 100644 --- a/coverage/main/crates/conjure_core/src/rules/cnf.rs.html +++ b/coverage/main/crates/conjure_core/src/rules/cnf.rs.html @@ -23,7 +23,7 @@

Functions

- 0 %

+ 0 %

@@ -226,7 +226,7 @@ diff --git a/coverage/main/crates/conjure_core/src/rules/constant.rs.html b/coverage/main/crates/conjure_core/src/rules/constant.rs.html index 8b9b9cacb..cde0d7932 100644 --- a/coverage/main/crates/conjure_core/src/rules/constant.rs.html +++ b/coverage/main/crates/conjure_core/src/rules/constant.rs.html @@ -14,8 +14,8 @@

Lines

-

- 92.04 %

+

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 20.8 %

+ 0 %

@@ -198,13 +198,13 @@ 11
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn apply_eval_constant(expr: &Expr, _: &Model) -> ApplicationResult {
+
fn apply_eval_constant(expr: &Expr, _: &Model) -> ApplicationResult {
12
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    if expr.is_constant() {
+
    if expr.is_constant() {
13
- 1431540 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        return Err(ApplicationError::RuleNotApplicable);
+
        return Err(ApplicationError::RuleNotApplicable);
14
- 5810520 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
15
- 5810520 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    eval_constant(expr)
+
    eval_constant(expr)
16
- 5810520 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .map(|c| Reduction::pure(Expr::Constant(Metadata::new(), c)))
+
        .map(|c| Reduction::pure(Expr::Constant(Metadata::new(), c)))
17
- 5810520 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .ok_or(ApplicationError::RuleNotApplicable)
+
        .ok_or(ApplicationError::RuleNotApplicable)
18
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
24
- 8071519 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
pub fn eval_constant(expr: &Expr) -> Option<Const> {
+
pub fn eval_constant(expr: &Expr) -> Option<Const> {
25
- 8071519 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match expr {
+
    match expr {
26
- 902 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::Constant(_, c) => Some(c.clone()),
+
        Expr::Constant(_, c) => Some(c.clone()),
27
- 5812530 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::Reference(_, _) => None,
+
        Expr::Reference(_, _) => None,
28
- 6690 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::Eq(_, a, b) => bin_op::<i32, bool>(|a, b| a == b, a, b)
+
        Expr::Eq(_, a, b) => bin_op::<i32, bool>(|a, b| a == b, a, b)
29
- 6690 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            .or_else(|| bin_op::<bool, bool>(|a, b| a == b, a, b))
+
            .or_else(|| bin_op::<bool, bool>(|a, b| a == b, a, b))
30
- 6690 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            .map(Const::Bool),
+
            .map(Const::Bool),
31
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::Neq(_, a, b) => bin_op::<i32, bool>(|a, b| a != b, a, b).map(Const::Bool),
+
        Expr::Neq(_, a, b) => bin_op::<i32, bool>(|a, b| a != b, a, b).map(Const::Bool),
32
- 4185 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::Lt(_, a, b) => bin_op::<i32, bool>(|a, b| a < b, a, b).map(Const::Bool),
+
        Expr::Lt(_, a, b) => bin_op::<i32, bool>(|a, b| a < b, a, b).map(Const::Bool),
34
- 195 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::Leq(_, a, b) => bin_op::<i32, bool>(|a, b| a <= b, a, b).map(Const::Bool),
+
        Expr::Leq(_, a, b) => bin_op::<i32, bool>(|a, b| a <= b, a, b).map(Const::Bool),
35
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::Geq(_, a, b) => bin_op::<i32, bool>(|a, b| a >= b, a, b).map(Const::Bool),
+
        Expr::Geq(_, a, b) => bin_op::<i32, bool>(|a, b| a >= b, a, b).map(Const::Bool),
37
- 180 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::Not(_, expr) => un_op::<bool, bool>(|e| !e, expr).map(Const::Bool),
+
        Expr::Not(_, expr) => un_op::<bool, bool>(|e| !e, expr).map(Const::Bool),
39
- 19170 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::And(_, exprs) => {
+
        Expr::And(_, exprs) => {
40
- 19170 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            vec_op::<bool, bool>(|e| e.iter().all(|&e| e), exprs).map(Const::Bool)
+
            vec_op::<bool, bool>(|e| e.iter().all(|&e| e), exprs).map(Const::Bool)
42
- 392340 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::Or(_, exprs) => {
+
        Expr::Or(_, exprs) => {
43
- 392340 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            vec_op::<bool, bool>(|e| e.iter().any(|&e| e), exprs).map(Const::Bool)
+
            vec_op::<bool, bool>(|e| e.iter().any(|&e| e), exprs).map(Const::Bool)
46
- 11970 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::Sum(_, exprs) => vec_op::<i32, i32>(|e| e.iter().sum(), exprs).map(Const::Int),
+
        Expr::Sum(_, exprs) => vec_op::<i32, i32>(|e| e.iter().sum(), exprs).map(Const::Int),
48
- 552990 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::Ineq(_, a, b, c) => {
+
        Expr::Ineq(_, a, b, c) => {
49
- 552990 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            tern_op::<i32, bool>(|a, b, c| a <= (b + c), a, b, c).map(Const::Bool)
+
            tern_op::<i32, bool>(|a, b, c| a <= (b + c), a, b, c).map(Const::Bool)
52
- 653070 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::SumGeq(_, exprs, a) => {
+
        Expr::SumGeq(_, exprs, a) => {
53
- 653070 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            flat_op::<i32, bool>(|e, a| e.iter().sum::<i32>() >= a, exprs, a).map(Const::Bool)
+
            flat_op::<i32, bool>(|e, a| e.iter().sum::<i32>() >= a, exprs, a).map(Const::Bool)
55
- 611565 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::SumLeq(_, exprs, a) => {
+
        Expr::SumLeq(_, exprs, a) => {
56
- 611565 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            flat_op::<i32, bool>(|e, a| e.iter().sum::<i32>() <= a, exprs, a).map(Const::Bool)
+
            flat_op::<i32, bool>(|e, a| e.iter().sum::<i32>() <= a, exprs, a).map(Const::Bool)
60
- 225 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::Min(_, exprs) => {
+
        Expr::Min(_, exprs) => {
61
- 225 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            opt_vec_op::<i32, i32>(|e| e.iter().min().copied(), exprs).map(Const::Int)
+
            opt_vec_op::<i32, i32>(|e| e.iter().min().copied(), exprs).map(Const::Int)
63
- 226 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::UnsafeDiv(_, a, b) | Expr::SafeDiv(_, a, b) => {
+
        Expr::UnsafeDiv(_, a, b) | Expr::SafeDiv(_, a, b) => {
64
- 362 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            if unwrap_expr::<i32>(b)? == 0 {
+
            if unwrap_expr::<i32>(b)? == 0 {
65
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                return None;
+
                return None;
66
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            }
+
            }
67
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            bin_op::<i32, i32>(|a, b| a / b, a, b).map(Const::Int)
+
            bin_op::<i32, i32>(|a, b| a / b, a, b).map(Const::Int)
69
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::DivEq(_, a, b, c) => {
+
        Expr::DivEq(_, a, b, c) => {
70
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            tern_op::<i32, bool>(|a, b, c| a == b * c, a, b, c).map(Const::Bool)
+
            tern_op::<i32, bool>(|a, b, c| a == b * c, a, b, c).map(Const::Bool)
72
- 120 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::Bubble(_, a, b) => bin_op::<bool, bool>(|a, b| a && b, a, b).map(Const::Bool),
+
        Expr::Bubble(_, a, b) => bin_op::<bool, bool>(|a, b| a && b, a, b).map(Const::Bool),
74
- 4530 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            println!("WARNING: Unimplemented constant eval: {:?}", expr);
+
            println!("WARNING: Unimplemented constant eval: {:?}", expr);
75
- 4530 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            None
+
            None
78
- 8071519 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
80
- 180 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn un_op<T, A>(f: fn(T) -> A, a: &Expr) -> Option<A>
+
fn un_op<T, A>(f: fn(T) -> A, a: &Expr) -> Option<A>
81
- 180 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
where
+
where
82
- 180 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    T: TryFrom<Const>,
+
    T: TryFrom<Const>,
83
- 180 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
{
+
{
84
- 180 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let a = unwrap_expr::<T>(a)?;
+
    let a = unwrap_expr::<T>(a)?;
86
- 180 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
88
- 18330 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn bin_op<T, A>(f: fn(T, T) -> A, a: &Expr, b: &Expr) -> Option<A>
+
fn bin_op<T, A>(f: fn(T, T) -> A, a: &Expr, b: &Expr) -> Option<A>
89
- 18330 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
where
+
where
90
- 18330 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    T: TryFrom<Const>,
+
    T: TryFrom<Const>,
91
- 18330 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
{
+
{
92
- 18330 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let a = unwrap_expr::<T>(a)?;
+
    let a = unwrap_expr::<T>(a)?;
93
- 210 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let b = unwrap_expr::<T>(b)?;
+
    let b = unwrap_expr::<T>(b)?;
94
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    Some(f(a, b))
+
    Some(f(a, b))
95
- 18330 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
97
- 553050 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn tern_op<T, A>(f: fn(T, T, T) -> A, a: &Expr, b: &Expr, c: &Expr) -> Option<A>
+
fn tern_op<T, A>(f: fn(T, T, T) -> A, a: &Expr, b: &Expr, c: &Expr) -> Option<A>
98
- 553050 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
where
+
where
99
- 553050 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    T: TryFrom<Const>,
+
    T: TryFrom<Const>,
100
- 553050 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
{
+
{
101
- 553050 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let a = unwrap_expr::<T>(a)?;
+
    let a = unwrap_expr::<T>(a)?;
102
- 285 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let b = unwrap_expr::<T>(b)?;
+
    let b = unwrap_expr::<T>(b)?;
105
- 553050 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
107
- 423480 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn vec_op<T, A>(f: fn(Vec<T>) -> A, a: &[Expr]) -> Option<A>
+
fn vec_op<T, A>(f: fn(Vec<T>) -> A, a: &[Expr]) -> Option<A>
108
- 423480 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
where
+
where
109
- 423480 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    T: TryFrom<Const>,
+
    T: TryFrom<Const>,
110
- 423480 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
{
+
{
111
- 423480 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let a = a.iter().map(unwrap_expr).collect::<Option<Vec<T>>>()?;
+
    let a = a.iter().map(unwrap_expr).collect::<Option<Vec<T>>>()?;
112
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    Some(f(a))
+
    Some(f(a))
113
- 423480 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
115
- 225 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn opt_vec_op<T, A>(f: fn(Vec<T>) -> Option<A>, a: &[Expr]) -> Option<A>
+
fn opt_vec_op<T, A>(f: fn(Vec<T>) -> Option<A>, a: &[Expr]) -> Option<A>
116
- 225 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
where
+
where
117
- 225 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    T: TryFrom<Const>,
+
    T: TryFrom<Const>,
118
- 225 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
{
+
{
119
- 225 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let a = a.iter().map(unwrap_expr).collect::<Option<Vec<T>>>()?;
+
    let a = a.iter().map(unwrap_expr).collect::<Option<Vec<T>>>()?;
121
- 225 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
123
- 1264635 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn flat_op<T, A>(f: fn(Vec<T>, T) -> A, a: &[Expr], b: &Expr) -> Option<A>
+
fn flat_op<T, A>(f: fn(Vec<T>, T) -> A, a: &[Expr], b: &Expr) -> Option<A>
124
- 1264635 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
where
+
where
125
- 1264635 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    T: TryFrom<Const>,
+
    T: TryFrom<Const>,
126
- 1264635 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
{
+
{
127
- 1264635 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let a = a.iter().map(unwrap_expr).collect::<Option<Vec<T>>>()?;
+
    let a = a.iter().map(unwrap_expr).collect::<Option<Vec<T>>>()?;
130
- 1264635 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
132
- 2260832 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn unwrap_expr<T: TryFrom<Const>>(expr: &Expr) -> Option<T> {
+
fn unwrap_expr<T: TryFrom<Const>>(expr: &Expr) -> Option<T> {
133
- 2260832 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let c = eval_constant(expr)?;
+
    let c = eval_constant(expr)?;
134
- 887 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    TryInto::<T>::try_into(c).ok()
+
    TryInto::<T>::try_into(c).ok()
135
- 2260832 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
142
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn div_by_zero() {
+
    fn div_by_zero() {
143
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let expr = Expression::UnsafeDiv(
+
        let expr = Expression::UnsafeDiv(
144
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Default::default(),
+
            Default::default(),
145
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Box::new(Expression::Constant(Default::default(), Constant::Int(1))),
+
            Box::new(Expression::Constant(Default::default(), Constant::Int(1))),
146
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Box::new(Expression::Constant(Default::default(), Constant::Int(0))),
+
            Box::new(Expression::Constant(Default::default(), Constant::Int(0))),
147
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        );
+
        );
148
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        assert_eq!(super::eval_constant(&expr), None);
+
        assert_eq!(super::eval_constant(&expr), None);
149
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
152
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn safediv_by_zero() {
+
    fn safediv_by_zero() {
153
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let expr = Expression::SafeDiv(
+
        let expr = Expression::SafeDiv(
154
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Default::default(),
+
            Default::default(),
155
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Box::new(Expression::Constant(Default::default(), Constant::Int(1))),
+
            Box::new(Expression::Constant(Default::default(), Constant::Int(1))),
156
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Box::new(Expression::Constant(Default::default(), Constant::Int(0))),
+
            Box::new(Expression::Constant(Default::default(), Constant::Int(0))),
157
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        );
+
        );
158
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        assert_eq!(super::eval_constant(&expr), None);
+
        assert_eq!(super::eval_constant(&expr), None);
159
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
-

Date: 2024-05-01 08:39

+

Date: 2024-05-27 10:40

diff --git a/coverage/main/crates/conjure_core/src/rules/index.html b/coverage/main/crates/conjure_core/src/rules/index.html index ce2ac5d6b..d9d82ca46 100644 --- a/coverage/main/crates/conjure_core/src/rules/index.html +++ b/coverage/main/crates/conjure_core/src/rules/index.html @@ -14,8 +14,8 @@

Lines

-

- 86.15 %

+

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 15.31 %

+ 0 %

@@ -45,21 +45,21 @@ - 82.74% + 0% - - 82.74% + + 0% - - 326 / 394 + + 0 / 343 - 15.42% - 37 / 240 + 0% + 0 / 148 @@ -69,21 +69,21 @@ - 91.49% + 0% - - 91.49% + + 0% - - 43 / 47 + + 0 / 47 - 6.67% - 3 / 45 + 0% + 0 / 30 @@ -107,7 +107,7 @@ 0% - 0 / 9 + 0 / 6 @@ -117,21 +117,21 @@ - 92.04% + 0% - - 92.04% + + 0% - - 104 / 113 + + 0 / 113 - 20.8% - 26 / 125 + 0% + 0 / 84 @@ -141,21 +141,21 @@ - 88.36% + 0% - - 88.36% + + 0% - - 205 / 232 + + 0 / 205 - 14.2% - 24 / 169 + 0% + 0 / 106 @@ -163,7 +163,7 @@
diff --git a/coverage/main/crates/conjure_core/src/rules/minion.rs.html b/coverage/main/crates/conjure_core/src/rules/minion.rs.html index 42570ce9f..0976e03c6 100644 --- a/coverage/main/crates/conjure_core/src/rules/minion.rs.html +++ b/coverage/main/crates/conjure_core/src/rules/minion.rs.html @@ -14,8 +14,8 @@

Lines

-

- 88.36 %

+

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 14.2 %

+ 0 %

@@ -326,13 +326,13 @@ 19
- 2775 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn is_nested_sum(exprs: &Vec<Expr>) -> bool {
+
fn is_nested_sum(exprs: &Vec<Expr>) -> bool {
20
- 11040 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    for e in exprs {
+
    for e in exprs {
21
- 8280 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        if let Expr::Sum(_, _) = e {
+
        if let Expr::Sum(_, _) = e {
22
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            return true;
+
            return true;
23
- 8265 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        }
+
        }
25
- 2760 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    false
+
    false
26
- 2775 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
31
- 3705 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn sum_to_vector(expr: &Expr) -> Result<Vec<Expr>, ApplicationError> {
+
fn sum_to_vector(expr: &Expr) -> Result<Vec<Expr>, ApplicationError> {
32
- 3705 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match expr {
+
    match expr {
33
- 2775 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::Sum(_, exprs) => {
+
        Expr::Sum(_, exprs) => {
34
- 2775 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            if is_nested_sum(exprs) {
+
            if is_nested_sum(exprs) {
35
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                Err(ApplicationError::RuleNotApplicable)
+
                Err(ApplicationError::RuleNotApplicable)
37
- 2760 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                Ok(exprs.clone())
+
                Ok(exprs.clone())
40
- 930 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        _ => Err(ApplicationError::RuleNotApplicable),
+
        _ => Err(ApplicationError::RuleNotApplicable),
42
- 3705 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
67
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 * sum([a, b, c]) >= d => sum_geq([a, b, c], d)
+
 * sum([a, b, c]) >= d => sum_geq([a, b, c], d)
68
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 * ```
+
 * ```
69
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 */
+
 */
71
- 7242075 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn flatten_sum_geq(expr: &Expr, _: &Model) -> ApplicationResult {
+
fn flatten_sum_geq(expr: &Expr, _: &Model) -> ApplicationResult {
72
- 7242075 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match expr {
+
    match expr {
73
- 75 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::Geq(metadata, a, b) => {
+
        Expr::Geq(metadata, a, b) => {
74
- 75 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let exprs = sum_to_vector(a)?;
+
            let exprs = sum_to_vector(a)?;
75
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Ok(Reduction::pure(Expr::SumGeq(
+
            Ok(Reduction::pure(Expr::SumGeq(
76
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                metadata.clone_dirty(),
+
                metadata.clone_dirty(),
77
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                exprs,
+
                exprs,
78
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                b.clone(),
+
                b.clone(),
79
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            )))
+
            )))
81
- 7242000 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        _ => Err(ApplicationError::RuleNotApplicable),
+
        _ => Err(ApplicationError::RuleNotApplicable),
83
- 7242075 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
88
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 * sum([a, b, c]) <= d => sum_leq([a, b, c], d)
+
 * sum([a, b, c]) <= d => sum_leq([a, b, c], d)
89
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 * ```
+
 * ```
90
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 */
+
 */
92
- 7242075 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn sum_leq_to_sumleq(expr: &Expr, _: &Model) -> ApplicationResult {
+
fn sum_leq_to_sumleq(expr: &Expr, _: &Model) -> ApplicationResult {
93
- 7242075 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match expr {
+
    match expr {
94
- 210 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::Leq(metadata, a, b) => {
+
        Expr::Leq(metadata, a, b) => {
95
- 210 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let exprs = sum_to_vector(a)?;
+
            let exprs = sum_to_vector(a)?;
96
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Ok(Reduction::pure(Expr::SumLeq(
+
            Ok(Reduction::pure(Expr::SumLeq(
97
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                metadata.clone_dirty(),
+
                metadata.clone_dirty(),
98
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                exprs,
+
                exprs,
99
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                b.clone(),
+
                b.clone(),
100
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            )))
+
            )))
102
- 7241865 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        _ => Err(ApplicationError::RuleNotApplicable),
+
        _ => Err(ApplicationError::RuleNotApplicable),
104
- 7242075 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
109
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 * eq(sum([a, b]), c) => sumeq([a, b], c)
+
 * eq(sum([a, b]), c) => sumeq([a, b], c)
110
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 * ```
+
 * ```
111
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
*/
+
*/
113
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn sum_eq_to_sumeq(expr: &Expr, _: &Model) -> ApplicationResult {
+
fn sum_eq_to_sumeq(expr: &Expr, _: &Model) -> ApplicationResult {
114
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match expr {
+
    match expr {
115
- 3075 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::Eq(metadata, a, b) => {
+
        Expr::Eq(metadata, a, b) => {
116
- 3075 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            if let Ok(exprs) = sum_to_vector(a) {
+
            if let Ok(exprs) = sum_to_vector(a) {
117
- 2730 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                Ok(Reduction::pure(Expr::SumEq(
+
                Ok(Reduction::pure(Expr::SumEq(
118
- 2730 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    metadata.clone_dirty(),
+
                    metadata.clone_dirty(),
119
- 2730 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    exprs,
+
                    exprs,
120
- 2730 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    b.clone(),
+
                    b.clone(),
121
- 2730 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                )))
+
                )))
122
- 345 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            } else if let Ok(exprs) = sum_to_vector(b) {
+
            } else if let Ok(exprs) = sum_to_vector(b) {
129
- 345 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                Err(ApplicationError::RuleNotApplicable)
+
                Err(ApplicationError::RuleNotApplicable)
132
- 7238985 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        _ => Err(ApplicationError::RuleNotApplicable),
+
        _ => Err(ApplicationError::RuleNotApplicable),
134
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
143
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 * })
+
 * })
144
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 * ```
+
 * ```
145
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 * I. e.
+
 * I. e.
148
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 * a + b = c
+
 * a + b = c
149
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 * ```
+
 * ```
150
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 */
+
 */
152
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn sumeq_to_minion(expr: &Expr, _: &Model) -> ApplicationResult {
+
fn sumeq_to_minion(expr: &Expr, _: &Model) -> ApplicationResult {
153
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match expr {
+
    match expr {
154
- 2730 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::SumEq(metadata, exprs, eq_to) => Ok(Reduction::pure(Expr::And(
+
        Expr::SumEq(metadata, exprs, eq_to) => Ok(Reduction::pure(Expr::And(
155
- 2730 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Metadata::new(),
+
            Metadata::new(),
156
- 2730 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            vec![
+
            vec![
157
- 2730 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                Expr::SumGeq(Metadata::new(), exprs.clone(), Box::from(*eq_to.clone())),
+
                Expr::SumGeq(Metadata::new(), exprs.clone(), Box::from(*eq_to.clone())),
158
- 2730 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                Expr::SumLeq(Metadata::new(), exprs.clone(), Box::from(*eq_to.clone())),
+
                Expr::SumLeq(Metadata::new(), exprs.clone(), Box::from(*eq_to.clone())),
159
- 2730 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            ],
+
            ],
160
- 2730 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ))),
+
        ))),
161
- 7239330 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        _ => Err(ApplicationError::RuleNotApplicable),
+
        _ => Err(ApplicationError::RuleNotApplicable),
163
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
169
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
* a < b => a - b < -1
+
* a < b => a - b < -1
170
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
* ```
+
* ```
171
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
*/
+
*/
173
- 7242075 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn lt_to_ineq(expr: &Expr, _: &Model) -> ApplicationResult {
+
fn lt_to_ineq(expr: &Expr, _: &Model) -> ApplicationResult {
174
- 7242075 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match expr {
+
    match expr {
175
- 2730 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::Lt(metadata, a, b) => Ok(Reduction::pure(Expr::Ineq(
+
        Expr::Lt(metadata, a, b) => Ok(Reduction::pure(Expr::Ineq(
176
- 2730 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            metadata.clone_dirty(),
+
            metadata.clone_dirty(),
177
- 2730 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            a.clone(),
+
            a.clone(),
178
- 2730 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            b.clone(),
+
            b.clone(),
179
- 2730 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Box::new(Expr::Constant(Metadata::new(), Const::Int(-1))),
+
            Box::new(Expr::Constant(Metadata::new(), Const::Int(-1))),
180
- 2730 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ))),
+
        ))),
181
- 7239345 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        _ => Err(ApplicationError::RuleNotApplicable),
+
        _ => Err(ApplicationError::RuleNotApplicable),
183
- 7242075 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
189
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
* a > b => b - a < -1
+
* a > b => b - a < -1
190
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
* ```
+
* ```
191
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
*/
+
*/
193
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn gt_to_ineq(expr: &Expr, _: &Model) -> ApplicationResult {
+
fn gt_to_ineq(expr: &Expr, _: &Model) -> ApplicationResult {
194
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match expr {
+
    match expr {
201
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        _ => Err(ApplicationError::RuleNotApplicable),
+
        _ => Err(ApplicationError::RuleNotApplicable),
203
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
209
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
* a >= b => b - a < 0
+
* a >= b => b - a < 0
210
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
* ```
+
* ```
211
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
*/
+
*/
213
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn geq_to_ineq(expr: &Expr, _: &Model) -> ApplicationResult {
+
fn geq_to_ineq(expr: &Expr, _: &Model) -> ApplicationResult {
214
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match expr {
+
    match expr {
215
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::Geq(metadata, a, b) => Ok(Reduction::pure(Expr::Ineq(
+
        Expr::Geq(metadata, a, b) => Ok(Reduction::pure(Expr::Ineq(
216
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            metadata.clone_dirty(),
+
            metadata.clone_dirty(),
217
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            b.clone(),
+
            b.clone(),
218
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            a.clone(),
+
            a.clone(),
219
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Box::new(Expr::Constant(Metadata::new(), Const::Int(0))),
+
            Box::new(Expr::Constant(Metadata::new(), Const::Int(0))),
220
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ))),
+
        ))),
221
- 7242000 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        _ => Err(ApplicationError::RuleNotApplicable),
+
        _ => Err(ApplicationError::RuleNotApplicable),
223
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
229
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
* a <= b => a - b < 0
+
* a <= b => a - b < 0
230
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
* ```
+
* ```
231
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
*/
+
*/
233
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn leq_to_ineq(expr: &Expr, _: &Model) -> ApplicationResult {
+
fn leq_to_ineq(expr: &Expr, _: &Model) -> ApplicationResult {
234
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match expr {
+
    match expr {
235
- 195 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::Leq(metadata, a, b) => Ok(Reduction::pure(Expr::Ineq(
+
        Expr::Leq(metadata, a, b) => Ok(Reduction::pure(Expr::Ineq(
236
- 195 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            metadata.clone_dirty(),
+
            metadata.clone_dirty(),
237
- 195 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            a.clone(),
+
            a.clone(),
238
- 195 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            b.clone(),
+
            b.clone(),
239
- 195 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Box::new(Expr::Constant(Metadata::new(), Const::Int(0))),
+
            Box::new(Expr::Constant(Metadata::new(), Const::Int(0))),
240
- 195 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ))),
+
        ))),
241
- 7241865 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        _ => Err(ApplicationError::RuleNotApplicable),
+
        _ => Err(ApplicationError::RuleNotApplicable),
243
- 7242060 -
-
+ +
+
-
}
+
}
265
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn flatten_safediv(expr: &Expr, mdl: &Model) -> ApplicationResult {
+
fn flatten_safediv(expr: &Expr, mdl: &Model) -> ApplicationResult {
266
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    if expr.is_eq() || expr.is_leq() || expr.is_geq() || expr.is_neq() {
+
    if expr.is_eq() || expr.is_leq() || expr.is_geq() || expr.is_neq() {
267
- 3510 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let mut sub = expr.children();
+
        let mut sub = expr.children();
268
- 3510 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
269
- 3510 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let mut new_vars = SymbolTable::new();
+
        let mut new_vars = SymbolTable::new();
270
- 3510 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let mut new_top = vec![];
+
        let mut new_top = vec![];
273
- 7020 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        for c in sub.iter_mut() {
+
        for c in sub.iter_mut() {
274
- 7020 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            if let Expr::SafeDiv(_, a, b) = c.clone() {
+
            if let Expr::SafeDiv(_, a, b) = c.clone() {
275
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let new_name = mdl.gensym();
+
                let new_name = mdl.gensym();
276
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let domain = c
+
                let domain = c
277
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    .domain_of(&mdl.variables)
+
                    .domain_of(&mdl.variables)
278
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    .ok_or(ApplicationError::DomainError)?;
+
                    .ok_or(ApplicationError::DomainError)?;
279
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                new_vars.insert(new_name.clone(), DecisionVariable::new(domain));
+
                new_vars.insert(new_name.clone(), DecisionVariable::new(domain));
280
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
281
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                new_top.push(Expr::DivEq(
+
                new_top.push(Expr::DivEq(
282
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    Metadata::new(),
+
                    Metadata::new(),
283
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    a.clone(),
+
                    a.clone(),
284
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    b.clone(),
+
                    b.clone(),
285
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    Box::new(Expr::Reference(Metadata::new(), new_name.clone())),
+
                    Box::new(Expr::Reference(Metadata::new(), new_name.clone())),
286
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                ));
+
                ));
287
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
288
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                *c = Expr::Reference(Metadata::new(), new_name.clone());
+
                *c = Expr::Reference(Metadata::new(), new_name.clone());
289
- 6960 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            }
+
            }
291
- 3510 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        if !new_top.is_empty() {
+
        if !new_top.is_empty() {
293
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                expr.with_children(sub)
+
                expr.with_children(sub)
294
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    .or(Err(ApplicationError::RuleNotApplicable))?,
+
                    .or(Err(ApplicationError::RuleNotApplicable))?,
295
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                Expr::And(Metadata::new(), new_top),
+
                Expr::And(Metadata::new(), new_top),
296
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                new_vars,
+
                new_vars,
298
- 3450 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        }
+
        }
299
- 7238550 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
300
- 7242000 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    Err(ApplicationError::RuleNotApplicable)
+
    Err(ApplicationError::RuleNotApplicable)
301
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
304
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn div_eq_to_diveq(expr: &Expr, _: &Model) -> ApplicationResult {
+
fn div_eq_to_diveq(expr: &Expr, _: &Model) -> ApplicationResult {
305
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match expr {
+
    match expr {
306
- 3075 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::Eq(metadata, a, b) => {
+
        Expr::Eq(metadata, a, b) => {
307
- 3075 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            if let Expr::SafeDiv(_, x, y) = a.as_ref() {
+
            if let Expr::SafeDiv(_, x, y) = a.as_ref() {
308
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                if !(b.is_reference() || b.is_constant()) {
+
                if !(b.is_reference() || b.is_constant()) {
310
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                }
+
                }
311
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                Ok(Reduction::pure(Expr::DivEq(
+
                Ok(Reduction::pure(Expr::DivEq(
312
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    metadata.clone_dirty(),
+
                    metadata.clone_dirty(),
313
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    x.clone(),
+
                    x.clone(),
314
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    y.clone(),
+
                    y.clone(),
315
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    b.clone(),
+
                    b.clone(),
316
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                )))
+
                )))
317
- 3060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            } else if let Expr::SafeDiv(_, x, y) = b.as_ref() {
+
            } else if let Expr::SafeDiv(_, x, y) = b.as_ref() {
318
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                if !(a.is_reference() || a.is_constant()) {
+
                if !(a.is_reference() || a.is_constant()) {
320
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                }
+
                }
321
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                Ok(Reduction::pure(Expr::DivEq(
+
                Ok(Reduction::pure(Expr::DivEq(
322
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    metadata.clone_dirty(),
+
                    metadata.clone_dirty(),
323
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    x.clone(),
+
                    x.clone(),
324
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    y.clone(),
+
                    y.clone(),
325
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    a.clone(),
+
                    a.clone(),
326
- 30 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                )))
+
                )))
328
- 3030 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                Err(ApplicationError::RuleNotApplicable)
+
                Err(ApplicationError::RuleNotApplicable)
331
- 7238985 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        _ => Err(ApplicationError::RuleNotApplicable),
+
        _ => Err(ApplicationError::RuleNotApplicable),
333
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
336
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn negated_neq_to_eq(expr: &Expr, _: &Model) -> ApplicationResult {
+
fn negated_neq_to_eq(expr: &Expr, _: &Model) -> ApplicationResult {
337
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match expr {
+
    match expr {
338
- 120 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::Not(_, a) => match a.as_ref() {
+
        Expr::Not(_, a) => match a.as_ref() {
339
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Expr::Neq(_, b, c) => {
+
            Expr::Neq(_, b, c) => {
340
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                if !b.can_be_undefined() && !c.can_be_undefined() {
+
                if !b.can_be_undefined() && !c.can_be_undefined() {
341
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    Ok(Reduction::pure(Expr::Eq(
+
                    Ok(Reduction::pure(Expr::Eq(
342
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        Metadata::new(),
+
                        Metadata::new(),
343
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        b.clone(),
+
                        b.clone(),
344
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        c.clone(),
+
                        c.clone(),
345
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    )))
+
                    )))
350
- 105 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            _ => Err(ApplicationError::RuleNotApplicable),
+
            _ => Err(ApplicationError::RuleNotApplicable),
352
- 7241940 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        _ => Err(ApplicationError::RuleNotApplicable),
+
        _ => Err(ApplicationError::RuleNotApplicable),
354
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
357
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn negated_eq_to_neq(expr: &Expr, _: &Model) -> ApplicationResult {
+
fn negated_eq_to_neq(expr: &Expr, _: &Model) -> ApplicationResult {
358
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match expr {
+
    match expr {
359
- 120 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Expr::Not(_, a) => match a.as_ref() {
+
        Expr::Not(_, a) => match a.as_ref() {
360
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Expr::Eq(_, b, c) => {
+
            Expr::Eq(_, b, c) => {
361
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                if !b.can_be_undefined() && !c.can_be_undefined() {
+
                if !b.can_be_undefined() && !c.can_be_undefined() {
362
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    Ok(Reduction::pure(Expr::Neq(
+
                    Ok(Reduction::pure(Expr::Neq(
363
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        Metadata::new(),
+
                        Metadata::new(),
364
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        b.clone(),
+
                        b.clone(),
365
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        c.clone(),
+
                        c.clone(),
366
- 15 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    )))
+
                    )))
368
- 45 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    Err(ApplicationError::RuleNotApplicable)
+
                    Err(ApplicationError::RuleNotApplicable)
371
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            _ => Err(ApplicationError::RuleNotApplicable),
+
            _ => Err(ApplicationError::RuleNotApplicable),
373
- 7241940 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        _ => Err(ApplicationError::RuleNotApplicable),
+
        _ => Err(ApplicationError::RuleNotApplicable),
375
- 7242060 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
diff --git a/coverage/main/crates/conjure_core/src/solver/adaptors/index.html b/coverage/main/crates/conjure_core/src/solver/adaptors/index.html index 4231c7478..02ccfa8f6 100644 --- a/coverage/main/crates/conjure_core/src/solver/adaptors/index.html +++ b/coverage/main/crates/conjure_core/src/solver/adaptors/index.html @@ -15,7 +15,7 @@

Lines

- 49.43 %

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 13.45 %

+ 0 %

@@ -59,7 +59,7 @@ 0% - 0 / 18 + 0 / 12 @@ -69,21 +69,21 @@ - 86.75% + 0% - - 86.75% + + 0% - - 216 / 249 + + 0 / 249 - 26.44% - 23 / 87 + 0% + 0 / 58 @@ -107,7 +107,7 @@ 0% - 0 / 66 + 0 / 44 @@ -115,7 +115,7 @@ diff --git a/coverage/main/crates/conjure_core/src/solver/adaptors/kissat.rs.html b/coverage/main/crates/conjure_core/src/solver/adaptors/kissat.rs.html index 6ee52caf6..4e1d66c85 100644 --- a/coverage/main/crates/conjure_core/src/solver/adaptors/kissat.rs.html +++ b/coverage/main/crates/conjure_core/src/solver/adaptors/kissat.rs.html @@ -23,7 +23,7 @@

Functions

- 0 %

+ 0 %

@@ -1042,7 +1042,7 @@ diff --git a/coverage/main/crates/conjure_core/src/solver/adaptors/minion.rs.html b/coverage/main/crates/conjure_core/src/solver/adaptors/minion.rs.html index 3f57b3a1c..ab73202d1 100644 --- a/coverage/main/crates/conjure_core/src/solver/adaptors/minion.rs.html +++ b/coverage/main/crates/conjure_core/src/solver/adaptors/minion.rs.html @@ -14,8 +14,8 @@

Lines

-

- 86.75 %

+

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 26.44 %

+ 0 %

@@ -694,13 +694,13 @@ 42
- 2145 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn minion_rs_callback(solutions: HashMap<minion_ast::VarName, minion_ast::Constant>) -> bool {
+
fn minion_rs_callback(solutions: HashMap<minion_ast::VarName, minion_ast::Constant>) -> bool {
43
- 2145 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    *(ANY_SOLUTIONS.lock().unwrap()) = true;
+
    *(ANY_SOLUTIONS.lock().unwrap()) = true;
44
- 2145 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let callback = USER_CALLBACK
+
    let callback = USER_CALLBACK
45
- 2145 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .get_or_init(|| Mutex::new(Box::new(|x| true)))
+
        .get_or_init(|| Mutex::new(Box::new(|x| true)))
46
- 2145 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .lock()
+
        .lock()
47
- 2145 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .unwrap();
+
        .unwrap();
48
- 2145 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
49
- 2145 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let mut conjure_solutions: HashMap<conjure_ast::Name, conjure_ast::Constant> = HashMap::new();
+
    let mut conjure_solutions: HashMap<conjure_ast::Name, conjure_ast::Constant> = HashMap::new();
50
- 7485 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    for (minion_name, minion_const) in solutions.into_iter() {
+
    for (minion_name, minion_const) in solutions.into_iter() {
51
- 7485 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let conjure_const = match minion_const {
+
        let conjure_const = match minion_const {
53
- 7485 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            minion_ast::Constant::Integer(x) => conjure_ast::Constant::Int(x),
+
            minion_ast::Constant::Integer(x) => conjure_ast::Constant::Int(x),
57
- 7485 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let machine_name_re = Regex::new(r"__conjure_machine_name_([0-9]+)").unwrap();
+
        let machine_name_re = Regex::new(r"__conjure_machine_name_([0-9]+)").unwrap();
58
- 7485 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let conjure_name = if let Some(caps) = machine_name_re.captures(&minion_name) {
+
        let conjure_name = if let Some(caps) = machine_name_re.captures(&minion_name) {
59
- 1785 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            conjure_ast::Name::MachineName(caps[1].parse::<i32>().unwrap())
+
            conjure_ast::Name::MachineName(caps[1].parse::<i32>().unwrap())
61
- 5700 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            conjure_ast::Name::UserName(minion_name)
+
            conjure_ast::Name::UserName(minion_name)
64
- 7485 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        conjure_solutions.insert(conjure_name, conjure_const);
+
        conjure_solutions.insert(conjure_name, conjure_const);
67
- 2145 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let continue_search = (**callback)(conjure_solutions);
+
    let continue_search = (**callback)(conjure_solutions);
68
- 2145 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    if !continue_search {
+
    if !continue_search {
70
- 2145 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
72
- 2145 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    continue_search
+
    continue_search
73
- 2145 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
78
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub fn new() -> Minion {
+
    pub fn new() -> Minion {
79
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Minion {
+
        Minion {
80
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            __non_constructable: private::Internal,
+
            __non_constructable: private::Internal,
81
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            model: None,
+
            model: None,
82
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        }
+
        }
83
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
94
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn solve(
+
    fn solve(
95
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        &mut self,
+
        &mut self,
96
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        callback: SolverCallback,
+
        callback: SolverCallback,
97
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        _: private::Internal,
+
        _: private::Internal,
98
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    ) -> Result<SolveSuccess, SolverError> {
+
    ) -> Result<SolveSuccess, SolverError> {
99
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        // our minion callback is global state, so single threading the adaptor as a whole is
+
        // our minion callback is global state, so single threading the adaptor as a whole is
100
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        // probably a good move...
+
        // probably a good move...
101
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        #[allow(clippy::unwrap_used)]
+
        #[allow(clippy::unwrap_used)]
102
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let mut minion_lock = MINION_LOCK.lock().unwrap();
+
        let mut minion_lock = MINION_LOCK.lock().unwrap();
103
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
104
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        #[allow(clippy::unwrap_used)]
+
        #[allow(clippy::unwrap_used)]
105
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let mut user_callback = USER_CALLBACK
+
        let mut user_callback = USER_CALLBACK
106
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            .get_or_init(|| Mutex::new(Box::new(|x| true)))
+
            .get_or_init(|| Mutex::new(Box::new(|x| true)))
107
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            .lock()
+
            .lock()
108
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            .unwrap();
+
            .unwrap();
109
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        *user_callback = callback;
+
        *user_callback = callback;
110
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        drop(user_callback); // release mutex. REQUIRED so that run_minion can use the
+
        drop(user_callback); // release mutex. REQUIRED so that run_minion can use the
111
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                             // user callback and not deadlock.
+
                             // user callback and not deadlock.
112
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
113
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        run_minion(
+
        run_minion(
114
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            self.model.clone().expect("STATE MACHINE ERR"),
+
            self.model.clone().expect("STATE MACHINE ERR"),
115
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            minion_rs_callback,
+
            minion_rs_callback,
116
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        )
+
        )
117
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .map_err(|err| match err {
+
        .map_err(|err| match err {
122
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        })?;
+
        })?;
124
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let mut status = Complete(HasSolutions);
+
        let mut status = Complete(HasSolutions);
125
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        if *(USER_TERMINATED.lock()).unwrap() {
+
        if *(USER_TERMINATED.lock()).unwrap() {
127
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        } else if *(ANY_SOLUTIONS.lock()).unwrap() {
+
        } else if *(ANY_SOLUTIONS.lock()).unwrap() {
128
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            status = Complete(NoSolutions);
+
            status = Complete(NoSolutions);
129
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        }
+
        }
130
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Ok(SolveSuccess {
+
        Ok(SolveSuccess {
131
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            stats: get_solver_stats(),
+
            stats: get_solver_stats(),
132
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            status,
+
            status,
133
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        })
+
        })
134
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
144
- 375 -
-
+ +
+
-
    fn load_model(&mut self, model: ConjureModel, _: private::Internal) -> Result<(), SolverError> {
+
    fn load_model(&mut self, model: ConjureModel, _: private::Internal) -> Result<(), SolverError> {
145
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let mut minion_model = MinionModel::new();
+
        let mut minion_model = MinionModel::new();
146
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        parse_vars(&model, &mut minion_model)?;
+
        parse_vars(&model, &mut minion_model)?;
147
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        parse_exprs(&model, &mut minion_model)?;
+
        parse_exprs(&model, &mut minion_model)?;
148
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        self.model = Some(minion_model);
+
        self.model = Some(minion_model);
149
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Ok(())
+
        Ok(())
150
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
152
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn get_family(&self) -> SolverFamily {
+
    fn get_family(&self) -> SolverFamily {
153
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        SolverFamily::Minion
+
        SolverFamily::Minion
154
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
156
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn get_name(&self) -> Option<String> {
+
    fn get_name(&self) -> Option<String> {
157
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Some("Minion".to_owned())
+
        Some("Minion".to_owned())
158
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
161
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn parse_vars(
+
fn parse_vars(
162
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    conjure_model: &ConjureModel,
+
    conjure_model: &ConjureModel,
163
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    minion_model: &mut MinionModel,
+
    minion_model: &mut MinionModel,
164
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
) -> Result<(), SolverError> {
+
) -> Result<(), SolverError> {
168
- 1035 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    for (name, variable) in conjure_model.variables.iter() {
+
    for (name, variable) in conjure_model.variables.iter() {
169
- 1035 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        parse_var(name, variable, minion_model)?;
+
        parse_var(name, variable, minion_model)?;
171
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    Ok(())
+
    Ok(())
172
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
174
- 1035 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn parse_var(
+
fn parse_var(
175
- 1035 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    name: &conjure_ast::Name,
+
    name: &conjure_ast::Name,
176
- 1035 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    var: &conjure_ast::DecisionVariable,
+
    var: &conjure_ast::DecisionVariable,
177
- 1035 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    minion_model: &mut MinionModel,
+
    minion_model: &mut MinionModel,
178
- 1035 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
) -> Result<(), SolverError> {
+
) -> Result<(), SolverError> {
179
- 1035 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match &var.domain {
+
    match &var.domain {
180
- 930 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        conjure_ast::Domain::IntDomain(ranges) => _parse_intdomain_var(name, ranges, minion_model),
+
        conjure_ast::Domain::IntDomain(ranges) => _parse_intdomain_var(name, ranges, minion_model),
181
- 105 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        conjure_ast::Domain::BoolDomain => _parse_booldomain_var(name, minion_model),
+
        conjure_ast::Domain::BoolDomain => _parse_booldomain_var(name, minion_model),
184
- 1035 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
186
- 930 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn _parse_intdomain_var(
+
fn _parse_intdomain_var(
187
- 930 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    name: &conjure_ast::Name,
+
    name: &conjure_ast::Name,
188
- 930 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    ranges: &[conjure_ast::Range<i32>],
+
    ranges: &[conjure_ast::Range<i32>],
189
- 930 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    minion_model: &mut MinionModel,
+
    minion_model: &mut MinionModel,
190
- 930 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
) -> Result<(), SolverError> {
+
) -> Result<(), SolverError> {
191
- 930 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let str_name = _name_to_string(name.to_owned());
+
    let str_name = _name_to_string(name.to_owned());
192
- 930 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
193
- 930 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    if ranges.len() != 1 {
+
    if ranges.len() != 1 {
199
- 930 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
201
- 930 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let range = ranges.first().ok_or(ModelInvalid(format!(
+
    let range = ranges.first().ok_or(ModelInvalid(format!(
202
- 930 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        "variable {:?} has no range",
+
        "variable {:?} has no range",
203
- 930 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        str_name
+
        str_name
204
- 930 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    )))?;
+
    )))?;
206
- 930 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let (low, high) = match range {
+
    let (low, high) = match range {
207
- 930 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        conjure_ast::Range::Bounded(x, y) => Ok((x.to_owned(), y.to_owned())),
+
        conjure_ast::Range::Bounded(x, y) => Ok((x.to_owned(), y.to_owned())),
213
- 930 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    _try_add_var(
+
    _try_add_var(
214
- 930 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        str_name.to_owned(),
+
        str_name.to_owned(),
215
- 930 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        minion_ast::VarDomain::Bound(low, high),
+
        minion_ast::VarDomain::Bound(low, high),
216
- 930 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        minion_model,
+
        minion_model,
217
- 930 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    )
+
    )
218
- 930 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
220
- 105 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn _parse_booldomain_var(
+
fn _parse_booldomain_var(
221
- 105 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    name: &conjure_ast::Name,
+
    name: &conjure_ast::Name,
222
- 105 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    minion_model: &mut MinionModel,
+
    minion_model: &mut MinionModel,
223
- 105 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
) -> Result<(), SolverError> {
+
) -> Result<(), SolverError> {
224
- 105 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let str_name = _name_to_string(name.to_owned());
+
    let str_name = _name_to_string(name.to_owned());
225
- 105 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    _try_add_var(
+
    _try_add_var(
226
- 105 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        str_name.to_owned(),
+
        str_name.to_owned(),
227
- 105 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        minion_ast::VarDomain::Bool,
+
        minion_ast::VarDomain::Bool,
228
- 105 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        minion_model,
+
        minion_model,
229
- 105 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    )
+
    )
230
- 105 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
232
- 1035 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn _try_add_var(
+
fn _try_add_var(
233
- 1035 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    name: minion_ast::VarName,
+
    name: minion_ast::VarName,
234
- 1035 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    domain: minion_ast::VarDomain,
+
    domain: minion_ast::VarDomain,
235
- 1035 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    minion_model: &mut MinionModel,
+
    minion_model: &mut MinionModel,
236
- 1035 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
) -> Result<(), SolverError> {
+
) -> Result<(), SolverError> {
237
- 1035 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    minion_model
+
    minion_model
238
- 1035 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .named_variables
+
        .named_variables
239
- 1035 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .add_var(name.clone(), domain)
+
        .add_var(name.clone(), domain)
240
- 1035 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .ok_or(ModelInvalid(format!(
+
        .ok_or(ModelInvalid(format!(
241
- 1035 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            "variable {:?} is defined twice",
+
            "variable {:?} is defined twice",
242
- 1035 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            name
+
            name
243
- 1035 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        )))
+
        )))
244
- 1035 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
246
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn parse_exprs(
+
fn parse_exprs(
247
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    conjure_model: &ConjureModel,
+
    conjure_model: &ConjureModel,
248
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    minion_model: &mut MinionModel,
+
    minion_model: &mut MinionModel,
249
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
) -> Result<(), SolverError> {
+
) -> Result<(), SolverError> {
250
- 4230 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    for expr in conjure_model.get_constraints_vec().iter() {
+
    for expr in conjure_model.get_constraints_vec().iter() {
251
- 4230 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        parse_expr(expr.to_owned(), minion_model)?;
+
        parse_expr(expr.to_owned(), minion_model)?;
253
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    Ok(())
+
    Ok(())
254
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
256
- 4230 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn parse_expr(
+
fn parse_expr(
257
- 4230 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    expr: conjure_ast::Expression,
+
    expr: conjure_ast::Expression,
258
- 4230 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    minion_model: &mut MinionModel,
+
    minion_model: &mut MinionModel,
259
- 4230 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
) -> Result<(), SolverError> {
+
) -> Result<(), SolverError> {
260
- 4230 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    minion_model.constraints.push(read_expr(expr)?);
+
    minion_model.constraints.push(read_expr(expr)?);
261
- 4230 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    Ok(())
+
    Ok(())
262
- 4230 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
264
- 17100 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn read_expr(expr: conjure_ast::Expression) -> Result<minion_ast::Constraint, SolverError> {
+
fn read_expr(expr: conjure_ast::Expression) -> Result<minion_ast::Constraint, SolverError> {
265
- 17100 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match expr {
+
    match expr {
266
- 4305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        conjure_ast::Expression::SumLeq(_metadata, lhs, rhs) => Ok(minion_ast::Constraint::SumLeq(
+
        conjure_ast::Expression::SumLeq(_metadata, lhs, rhs) => Ok(minion_ast::Constraint::SumLeq(
267
- 4305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            read_vars(lhs)?,
+
            read_vars(lhs)?,
268
- 4305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            read_var(*rhs)?,
+
            read_var(*rhs)?,
270
- 4290 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        conjure_ast::Expression::SumGeq(_metadata, lhs, rhs) => Ok(minion_ast::Constraint::SumGeq(
+
        conjure_ast::Expression::SumGeq(_metadata, lhs, rhs) => Ok(minion_ast::Constraint::SumGeq(
271
- 4290 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            read_vars(lhs)?,
+
            read_vars(lhs)?,
272
- 4290 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            read_var(*rhs)?,
+
            read_var(*rhs)?,
274
- 4545 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        conjure_ast::Expression::Ineq(_metadata, a, b, c) => Ok(minion_ast::Constraint::Ineq(
+
        conjure_ast::Expression::Ineq(_metadata, a, b, c) => Ok(minion_ast::Constraint::Ineq(
275
- 4545 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            read_var(*a)?,
+
            read_var(*a)?,
276
- 4545 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            read_var(*b)?,
+
            read_var(*b)?,
277
- 4545 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            minion_ast::Constant::Integer(read_const(*c)?),
+
            minion_ast::Constant::Integer(read_const(*c)?),
279
- 105 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        conjure_ast::Expression::Neq(_metadata, a, b) => {
+
        conjure_ast::Expression::Neq(_metadata, a, b) => {
280
- 105 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Ok(minion_ast::Constraint::DisEq(read_var(*a)?, read_var(*b)?))
+
            Ok(minion_ast::Constraint::DisEq(read_var(*a)?, read_var(*b)?))
282
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        conjure_ast::Expression::DivEq(_metadata, a, b, c) => Ok(
+
        conjure_ast::Expression::DivEq(_metadata, a, b, c) => Ok(
283
- 60 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            minion_ast::Constraint::DivUndefZero((read_var(*a)?, read_var(*b)?), read_var(*c)?),
+
            minion_ast::Constraint::DivUndefZero((read_var(*a)?, read_var(*b)?), read_var(*c)?),
285
- 3600 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        conjure_ast::Expression::Or(_metadata, exprs) => Ok(minion_ast::Constraint::WatchedOr(
+
        conjure_ast::Expression::Or(_metadata, exprs) => Ok(minion_ast::Constraint::WatchedOr(
286
- 3600 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            exprs
+
            exprs
287
- 3600 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                .iter()
+
                .iter()
288
- 12870 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                .map(|x| read_expr(x.to_owned()))
+
                .map(|x| read_expr(x.to_owned()))
289
- 3600 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                .collect::<Result<Vec<minion_ast::Constraint>, SolverError>>()?,
+
                .collect::<Result<Vec<minion_ast::Constraint>, SolverError>>()?,
291
- 195 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        conjure_ast::Expression::Eq(_metadata, a, b) => {
+
        conjure_ast::Expression::Eq(_metadata, a, b) => {
292
- 195 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Ok(minion_ast::Constraint::Eq(read_var(*a)?, read_var(*b)?))
+
            Ok(minion_ast::Constraint::Eq(read_var(*a)?, read_var(*b)?))
296
- 17100 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
297
- 8595 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn read_vars(exprs: Vec<conjure_ast::Expression>) -> Result<Vec<minion_ast::Var>, SolverError> {
+
fn read_vars(exprs: Vec<conjure_ast::Expression>) -> Result<Vec<minion_ast::Var>, SolverError> {
298
- 8595 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let mut minion_vars: Vec<minion_ast::Var> = vec![];
+
    let mut minion_vars: Vec<minion_ast::Var> = vec![];
299
- 34380 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    for expr in exprs {
+
    for expr in exprs {
300
- 25785 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let minion_var = read_var(expr)?;
+
        let minion_var = read_var(expr)?;
301
- 25785 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        minion_vars.push(minion_var);
+
        minion_vars.push(minion_var);
303
- 8595 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    Ok(minion_vars)
+
    Ok(minion_vars)
304
- 8595 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
306
- 44250 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn read_var(e: conjure_ast::Expression) -> Result<minion_ast::Var, SolverError> {
+
fn read_var(e: conjure_ast::Expression) -> Result<minion_ast::Var, SolverError> {
307
- 44250 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    // a minion var is either a reference or a "var as const"
+
    // a minion var is either a reference or a "var as const"
308
- 44250 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match _read_ref(e.clone()) {
+
    match _read_ref(e.clone()) {
309
- 35460 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Ok(name) => Ok(minion_ast::Var::NameRef(name)),
+
        Ok(name) => Ok(minion_ast::Var::NameRef(name)),
310
- 8790 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Err(_) => match read_const(e) {
+
        Err(_) => match read_const(e) {
311
- 8790 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Ok(n) => Ok(minion_ast::Var::ConstantAsVar(n)),
+
            Ok(n) => Ok(minion_ast::Var::ConstantAsVar(n)),
315
- 44250 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
317
- 44250 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn _read_ref(e: conjure_ast::Expression) -> Result<String, SolverError> {
+
fn _read_ref(e: conjure_ast::Expression) -> Result<String, SolverError> {
318
- 44250 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let name = match e {
+
    let name = match e {
319
- 35460 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        conjure_ast::Expression::Reference(_metadata, n) => Ok(n),
+
        conjure_ast::Expression::Reference(_metadata, n) => Ok(n),
320
- 8790 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        x => Err(ModelInvalid(format!(
+
        x => Err(ModelInvalid(format!(
321
- 8790 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            "expected a reference, but got `{0:?}`",
+
            "expected a reference, but got `{0:?}`",
322
- 8790 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            x
+
            x
323
- 8790 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ))),
+
        ))),
324
- 8790 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }?;
+
    }?;
326
- 35460 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let str_name = _name_to_string(name);
+
    let str_name = _name_to_string(name);
327
- 35460 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    Ok(str_name)
+
    Ok(str_name)
328
- 44250 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
330
- 13335 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn read_const(e: conjure_ast::Expression) -> Result<i32, SolverError> {
+
fn read_const(e: conjure_ast::Expression) -> Result<i32, SolverError> {
331
- 13335 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match e {
+
    match e {
332
- 13335 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        conjure_ast::Expression::Constant(_, conjure_ast::Constant::Int(n)) => Ok(n),
+
        conjure_ast::Expression::Constant(_, conjure_ast::Constant::Int(n)) => Ok(n),
338
- 13335 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
340
- 36495 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn _name_to_string(name: conjure_ast::Name) -> String {
+
fn _name_to_string(name: conjure_ast::Name) -> String {
341
- 36495 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match name {
+
    match name {
342
- 35865 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        conjure_ast::Name::UserName(x) => x,
+
        conjure_ast::Name::UserName(x) => x,
343
- 630 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        conjure_ast::Name::MachineName(x) => format!("__conjure_machine_name_{}", x),
+
        conjure_ast::Name::MachineName(x) => format!("__conjure_machine_name_{}", x),
345
- 36495 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
348
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn get_solver_stats() -> SolverStats {
+
fn get_solver_stats() -> SolverStats {
349
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    SolverStats {
+
    SolverStats {
350
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        nodes: get_from_table("Nodes".into()).map(|x| x.parse::<u64>().unwrap()),
+
        nodes: get_from_table("Nodes".into()).map(|x| x.parse::<u64>().unwrap()),
351
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ..Default::default()
+
        ..Default::default()
352
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
353
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
diff --git a/coverage/main/crates/conjure_core/src/solver/adaptors/sat_common.rs.html b/coverage/main/crates/conjure_core/src/solver/adaptors/sat_common.rs.html index a23f52df2..e3546e3a0 100644 --- a/coverage/main/crates/conjure_core/src/solver/adaptors/sat_common.rs.html +++ b/coverage/main/crates/conjure_core/src/solver/adaptors/sat_common.rs.html @@ -23,7 +23,7 @@

Functions

- 0 %

+ 0 %

@@ -5218,7 +5218,7 @@ diff --git a/coverage/main/crates/conjure_core/src/solver/index.html b/coverage/main/crates/conjure_core/src/solver/index.html index 2a61f9035..956bcd01f 100644 --- a/coverage/main/crates/conjure_core/src/solver/index.html +++ b/coverage/main/crates/conjure_core/src/solver/index.html @@ -15,7 +15,7 @@

Lines

- 68.71 %

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 12.4 %

+ 0 %

@@ -46,20 +46,20 @@ - 71.34% + 0% - 71.34% + 0% - 112 / 157 + 0 / 114 - 13.04% - 15 / 115 + 0% + 0 / 69 @@ -83,7 +83,7 @@ 0% - 0 / 6 + 0 / 4 @@ -91,7 +91,7 @@ diff --git a/coverage/main/crates/conjure_core/src/solver/mod.rs.html b/coverage/main/crates/conjure_core/src/solver/mod.rs.html index 9f9c8fcdd..3842b154a 100644 --- a/coverage/main/crates/conjure_core/src/solver/mod.rs.html +++ b/coverage/main/crates/conjure_core/src/solver/mod.rs.html @@ -15,7 +15,7 @@

Lines

- 71.34 %

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 13.04 %

+ 0 %

@@ -422,13 +422,13 @@ 25
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//! use std::sync::{Arc,Mutex};
+
//! use std::sync::{Arc,Mutex};
26
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//! use conjure_core::parse::get_example_model;
+
//! use conjure_core::parse::get_example_model;
27
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//! use conjure_core::rule_engine::resolve_rule_sets;
+
//! use conjure_core::rule_engine::resolve_rule_sets;
28
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//! use conjure_core::rule_engine::rewrite_model;
+
//! use conjure_core::rule_engine::rewrite_model;
29
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//! use conjure_core::solver::{adaptors, Solver, SolverAdaptor};
+
//! use conjure_core::solver::{adaptors, Solver, SolverAdaptor};
30
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//! use conjure_core::solver::states::ModelLoaded;
+
//! use conjure_core::solver::states::ModelLoaded;
31
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//! use conjure_core::solver::SolverFamily;
+
//! use conjure_core::solver::SolverFamily;
32
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//!
+
//!
33
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//! // Define and rewrite a model for minion.
+
//! // Define and rewrite a model for minion.
34
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//! let model = get_example_model("bool-03").unwrap();
+
//! let model = get_example_model("bool-03").unwrap();
35
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//! let rule_sets = resolve_rule_sets(SolverFamily::Minion, &vec!["Constant".to_string()]).unwrap();
+
//! let rule_sets = resolve_rule_sets(SolverFamily::Minion, &vec!["Constant".to_string()]).unwrap();
36
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//! let model = rewrite_model(&model,&rule_sets).unwrap();
+
//! let model = rewrite_model(&model,&rule_sets).unwrap();
37
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//!
+
//!
38
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//!
+
//!
39
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//! // Solve using Minion.
+
//! // Solve using Minion.
40
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//! let solver = Solver::new(adaptors::Minion::new());
+
//! let solver = Solver::new(adaptors::Minion::new());
41
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//! let solver: Solver<adaptors::Minion,ModelLoaded> = solver.load_model(model).unwrap();
+
//! let solver: Solver<adaptors::Minion,ModelLoaded> = solver.load_model(model).unwrap();
42
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//!
+
//!
43
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//! // In this example, we will count solutions.
+
//! // In this example, we will count solutions.
44
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//! //
+
//! //
45
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//! // The solver interface is designed to allow adaptors to use multiple-threads / processes if
+
//! // The solver interface is designed to allow adaptors to use multiple-threads / processes if
46
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//! // necessary. Therefore, the callback type requires all variables inside it to have a static
+
//! // necessary. Therefore, the callback type requires all variables inside it to have a static
47
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//! // lifetime and to implement Send (i.e. the variable can be safely shared between theads).
+
//! // lifetime and to implement Send (i.e. the variable can be safely shared between theads).
48
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//! //
+
//! //
49
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//! // We use Arc<Mutex<T>> to create multiple references to a threadsafe mutable
+
//! // We use Arc<Mutex<T>> to create multiple references to a threadsafe mutable
50
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//! // variable of type T.
+
//! // variable of type T.
51
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//! //
+
//! //
52
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//! // Using the move |x| ... closure syntax, we move one of these references into the closure.
+
//! // Using the move |x| ... closure syntax, we move one of these references into the closure.
53
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//! // Note that a normal closure borrow variables from the parent so is not
+
//! // Note that a normal closure borrow variables from the parent so is not
54
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//! // thread-safe.
+
//! // thread-safe.
55
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//!
+
//!
56
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//! let counter_ref = Arc::new(Mutex::new(0));
+
//! let counter_ref = Arc::new(Mutex::new(0));
57
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//! let counter_ref_2 = counter_ref.clone();
+
//! let counter_ref_2 = counter_ref.clone();
58
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//! solver.solve(Box::new(move |_| {
+
//! solver.solve(Box::new(move |_| {
59
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//!   let mut counter = (*counter_ref_2).lock().unwrap();
+
//!   let mut counter = (*counter_ref_2).lock().unwrap();
60
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//!   *counter += 1;
+
//!   *counter += 1;
61
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//!   true
+
//!   true
62
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//!   }));
+
//!   }));
63
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//!
+
//!
64
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//! let mut counter = (*counter_ref).lock().unwrap();
+
//! let mut counter = (*counter_ref).lock().unwrap();
65
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//! assert_eq!(*counter,2);
+
//! assert_eq!(*counter,2);
66
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//! ```
+
//! ```
67
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
//!
+
//!
215
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn init_solver(&mut self, _: private::Internal) {}
+
    fn init_solver(&mut self, _: private::Internal) {}
226
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn add_adaptor_info_to_stats(&self, stats: SolverStats) -> SolverStats {
+
    fn add_adaptor_info_to_stats(&self, stats: SolverStats) -> SolverStats {
227
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        SolverStats {
+
        SolverStats {
228
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            solver_adaptor: self.get_name(),
+
            solver_adaptor: self.get_name(),
229
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            solver_family: Some(self.get_family()),
+
            solver_family: Some(self.get_family()),
230
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            ..stats
+
            ..stats
231
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        }
+
        }
232
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
256
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub fn new(solver_adaptor: Adaptor) -> Solver<Adaptor> {
+
    pub fn new(solver_adaptor: Adaptor) -> Solver<Adaptor> {
257
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let mut solver = Solver {
+
        let mut solver = Solver {
258
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            state: Init,
+
            state: Init,
259
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            adaptor: solver_adaptor,
+
            adaptor: solver_adaptor,
260
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            context: None,
+
            context: None,
261
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        };
+
        };
262
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
263
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        solver.adaptor.init_solver(private::Internal);
+
        solver.adaptor.init_solver(private::Internal);
264
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        solver
+
        solver
265
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
273
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub fn load_model(mut self, model: Model) -> Result<Solver<A, ModelLoaded>, SolverError> {
+
    pub fn load_model(mut self, model: Model) -> Result<Solver<A, ModelLoaded>, SolverError> {
274
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let solver_model = &mut self.adaptor.load_model(model.clone(), private::Internal)?;
+
        let solver_model = &mut self.adaptor.load_model(model.clone(), private::Internal)?;
275
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Ok(Solver {
+
        Ok(Solver {
276
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            state: ModelLoaded,
+
            state: ModelLoaded,
277
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            adaptor: self.adaptor,
+
            adaptor: self.adaptor,
278
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            context: Some(model.context.clone()),
+
            context: Some(model.context.clone()),
279
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        })
+
        })
280
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
284
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub fn solve(
+
    pub fn solve(
285
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        mut self,
+
        mut self,
286
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        callback: SolverCallback,
+
        callback: SolverCallback,
287
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    ) -> Result<Solver<A, ExecutionSuccess>, SolverError> {
+
    ) -> Result<Solver<A, ExecutionSuccess>, SolverError> {
288
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        #[allow(clippy::unwrap_used)]
+
        #[allow(clippy::unwrap_used)]
289
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let start_time = Instant::now();
+
        let start_time = Instant::now();
290
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
291
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        #[allow(clippy::unwrap_used)]
+
        #[allow(clippy::unwrap_used)]
292
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let result = self.adaptor.solve(callback, private::Internal);
+
        let result = self.adaptor.solve(callback, private::Internal);
293
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
294
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let duration = start_time.elapsed();
+
        let duration = start_time.elapsed();
295
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
296
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        match result {
+
        match result {
297
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Ok(x) => {
+
            Ok(x) => {
298
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let stats = self
+
                let stats = self
299
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    .adaptor
+
                    .adaptor
300
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    .add_adaptor_info_to_stats(x.stats)
+
                    .add_adaptor_info_to_stats(x.stats)
301
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    .with_timings(duration.as_secs_f64());
+
                    .with_timings(duration.as_secs_f64());
302
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
303
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                Ok(Solver {
+
                Ok(Solver {
304
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    adaptor: self.adaptor,
+
                    adaptor: self.adaptor,
305
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    state: ExecutionSuccess {
+
                    state: ExecutionSuccess {
306
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        stats,
+
                        stats,
307
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        status: x.status,
+
                        status: x.status,
308
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        _sealed: private::Internal,
+
                        _sealed: private::Internal,
309
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    },
+
                    },
310
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    context: self.context,
+
                    context: self.context,
311
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                })
+
                })
315
- 121 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
352
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub fn stats(&self) -> SolverStats {
+
    pub fn stats(&self) -> SolverStats {
353
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        self.state.stats.clone()
+
        self.state.stats.clone()
354
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
357
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub fn save_stats_to_context(&self) {
+
    pub fn save_stats_to_context(&self) {
358
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        #[allow(clippy::unwrap_used)]
+
        #[allow(clippy::unwrap_used)]
359
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        #[allow(clippy::expect_used)]
+
        #[allow(clippy::expect_used)]
360
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        self.context
+
        self.context
361
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            .as_ref()
+
            .as_ref()
362
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            .expect("")
+
            .expect("")
363
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            .write()
+
            .write()
364
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            .unwrap()
+
            .unwrap()
365
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            .stats
+
            .stats
366
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            .add_solver_run(self.stats());
+
            .add_solver_run(self.stats());
367
- 70 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
-

Date: 2024-05-01 08:39

+

Date: 2024-05-27 10:40

diff --git a/coverage/main/crates/conjure_core/src/solver/model_modifier.rs.html b/coverage/main/crates/conjure_core/src/solver/model_modifier.rs.html index 567eef96f..fc2f23ae3 100644 --- a/coverage/main/crates/conjure_core/src/solver/model_modifier.rs.html +++ b/coverage/main/crates/conjure_core/src/solver/model_modifier.rs.html @@ -23,7 +23,7 @@

Functions

- 0 %

+ 0 %

@@ -898,7 +898,7 @@
diff --git a/coverage/main/crates/conjure_core/src/stats/index.html b/coverage/main/crates/conjure_core/src/stats/index.html index 88916ea47..c91b6f41a 100644 --- a/coverage/main/crates/conjure_core/src/stats/index.html +++ b/coverage/main/crates/conjure_core/src/stats/index.html @@ -14,8 +14,8 @@

Lines

-

- 80 %

+

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 25 %

+ 0 %

@@ -46,20 +46,20 @@ - 66.67% + 0% - 66.67% + 0% - 6 / 9 + 0 / 9 - 22.22% - 2 / 9 + 0% + 0 / 6 @@ -69,21 +69,21 @@ - 100% + 0% - - 100% + + 0% - - 6 / 6 + + 0 / 6 - 33.33% - 1 / 3 + 0% + 0 / 2 @@ -91,7 +91,7 @@ diff --git a/coverage/main/crates/conjure_core/src/stats/mod.rs.html b/coverage/main/crates/conjure_core/src/stats/mod.rs.html index 5b8c3e188..c41619fa3 100644 --- a/coverage/main/crates/conjure_core/src/stats/mod.rs.html +++ b/coverage/main/crates/conjure_core/src/stats/mod.rs.html @@ -15,7 +15,7 @@

Lines

- 66.67 %

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 22.22 %

+ 0 %

@@ -406,13 +406,13 @@ 24
- 210 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub fn add_solver_run(&mut self, solver_stats: SolverStats) {
+
    pub fn add_solver_run(&mut self, solver_stats: SolverStats) {
25
- 210 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        self.solver_runs.push(solver_stats);
+
        self.solver_runs.push(solver_stats);
26
- 210 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
28
- 360 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub fn add_rewriter_run(&mut self, rewriter_stats: RewriterStats) {
+
    pub fn add_rewriter_run(&mut self, rewriter_stats: RewriterStats) {
29
- 360 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        self.rewriter_runs.push(rewriter_stats);
+
        self.rewriter_runs.push(rewriter_stats);
30
- 360 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
-

Date: 2024-05-01 08:39

+

Date: 2024-05-27 10:40

diff --git a/coverage/main/crates/conjure_core/src/stats/solver_stats.rs.html b/coverage/main/crates/conjure_core/src/stats/solver_stats.rs.html index ba4ffd61d..09cb9cce7 100644 --- a/coverage/main/crates/conjure_core/src/stats/solver_stats.rs.html +++ b/coverage/main/crates/conjure_core/src/stats/solver_stats.rs.html @@ -14,8 +14,8 @@

Lines

-

- 100 %

+

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 33.33 %

+ 0 %

@@ -550,13 +550,13 @@ 33
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub fn with_timings(self, wall_time_s: f64) -> SolverStats {
+
    pub fn with_timings(self, wall_time_s: f64) -> SolverStats {
34
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        SolverStats {
+
        SolverStats {
35
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            conjure_solver_wall_time_s: wall_time_s,
+
            conjure_solver_wall_time_s: wall_time_s,
36
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            ..self.clone()
+
            ..self.clone()
37
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        }
+
        }
38
- 375 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
-

Date: 2024-05-01 08:39

+

Date: 2024-05-27 10:40

diff --git a/coverage/main/crates/conjure_macros/src/index.html b/coverage/main/crates/conjure_macros/src/index.html index f4599f66c..f5d9efc90 100644 --- a/coverage/main/crates/conjure_macros/src/index.html +++ b/coverage/main/crates/conjure_macros/src/index.html @@ -15,7 +15,7 @@

Lines

- 94.96 %

+ 92.92 %

@@ -23,7 +23,7 @@

Functions

- 55.88 %

+ 51.61 %

@@ -46,20 +46,20 @@ - 94.96% + 92.92% - 94.96% + 92.92% - 113 / 119 + 105 / 113 - 55.88% - 19 / 34 + 51.61% + 16 / 31 @@ -67,7 +67,7 @@ diff --git a/coverage/main/crates/conjure_macros/src/lib.rs.html b/coverage/main/crates/conjure_macros/src/lib.rs.html index 49ca02f62..f446e0d77 100644 --- a/coverage/main/crates/conjure_macros/src/lib.rs.html +++ b/coverage/main/crates/conjure_macros/src/lib.rs.html @@ -15,7 +15,7 @@

Lines

- 94.96 %

+ 92.92 %

@@ -23,7 +23,7 @@

Functions

- 55.88 %

+ 51.61 %

@@ -327,8 +327,8 @@
- 199 + role="cell" aria-label="165"> + 165
@@ -343,8 +343,8 @@
- 199 + role="cell" aria-label="165"> + 165
@@ -359,8 +359,8 @@
- 199 + role="cell" aria-label="165"> + 165
@@ -375,8 +375,8 @@
- 199 + role="cell" aria-label="165"> + 165
@@ -391,8 +391,8 @@
- 199 + role="cell" aria-label="165"> + 165
@@ -407,8 +407,8 @@
- 199 + role="cell" aria-label="165"> + 165
@@ -423,8 +423,8 @@
- 199 + role="cell" aria-label="165"> + 165
@@ -439,8 +439,8 @@
- 199 + role="cell" aria-label="165"> + 165
@@ -583,8 +583,8 @@
- 201 + role="cell" aria-label="165"> + 165
@@ -599,8 +599,8 @@
- 201 + role="cell" aria-label="165"> + 165
@@ -615,8 +615,8 @@
- 201 + role="cell" aria-label="165"> + 165
@@ -631,8 +631,8 @@
- 201 + role="cell" aria-label="165"> + 165
@@ -647,8 +647,8 @@
- 201 + role="cell" aria-label="165"> + 165
@@ -663,8 +663,8 @@
- 201 + role="cell" aria-label="165"> + 165
@@ -775,8 +775,8 @@
- 201 + role="cell" aria-label="165"> + 165
@@ -791,8 +791,8 @@
- 201 + role="cell" aria-label="165"> + 165
@@ -807,8 +807,8 @@
- 201 + role="cell" aria-label="165"> + 165
@@ -823,8 +823,8 @@
- 201 + role="cell" aria-label="165"> + 165
@@ -839,8 +839,8 @@
- 201 + role="cell" aria-label="165"> + 165
@@ -871,8 +871,8 @@
- 201 + role="cell" aria-label="165"> + 165
@@ -887,8 +887,8 @@
- 201 + role="cell" aria-label="165"> + 165
@@ -903,8 +903,8 @@
- 201 + role="cell" aria-label="165"> + 165
@@ -919,8 +919,8 @@
- 201 + role="cell" aria-label="165"> + 165
@@ -935,8 +935,8 @@
- 201 + role="cell" aria-label="165"> + 165
@@ -951,8 +951,8 @@
- 199 + role="cell" aria-label="165"> + 165
@@ -967,8 +967,8 @@
- 199 + role="cell" aria-label="165"> + 165
@@ -983,8 +983,8 @@
- 199 + role="cell" aria-label="165"> + 165
@@ -999,8 +999,8 @@
- 199 + role="cell" aria-label="165"> + 165
@@ -1015,8 +1015,8 @@
- 199 + role="cell" aria-label="165"> + 165
@@ -1031,8 +1031,8 @@
- 201 + role="cell" aria-label="165"> + 165
@@ -1047,8 +1047,8 @@
- 201 + role="cell" aria-label="165"> + 165
@@ -1079,8 +1079,8 @@
- 201 + role="cell" aria-label="165"> + 165
@@ -1095,8 +1095,8 @@
- 201 + role="cell" aria-label="165"> + 165
@@ -1111,8 +1111,8 @@
- 201 + role="cell" aria-label="165"> + 165
@@ -1127,8 +1127,8 @@
- 201 + role="cell" aria-label="165"> + 165
@@ -1143,8 +1143,8 @@
- 201 + role="cell" aria-label="165"> + 165
@@ -1159,8 +1159,8 @@
- 201 + role="cell" aria-label="165"> + 165
@@ -1175,8 +1175,8 @@
- 201 + role="cell" aria-label="165"> + 165
@@ -1191,8 +1191,8 @@
- 201 + role="cell" aria-label="165"> + 165
@@ -1207,8 +1207,8 @@
- 201 + role="cell" aria-label="165"> + 165
@@ -1223,8 +1223,8 @@
- 201 + role="cell" aria-label="165"> + 165
@@ -1239,8 +1239,8 @@
- 201 + role="cell" aria-label="165"> + 165
@@ -1255,8 +1255,8 @@
- 201 + role="cell" aria-label="165"> + 165
@@ -1287,8 +1287,8 @@
- 201 + role="cell" aria-label="165"> + 165
@@ -1303,8 +1303,8 @@
- 201 + role="cell" aria-label="165"> + 165
@@ -1335,8 +1335,8 @@
- 46 + role="cell" aria-label="35"> + 35
@@ -1351,8 +1351,8 @@
- 46 + role="cell" aria-label="35"> + 35
@@ -1367,8 +1367,8 @@
- 46 + role="cell" aria-label="35"> + 35
@@ -1399,8 +1399,8 @@
- 46 + role="cell" aria-label="35"> + 35
@@ -1415,8 +1415,8 @@
- 48 + role="cell" aria-label="35"> + 35
@@ -1431,8 +1431,8 @@
- 35 + role="cell" aria-label="25"> + 25
@@ -1447,8 +1447,8 @@
- 35 + role="cell" aria-label="25"> + 25
@@ -1463,8 +1463,8 @@
- 35 + role="cell" aria-label="25"> + 25
@@ -1479,8 +1479,8 @@
- 33 + role="cell" aria-label="25"> + 25
@@ -1494,13 +1494,13 @@ 92
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        }
+
        }
93
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        content.parse::<Comma>()?;
+
        content.parse::<Comma>()?;
- 46 + role="cell" aria-label="35"> + 35
@@ -1575,8 +1575,8 @@
- 46 + role="cell" aria-label="35"> + 35
@@ -1735,8 +1735,8 @@
- 34 + role="cell" aria-label="25"> + 25
@@ -1751,8 +1751,8 @@
- 34 + role="cell" aria-label="25"> + 25
@@ -1767,8 +1767,8 @@
- 34 + role="cell" aria-label="25"> + 25
@@ -1783,8 +1783,8 @@
- 34 + role="cell" aria-label="25"> + 25
@@ -1815,8 +1815,8 @@
- 34 + role="cell" aria-label="25"> + 25
@@ -1927,8 +1927,8 @@
- 34 + role="cell" aria-label="25"> + 25
@@ -1943,8 +1943,8 @@
- 34 + role="cell" aria-label="25"> + 25
@@ -1959,8 +1959,8 @@
- 34 + role="cell" aria-label="25"> + 25
@@ -1975,8 +1975,8 @@
- 34 + role="cell" aria-label="25"> + 25
@@ -2007,8 +2007,8 @@
- 34 + role="cell" aria-label="25"> + 25
@@ -2023,8 +2023,8 @@
- 22 + role="cell" aria-label="15"> + 15
@@ -2039,8 +2039,8 @@
- 22 + role="cell" aria-label="15"> + 15
@@ -2055,8 +2055,8 @@
- 22 + role="cell" aria-label="15"> + 15
@@ -2071,8 +2071,8 @@
- 22 + role="cell" aria-label="15"> + 15
@@ -2087,8 +2087,8 @@
- 22 + role="cell" aria-label="15"> + 15
@@ -2103,8 +2103,8 @@
- 22 + role="cell" aria-label="15"> + 15
@@ -2119,8 +2119,8 @@
- 12 + role="cell" aria-label="10"> + 10
@@ -2135,8 +2135,8 @@
- 12 + role="cell" aria-label="10"> + 10
@@ -2151,8 +2151,8 @@
- 12 + role="cell" aria-label="10"> + 10
@@ -2167,8 +2167,8 @@
- 12 + role="cell" aria-label="10"> + 10
@@ -2199,8 +2199,8 @@
- 12 + role="cell" aria-label="10"> + 10
@@ -2215,8 +2215,8 @@
- 12 + role="cell" aria-label="10"> + 10
@@ -2231,8 +2231,8 @@
- 12 + role="cell" aria-label="10"> + 10
@@ -2247,8 +2247,8 @@
- 12 + role="cell" aria-label="10"> + 10
@@ -2263,8 +2263,8 @@
- 12 + role="cell" aria-label="10"> + 10
@@ -2279,8 +2279,8 @@
- 12 + role="cell" aria-label="10"> + 10
@@ -2295,8 +2295,8 @@
- 34 + role="cell" aria-label="25"> + 25
@@ -2390,13 +2390,13 @@ 148
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
* # Example
+
* # Example
149
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
* ```rust
+
* ```rust
150
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 * use conjure_macros::register_rule_set;
+
 * use conjure_macros::register_rule_set;
151
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 * register_rule_set!("MyRuleSet", 10, ("DependencyRuleSet", "AnotherRuleSet"));
+
 * register_rule_set!("MyRuleSet", 10, ("DependencyRuleSet", "AnotherRuleSet"));
152
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
* ```
+
* ```
153
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
 */
+
 */
- 34 + role="cell" aria-label="25"> + 25
@@ -2535,8 +2535,8 @@
- 34 + role="cell" aria-label="25"> + 25
@@ -2551,8 +2551,8 @@
- 34 + role="cell" aria-label="25"> + 25
@@ -2567,8 +2567,8 @@
- 34 + role="cell" aria-label="25"> + 25
@@ -2583,8 +2583,8 @@
- 34 + role="cell" aria-label="25"> + 25
@@ -2599,8 +2599,8 @@
- 34 + role="cell" aria-label="25"> + 25
@@ -2631,8 +2631,8 @@
- 34 + role="cell" aria-label="25"> + 25
@@ -2647,8 +2647,8 @@
- 34 + role="cell" aria-label="25"> + 25
@@ -2679,8 +2679,8 @@
- 34 + role="cell" aria-label="25"> + 25
@@ -2695,8 +2695,8 @@
- 34 + role="cell" aria-label="25"> + 25
@@ -2711,8 +2711,8 @@
- 34 + role="cell" aria-label="25"> + 25
@@ -2743,8 +2743,8 @@
- 34 + role="cell" aria-label="25"> + 25
@@ -2759,8 +2759,8 @@
- 34 + role="cell" aria-label="25"> + 25
@@ -2775,8 +2775,8 @@
- 34 + role="cell" aria-label="25"> + 25
@@ -2807,8 +2807,8 @@
- 34 + role="cell" aria-label="25"> + 25
@@ -2823,8 +2823,8 @@
- 34 + role="cell" aria-label="25"> + 25
@@ -2839,8 +2839,8 @@
- 34 + role="cell" aria-label="25"> + 25
@@ -2855,8 +2855,8 @@
- 34 + role="cell" aria-label="25"> + 25
@@ -2871,8 +2871,8 @@
- 34 + role="cell" aria-label="25"> + 25
@@ -2887,8 +2887,8 @@
- 34 + role="cell" aria-label="25"> + 25
@@ -2903,8 +2903,8 @@
- 34 + role="cell" aria-label="25"> + 25
@@ -2919,8 +2919,8 @@
- 34 + role="cell" aria-label="25"> + 25
@@ -2930,7 +2930,7 @@
-

Date: 2024-05-01 08:39

+

Date: 2024-05-27 10:40

diff --git a/coverage/main/crates/enum_compatability_macro/src/index.html b/coverage/main/crates/enum_compatability_macro/src/index.html index 0f4a803c7..73bd7a4e1 100644 --- a/coverage/main/crates/enum_compatability_macro/src/index.html +++ b/coverage/main/crates/enum_compatability_macro/src/index.html @@ -15,7 +15,7 @@

Lines

- 100 %

+ 100 %

@@ -23,7 +23,7 @@

Functions

- 60 %

+ 50 %

@@ -55,11 +55,11 @@ 100% - 115 / 115 + 77 / 77 - 60% - 12 / 20 + 50% + 8 / 16 @@ -67,7 +67,7 @@
diff --git a/coverage/main/crates/enum_compatability_macro/src/lib.rs.html b/coverage/main/crates/enum_compatability_macro/src/lib.rs.html index 605985ae4..d78040e8f 100644 --- a/coverage/main/crates/enum_compatability_macro/src/lib.rs.html +++ b/coverage/main/crates/enum_compatability_macro/src/lib.rs.html @@ -15,7 +15,7 @@

Lines

- 100 %

+ 100 %

@@ -23,7 +23,7 @@

Functions

- 60 %

+ 50 %

@@ -631,8 +631,8 @@
- 144 + role="cell" aria-label="115"> + 115
@@ -647,8 +647,8 @@
- 144 + role="cell" aria-label="115"> + 115
@@ -663,8 +663,8 @@
- 144 + role="cell" aria-label="115"> + 115
@@ -679,8 +679,8 @@
- 144 + role="cell" aria-label="115"> + 115
@@ -695,8 +695,8 @@
- 144 + role="cell" aria-label="115"> + 115
@@ -711,8 +711,8 @@
- 144 + role="cell" aria-label="115"> + 115
@@ -727,8 +727,8 @@
- 144 + role="cell" aria-label="115"> + 115
@@ -743,8 +743,8 @@
- 152 + role="cell" aria-label="120"> + 120
@@ -759,8 +759,8 @@
- 152 + role="cell" aria-label="120"> + 120
@@ -775,8 +775,8 @@
- 30 + role="cell" aria-label="25"> + 25
@@ -791,8 +791,8 @@
- 122 + role="cell" aria-label="95"> + 95
@@ -807,8 +807,8 @@
- 122 + role="cell" aria-label="95"> + 95
@@ -823,8 +823,8 @@
- 122 + role="cell" aria-label="95"> + 95
@@ -839,8 +839,8 @@
- 122 + role="cell" aria-label="95"> + 95
@@ -855,8 +855,8 @@
- 287 + role="cell" aria-label="225"> + 225
@@ -871,8 +871,8 @@
- 165 + role="cell" aria-label="130"> + 130
@@ -887,8 +887,8 @@
- 165 + role="cell" aria-label="130"> + 130
@@ -903,8 +903,8 @@
- 165 + role="cell" aria-label="130"> + 130
@@ -919,8 +919,8 @@
- 165 + role="cell" aria-label="130"> + 130
@@ -967,8 +967,8 @@
- 144 + role="cell" aria-label="115"> + 115
@@ -983,8 +983,8 @@
- 120 + role="cell" aria-label="95"> + 95
@@ -999,8 +999,8 @@
- 120 + role="cell" aria-label="95"> + 95
@@ -1015,8 +1015,8 @@
- 120 + role="cell" aria-label="95"> + 95
@@ -1031,8 +1031,8 @@
- 120 + role="cell" aria-label="95"> + 95
@@ -1047,8 +1047,8 @@
- 120 + role="cell" aria-label="95"> + 95
@@ -1079,8 +1079,8 @@
- 272 + role="cell" aria-label="215"> + 215
@@ -1095,8 +1095,8 @@
- 144 + role="cell" aria-label="115"> + 115
@@ -1222,13 +1222,13 @@ 75
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// use enum_compatability_macro::document_compatibility;
+
/// use enum_compatability_macro::document_compatibility;
76
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///
+
///
77
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// #[document_compatibility]
+
/// #[document_compatibility]
78
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// pub enum Expression {
+
/// pub enum Expression {
79
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///    #[compatible(Minion)]
+
///    #[compatible(Minion)]
80
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///    ConstantInt(i32),
+
///    ConstantInt(i32),
81
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///    // ...
+
///    // ...
82
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///    #[compatible(Chuffed)]
+
///    #[compatible(Chuffed)]
83
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///    #[compatible(Minion)]
+
///    #[compatible(Minion)]
84
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///    Sum(Vec<Expression>)
+
///    Sum(Vec<Expression>)
85
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///    }
+
///    }
86
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// ```
+
/// ```
87
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///
+
///
104
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///# use enum_compatability_macro::document_compatibility;
+
///# use enum_compatability_macro::document_compatibility;
105
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///#
+
///#
106
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///# #[document_compatibility]
+
///# #[document_compatibility]
107
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///# pub enum Expression {
+
///# pub enum Expression {
108
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///#    #[compatible(Minion)]
+
///#    #[compatible(Minion)]
109
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///#    ConstantInt(i32),
+
///#    ConstantInt(i32),
110
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///#    // ...
+
///#    // ...
111
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///     #[compatible(Chuffed)]
+
///     #[compatible(Chuffed)]
112
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///     #[compatible(Minion)]
+
///     #[compatible(Minion)]
113
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///     Sum(Vec<Expression>)
+
///     Sum(Vec<Expression>)
114
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///#    }
+
///#    }
115
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// ```
+
/// ```
116
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///
+
///
118
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///# use enum_compatability_macro::document_compatibility;
+
///# use enum_compatability_macro::document_compatibility;
119
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///#
+
///#
120
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///# #[document_compatibility]
+
///# #[document_compatibility]
121
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///# pub enum Expression {
+
///# pub enum Expression {
122
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///#    #[compatible(Minion)]
+
///#    #[compatible(Minion)]
123
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///#    ConstantInt(i32),
+
///#    ConstantInt(i32),
124
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///#    // ...
+
///#    // ...
125
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///     #[compatible(Minion,Chuffed)]
+
///     #[compatible(Minion,Chuffed)]
126
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///     Sum(Vec<Expression>)
+
///     Sum(Vec<Expression>)
127
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///#    }
+
///#    }
128
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// ```
+
/// ```
129
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///
+
///
- 9 + role="cell" aria-label="5"> + 5
@@ -2151,8 +2151,8 @@
- 9 + role="cell" aria-label="5"> + 5
@@ -2167,8 +2167,8 @@
- 9 + role="cell" aria-label="5"> + 5
@@ -2215,8 +2215,8 @@
- 144 + role="cell" aria-label="115"> + 115
@@ -2231,8 +2231,8 @@
- 144 + role="cell" aria-label="115"> + 115
@@ -2247,8 +2247,8 @@
- 152 + role="cell" aria-label="120"> + 120
@@ -2263,8 +2263,8 @@
- 152 + role="cell" aria-label="120"> + 120
@@ -2279,8 +2279,8 @@
- 30 + role="cell" aria-label="25"> + 25
@@ -2295,8 +2295,8 @@
- 122 + role="cell" aria-label="95"> + 95
@@ -2311,8 +2311,8 @@
- 122 + role="cell" aria-label="95"> + 95
@@ -2327,8 +2327,8 @@
- 122 + role="cell" aria-label="95"> + 95
@@ -2343,8 +2343,8 @@
- 122 + role="cell" aria-label="95"> + 95
@@ -2359,8 +2359,8 @@
- 122 + role="cell" aria-label="95"> + 95
@@ -2375,8 +2375,8 @@
- 287 + role="cell" aria-label="225"> + 225
@@ -2391,8 +2391,8 @@
- 165 + role="cell" aria-label="130"> + 130
@@ -2407,8 +2407,8 @@
- 165 + role="cell" aria-label="130"> + 130
@@ -2423,8 +2423,8 @@
- 165 + role="cell" aria-label="130"> + 130
@@ -2439,8 +2439,8 @@
- 24 + role="cell" aria-label="15"> + 15
@@ -2455,8 +2455,8 @@
- 24 + role="cell" aria-label="15"> + 15
@@ -2471,8 +2471,8 @@
- 24 + role="cell" aria-label="15"> + 15
@@ -2487,8 +2487,8 @@
- 141 + role="cell" aria-label="115"> + 115
@@ -2503,8 +2503,8 @@
- 141 + role="cell" aria-label="115"> + 115
@@ -2519,8 +2519,8 @@
- 141 + role="cell" aria-label="115"> + 115
@@ -2647,8 +2647,8 @@
- 9 + role="cell" aria-label="5"> + 5
@@ -2663,8 +2663,8 @@
- 9 + role="cell" aria-label="5"> + 5
@@ -2679,8 +2679,8 @@
- 9 + role="cell" aria-label="5"> + 5
@@ -2695,8 +2695,8 @@
- 9 + role="cell" aria-label="5"> + 5
@@ -2711,8 +2711,8 @@
- 9 + role="cell" aria-label="5"> + 5
@@ -2727,8 +2727,8 @@
- 9 + role="cell" aria-label="5"> + 5
@@ -2743,8 +2743,8 @@
- 9 + role="cell" aria-label="5"> + 5
@@ -2759,8 +2759,8 @@
- 9 + role="cell" aria-label="5"> + 5
@@ -2775,8 +2775,8 @@
- 24 + role="cell" aria-label="15"> + 15
@@ -2807,8 +2807,8 @@
- 24 + role="cell" aria-label="15"> + 15
@@ -2855,8 +2855,8 @@
- 165 + role="cell" aria-label="130"> + 130
@@ -2871,8 +2871,8 @@
- 24 + role="cell" aria-label="15"> + 15
@@ -2887,8 +2887,8 @@
- 24 + role="cell" aria-label="15"> + 15
@@ -2903,8 +2903,8 @@
- 24 + role="cell" aria-label="15"> + 15
@@ -2919,8 +2919,8 @@
- 165 + role="cell" aria-label="130"> + 130
@@ -2935,8 +2935,8 @@
- 24 + role="cell" aria-label="15"> + 15
@@ -2951,8 +2951,8 @@
- 165 + role="cell" aria-label="130"> + 130
@@ -2967,8 +2967,8 @@
- 165 + role="cell" aria-label="130"> + 130
@@ -2983,8 +2983,8 @@
- 165 + role="cell" aria-label="130"> + 130
@@ -3031,8 +3031,8 @@
- 24 + role="cell" aria-label="15"> + 15
@@ -3079,8 +3079,8 @@
- 9 + role="cell" aria-label="5"> + 5
@@ -3095,8 +3095,8 @@
- 9 + role="cell" aria-label="5"> + 5
@@ -3111,8 +3111,8 @@
- 9 + role="cell" aria-label="5"> + 5
@@ -3127,8 +3127,8 @@
- 9 + role="cell" aria-label="5"> + 5
@@ -3143,8 +3143,8 @@
- 9 + role="cell" aria-label="5"> + 5
@@ -3159,8 +3159,8 @@
- 9 + role="cell" aria-label="5"> + 5
@@ -3175,8 +3175,8 @@
- 9 + role="cell" aria-label="5"> + 5
@@ -3186,7 +3186,7 @@
-

Date: 2024-05-01 08:39

+

Date: 2024-05-27 10:40

diff --git a/coverage/main/crates/uniplate/src/biplate.rs.html b/coverage/main/crates/uniplate/src/biplate.rs.html index 290b54f1b..de4d734b5 100644 --- a/coverage/main/crates/uniplate/src/biplate.rs.html +++ b/coverage/main/crates/uniplate/src/biplate.rs.html @@ -15,7 +15,7 @@

Lines

- 28.99 %

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 23.81 %

+ 0 %

@@ -662,13 +662,13 @@ 40
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn universe_bi(&self) -> im::Vector<To> {
+
    fn universe_bi(&self) -> im::Vector<To> {
41
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        self.children_bi()
+
        self.children_bi()
42
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            .into_iter()
+
            .into_iter()
43
- 4 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            .flat_map(|child| child.universe())
+
            .flat_map(|child| child.universe())
44
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            .collect()
+
            .collect()
45
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
48
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn children_bi(&self) -> im::Vector<To> {
+
    fn children_bi(&self) -> im::Vector<To> {
49
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        self.biplate().0.list().0
+
        self.biplate().0.list().0
50
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
70
- 8 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn universe(&self) -> im::Vector<Self> {
+
    fn universe(&self) -> im::Vector<Self> {
71
- 8 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let mut results = vector![self.clone()];
+
        let mut results = vector![self.clone()];
72
- 8 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        for child in self.children() {
+
        for child in self.children() {
73
- 4 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            results.append(child.universe());
+
            results.append(child.universe());
74
- 4 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        }
+
        }
75
- 8 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        results
+
        results
76
- 8 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
79
- 8 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn children(&self) -> im::Vector<Self> {
+
    fn children(&self) -> im::Vector<Self> {
80
- 8 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let (children, _) = self.uniplate();
+
        let (children, _) = self.uniplate();
81
- 8 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        children.list().0.clone()
+
        children.list().0.clone()
82
- 8 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
-

Date: 2024-05-01 08:39

+

Date: 2024-05-27 10:40

diff --git a/coverage/main/crates/uniplate/src/index.html b/coverage/main/crates/uniplate/src/index.html index c2dbc44a4..93608717d 100644 --- a/coverage/main/crates/uniplate/src/index.html +++ b/coverage/main/crates/uniplate/src/index.html @@ -15,7 +15,7 @@

Lines

- 61 %

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 47.83 %

+ 0 %

@@ -46,44 +46,20 @@ - 28.99% + 0% - 28.99% + 0% - 20 / 69 + 0 / 69 - 23.81% - 5 / 21 - - - - - - lib.rs - - - - 93.62% - - - - 93.62% - - - 44 / 47 - - - 88.89% - 8 / 9 + 0% + 0 / 21 @@ -93,21 +69,21 @@ - 96.25% + 0% - - 96.25% + + 0% - - 77 / 80 + + 0 / 80 - 78.95% - 15 / 19 + 0% + 0 / 19 @@ -118,20 +94,20 @@ - 26.98% + 0% - 26.98% + 0% - 17 / 63 + 0 / 63 - 25% - 5 / 20 + 0% + 0 / 16 @@ -139,7 +115,7 @@ diff --git a/coverage/main/crates/uniplate/src/lib.rs.html b/coverage/main/crates/uniplate/src/lib.rs.html deleted file mode 100644 index 48c46b85c..000000000 --- a/coverage/main/crates/uniplate/src/lib.rs.html +++ /dev/null @@ -1,1881 +0,0 @@ - - - - - Grcov report - lib.rs - - -
- - - -
-
- 1 -
-
- -
-
-
//! A port of Haskell's [Uniplate](https://hackage.haskell.org/package/uniplate) in Rust.
-
-
-
- 2 -
-
- -
-
-
//!
-
-
-
- 3 -
-
- -
-
-
//!
-
-
-
- 4 -
-
- -
-
-
//! # Examples
-
-
-
- 5 -
-
- -
-
-
//!
-
-
-
- 6 -
-
- -
-
-
//! ## A Calculator Input Language
-
-
-
- 7 -
-
- -
-
-
//!
-
-
-
- 8 -
-
- -
-
-
//! Consider the AST of a calculator input language:
-
-
-
- 9 -
-
- -
-
-
//!
-
-
-
- 10 -
-
- 1 -
-
-
//! ```
-
-
-
- 11 -
-
- 1 -
-
-
//! pub enum AST {
-
-
-
- 12 -
-
- 1 -
-
-
//!     Int(i32),
-
-
-
- 13 -
-
- 1 -
-
-
//!     Add(Box<AST>,Box<AST>),
-
-
-
- 14 -
-
- 1 -
-
-
//!     Sub(Box<AST>,Box<AST>),
-
-
-
- 15 -
-
- 1 -
-
-
//!     Div(Box<AST>,Box<AST>),
-
-
-
- 16 -
-
- 1 -
-
-
//!     Mul(Box<AST>,Box<AST>)
-
-
-
- 17 -
-
- 1 -
-
-
//! }
-
-
-
- 18 -
-
- 1 -
-
-
//!```
-
-
-
- 19 -
-
- -
-
-
//!
-
-
-
- 20 -
-
- -
-
-
//! Using uniplate, one can implement a single function for this AST that can be used in a whole
-
-
-
- 21 -
-
- -
-
-
//! range of traversals.
-
-
-
- 22 -
-
- -
-
-
//!
-
-
-
- 23 -
-
- -
-
-
//! While this does not seem helpful in this toy example, the benefits amplify when the number of
-
-
-
- 24 -
-
- -
-
-
//! enum variants increase, and the different types contained in their fields increase.
-
-
-
- 25 -
-
- -
-
-
//!
-
-
-
- 26 -
-
- -
-
-
//!
-
-
-
- 27 -
-
- -
-
-
//! The below example implements [`Uniplate`](uniplate::Uniplate) for this language AST, and uses uniplate methods to
-
-
-
- 28 -
-
- -
-
-
//! evaluate the encoded equation.
-
-
-
- 29 -
-
- -
-
-
//!
-
-
-
- 30 -
-
- -
-
-
//!```
-
-
-
- 31 -
-
- -
-
-
//! use uniplate::uniplate::{Uniplate, UniplateError};
-
-
-
- 32 -
-
- -
-
-
//!
-
-
-
- 33 -
-
- -
-
-
//! #[derive(Clone,Eq,PartialEq,Debug)]
-
-
-
- 34 -
-
- -
-
-
//! pub enum AST {
-
-
-
- 35 -
-
- -
-
-
//!     Int(i32),
-
-
-
- 36 -
-
- -
-
-
//!     Add(Box<AST>,Box<AST>),
-
-
-
- 37 -
-
- -
-
-
//!     Sub(Box<AST>,Box<AST>),
-
-
-
- 38 -
-
- -
-
-
//!     Div(Box<AST>,Box<AST>),
-
-
-
- 39 -
-
- -
-
-
//!     Mul(Box<AST>,Box<AST>)
-
-
-
- 40 -
-
- -
-
-
//! }
-
-
-
- 41 -
-
- -
-
-
//!
-
-
-
- 42 -
-
- -
-
-
//! // In the future would be automatically derived.
-
-
-
- 43 -
-
- -
-
-
//! impl Uniplate for AST {
-
-
-
- 44 -
-
- -
-
-
//!     fn uniplate(&self) -> (Vec<AST>, Box<dyn Fn(Vec<AST>) -> Result<AST, UniplateError> +'_>) {
-
-
-
- 45 -
-
- 9 -
-
-
//!         let context: Box<dyn Fn(Vec<AST>) -> Result<AST, UniplateError>> = match self {
-
-
-
- 46 -
-
- 9 -
-
-
//!             AST::Int(i) =>    Box::new(|_| Ok(AST::Int(*i))),
-
-
-
- 47 -
-
- 5 -
-
-
//!             AST::Add(_, _) => Box::new(|exprs: Vec<AST>| Ok(AST::Add(Box::new(exprs[0].clone()),Box::new(exprs[1].clone())))),
-
-
-
- 48 -
-
- 2 -
-
-
//!             AST::Sub(_, _) => Box::new(|exprs: Vec<AST>| Ok(AST::Sub(Box::new(exprs[0].clone()),Box::new(exprs[1].clone())))),
-
-
-
- 49 -
-
- -
-
-
//!             AST::Div(_, _) => Box::new(|exprs: Vec<AST>| Ok(AST::Div(Box::new(exprs[0].clone()),Box::new(exprs[1].clone())))),
-
-
-
- 50 -
-
- 1 -
-
-
//!             AST::Mul(_, _) => Box::new(|exprs: Vec<AST>| Ok(AST::Mul(Box::new(exprs[0].clone()),Box::new(exprs[1].clone()))))
-
-
-
- 51 -
-
- 1 -
-
-
//!         };
-
-
-
- 52 -
-
- -
-
-
//!
-
-
-
- 53 -
-
- -
-
-
//!         let children: Vec<AST> = match self {
-
-
-
- 54 -
-
- 9 -
-
-
//!             AST::Add(a,b) => vec![*a.clone(),*b.clone()],
-
-
-
- 55 -
-
- 2 -
-
-
//!             AST::Sub(a,b) => vec![*a.clone(),*b.clone()],
-
-
-
- 56 -
-
- -
-
-
//!             AST::Div(a,b) => vec![*a.clone(),*b.clone()],
-
-
-
- 57 -
-
- 1 -
-
-
//!             AST::Mul(a,b) => vec![*a.clone(),*b.clone()],
-
-
-
- 58 -
-
- 1 -
-
-
//!             _ => vec![]
-
-
-
- 59 -
-
- 5 -
-
-
//!         };
-
-
-
- 60 -
-
- -
-
-
//!
-
-
-
- 61 -
-
- -
-
-
//!         (children,context)
-
-
-
- 62 -
-
- 9 -
-
-
//!     }
-
-
-
- 63 -
-
- 9 -
-
-
//! }
-
-
-
- 64 -
-
- -
-
-
//!
-
-
-
- 65 -
-
- -
-
-
//! pub fn my_rule(e: AST) -> AST{
-
-
-
- 66 -
-
- 9 -
-
-
//!     match e {
-
-
-
- 67 -
-
- 9 -
-
-
//!         AST::Int(a) => AST::Int(a),
-
-
-
- 68 -
-
- 5 -
-
-
//!         AST::Add(a,b) => {match (&*a,&*b) { (AST::Int(a), AST::Int(b)) => AST::Int(a+b), _ => AST::Add(a,b) }}
-
-
-
- 69 -
-
- 2 -
-
-
//!         AST::Sub(a,b) => {match (&*a,&*b) { (AST::Int(a), AST::Int(b)) => AST::Int(a-b), _ => AST::Sub(a,b) }}
-
-
-
- 70 -
-
- -
-
-
//!         AST::Mul(a,b) => {match (&*a,&*b) { (AST::Int(a), AST::Int(b)) => AST::Int(a*b), _ => AST::Mul(a,b) }}
-
-
-
- 71 -
-
- 1 -
-
-
//!         AST::Div(a,b) => {match (&*a,&*b) { (AST::Int(a), AST::Int(b)) => AST::Int(a/b), _ => AST::Div(a,b) }}
-
-
-
- 72 -
-
- 1 -
-
-
//!     }
-
-
-
- 73 -
-
- -
-
-
//! }
-
-
-
- 74 -
-
- 9 -
-
-
//! pub fn main() {
-
-
-
- 75 -
-
- 1 -
-
-
//!     let ast = AST::Add(
-
-
-
- 76 -
-
- 1 -
-
-
//!                 Box::new(AST::Int(1)),
-
-
-
- 77 -
-
- 1 -
-
-
//!                 Box::new(AST::Mul(
-
-
-
- 78 -
-
- 1 -
-
-
//!                     Box::new(AST::Int(2)),
-
-
-
- 79 -
-
- 1 -
-
-
//!                     Box::new(AST::Div(
-
-
-
- 80 -
-
- 1 -
-
-
//!                         Box::new(AST::Add(Box::new(AST::Int(1)),Box::new(AST::Int(2)))),
-
-
-
- 81 -
-
- 1 -
-
-
//!                         Box::new(AST::Int(3))
-
-
-
- 82 -
-
- 1 -
-
-
//!                     )))));
-
-
-
- 83 -
-
- 1 -
-
-
//!
-
-
-
- 84 -
-
- 1 -
-
-
//!     let new_ast = ast.transform(my_rule);
-
-
-
- 85 -
-
- 1 -
-
-
//!     assert!(new_ast.is_ok());
-
-
-
- 86 -
-
- 1 -
-
-
//!     println!("{:?}",new_ast);
-
-
-
- 87 -
-
- 1 -
-
-
//!     assert_eq!(new_ast.unwrap(), AST::Int(3));
-
-
-
- 88 -
-
- 1 -
-
-
//! }
-
-
-
- 89 -
-
- 1 -
-
-
//! ```
-
-
-
- 90 -
-
- -
-
-
//!
-
-
-
- 91 -
-
- -
-
-
//! ....MORE DOCS TO COME....
-
-
-
- 92 -
-
- -
-
-
//!
-
-
-
- 93 -
-
- -
-
-
//! # Acknowledgements / Related Work
-
-
-
- 94 -
-
- -
-
-
//!
-
-
-
- 95 -
-
- -
-
-
//! *This crate implements programming constructs from the following Haskell libraries and
-
-
-
- 96 -
-
- -
-
-
//! papers:*
-
-
-
- 97 -
-
- -
-
-
//!  
-
-
-
- 98 -
-
- -
-
-
//! * [Uniplate](https://hackage.haskell.org/package/uniplate).
-
-
-
- 99 -
-
- -
-
-
//!
-
-
-
- 100 -
-
- -
-
-
//! * Neil Mitchell and Colin Runciman. 2007. Uniform boilerplate and list processing. In
-
-
-
- 101 -
-
- -
-
-
//! Proceedings of the ACM SIGPLAN workshop on Haskell workshop (Haskell '07). Association for
-
-
-
- 102 -
-
- -
-
-
//! Computing Machinery, New York, NY, USA, 49–60. <https://doi.org/10.1145/1291201.1291208>
-
-
-
- 103 -
-
- -
-
-
//! [(free copy)](https://www.cs.york.ac.uk/plasma/publications/pdf/MitchellRuncimanHW07.pdf)
-
-
-
- 104 -
-
- -
-
-
//!
-
-
-
- 105 -
-
- -
-
-
//! * Huet G. The Zipper. Journal of Functional Programming. 1997;7(5):549–54. <https://doi.org/10.1017/S0956796897002864>
-
-
-
- 106 -
-
- -
-
-
//! [(free copy)](https://www.cambridge.org/core/services/aop-cambridge-core/content/view/0C058890B8A9B588F26E6D68CF0CE204/S0956796897002864a.pdf/zipper.pdf)
-
-
-
- 107 -
-
- -
-
-

-            
-
-
- 108 -
-
- -
-
-
pub mod biplate;
-
-
-
- 109 -
-
- -
-
-
mod tree;
-
-
-
- 110 -
-
- -
-
-
pub mod uniplate;
-
-
-
- 111 -
-
- -
-
-

-            
-
-
- 112 -
-
- -
-
-
pub use tree::Tree;
-
-
-
- 113 -
-
- -
-
-

-            
-
-
- 114 -
-
- -
-
-
#[doc(hidden)]
-
-
-
- 115 -
-
- -
-
-
pub mod test_common;
-
-
-
- - - diff --git a/coverage/main/crates/uniplate/src/test_common/index.html b/coverage/main/crates/uniplate/src/test_common/index.html index de4a1b176..519d1a284 100644 --- a/coverage/main/crates/uniplate/src/test_common/index.html +++ b/coverage/main/crates/uniplate/src/test_common/index.html @@ -67,7 +67,7 @@ diff --git a/coverage/main/crates/uniplate/src/test_common/paper.rs.html b/coverage/main/crates/uniplate/src/test_common/paper.rs.html index acb69d626..e9452077c 100644 --- a/coverage/main/crates/uniplate/src/test_common/paper.rs.html +++ b/coverage/main/crates/uniplate/src/test_common/paper.rs.html @@ -1026,7 +1026,7 @@ diff --git a/coverage/main/crates/uniplate/src/tree.rs.html b/coverage/main/crates/uniplate/src/tree.rs.html index c78bc44f9..a6a01bf96 100644 --- a/coverage/main/crates/uniplate/src/tree.rs.html +++ b/coverage/main/crates/uniplate/src/tree.rs.html @@ -14,16 +14,16 @@

Lines

-

- 96.25 %

+

+ 0 %

Functions

-

- 78.95 %

+

+ 0 %

@@ -582,13 +582,13 @@ 35
- 785 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub fn list(self) -> (im::Vector<T>, Box<dyn Fn(im::Vector<T>) -> Tree<T>>) {
+
    pub fn list(self) -> (im::Vector<T>, Box<dyn Fn(im::Vector<T>) -> Tree<T>>) {
36
- 785 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        // inspired by the Uniplate Haskell equivalent Data.Generics.Str::strStructure
+
        // inspired by the Uniplate Haskell equivalent Data.Generics.Str::strStructure
37
- 785 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        // https://github.com/ndmitchell/uniplate/blob/master/Data/Generics/Str.hs#L85
+
        // https://github.com/ndmitchell/uniplate/blob/master/Data/Generics/Str.hs#L85
38
- 785 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
39
- 30650 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        fn flatten<T: Sized + Clone + Eq>(t: Tree<T>, xs: im::Vector<T>) -> im::Vector<T> {
+
        fn flatten<T: Sized + Clone + Eq>(t: Tree<T>, xs: im::Vector<T>) -> im::Vector<T> {
40
- 30650 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            match (t, xs) {
+
            match (t, xs) {
41
- 13676 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                (Zero, xs) => xs,
+
                (Zero, xs) => xs,
42
- 13844 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                (One(x), xs) => {
+
                (One(x), xs) => {
43
- 13844 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    let mut xs1 = xs.clone();
+
                    let mut xs1 = xs.clone();
44
- 13844 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    xs1.push_back(x);
+
                    xs1.push_back(x);
45
- 13844 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    xs1
+
                    xs1
46
- 785 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                }
+
                }
47
- 29865 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                (Many(ts), xs) => ts.into_iter().fold(xs, |xs, t| flatten(t, xs)),
+
                (Many(ts), xs) => ts.into_iter().fold(xs, |xs, t| flatten(t, xs)),
48
- 785 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            }
+
            }
49
- 30650 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        }
+
        }
50
- 785 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
51
- 785 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        // Iterate over both the old tree and the new list.
+
        // Iterate over both the old tree and the new list.
52
- 785 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        // We use the node types of the old tree to know what node types to use for the new tree.
+
        // We use the node types of the old tree to know what node types to use for the new tree.
53
- 9436 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        fn recons<T: Sized + Clone + Eq>(
+
        fn recons<T: Sized + Clone + Eq>(
54
- 9426 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            old_tree: Tree<T>,
+
            old_tree: Tree<T>,
55
- 9426 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            xs: im::Vector<T>,
+
            xs: im::Vector<T>,
56
- 9426 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ) -> (Tree<T>, im::Vector<T>) {
+
        ) -> (Tree<T>, im::Vector<T>) {
57
- 9426 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            #[allow(clippy::unwrap_used)]
+
            #[allow(clippy::unwrap_used)]
58
- 9426 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            match (old_tree, xs) {
+
            match (old_tree, xs) {
59
- 4169 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                (Zero, xs) => (Zero, xs),
+
                (Zero, xs) => (Zero, xs),
60
- 4315 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                (One(_), xs) => {
+
                (One(_), xs) => {
61
- 4305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    let mut xs1 = xs.clone();
+
                    let mut xs1 = xs.clone();
62
- 4305 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    (One(xs1.pop_front().unwrap()), xs1)
+
                    (One(xs1.pop_front().unwrap()), xs1)
63
- 785 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                }
+
                }
64
- 972 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                (Many(ts), xs) => {
+
                (Many(ts), xs) => {
65
- 9168 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    let (ts1, xs1) = ts.into_iter().fold((vector![], xs), |(ts1, xs), t| {
+
                    let (ts1, xs1) = ts.into_iter().fold((vector![], xs), |(ts1, xs), t| {
66
- 9168 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        let (t1, xs1) = recons(t, xs);
+
                        let (t1, xs1) = recons(t, xs);
67
- 9168 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        let mut ts2 = ts1.clone();
+
                        let mut ts2 = ts1.clone();
68
- 9168 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        ts2.push_back(t1);
+
                        ts2.push_back(t1);
69
- 9168 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        (ts2, xs1)
+
                        (ts2, xs1)
70
- 9168 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    });
+
                    });
71
- 962 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    (Many(ts1), xs1)
+
                    (Many(ts1), xs1)
72
- 785 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                }
+
                }
73
- 785 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            }
+
            }
74
- 9436 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        }
+
        }
75
- 785 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        (
+
        (
76
- 785 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            flatten(self.clone(), vector![]),
+
            flatten(self.clone(), vector![]),
77
- 785 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Box::new(move |xs| recons(self.clone(), xs).0),
+
            Box::new(move |xs| recons(self.clone(), xs).0),
78
- 785 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        )
+
        )
79
- 785 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
82
- 10586 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub fn map(self, op: Arc<dyn Fn(T) -> T>) -> Tree<T> {
+
    pub fn map(self, op: Arc<dyn Fn(T) -> T>) -> Tree<T> {
83
- 10586 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        match self {
+
        match self {
84
- 4752 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Zero => Zero,
+
            Zero => Zero,
85
- 4761 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            One(t) => One(op(t)),
+
            One(t) => One(op(t)),
86
- 10328 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Many(ts) => Many(ts.into_iter().map(|t| t.map(op.clone())).collect()),
+
            Many(ts) => Many(ts.into_iter().map(|t| t.map(op.clone())).collect()),
88
- 10586 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
93
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn proptest_integer_trees() -> impl Strategy<Value = Tree<i32>> {
+
fn proptest_integer_trees() -> impl Strategy<Value = Tree<i32>> {
94
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    // https://proptest-rs.github.io/proptest/proptest/tutorial/enums.html
+
    // https://proptest-rs.github.io/proptest/proptest/tutorial/enums.html
95
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    // https://proptest-rs.github.io/proptest/proptest/tutorial/recursive.html
+
    // https://proptest-rs.github.io/proptest/proptest/tutorial/recursive.html
96
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let leaf = prop_oneof![Just(Tree::Zero), any::<i32>().prop_map(Tree::One),];
+
    let leaf = prop_oneof![Just(Tree::Zero), any::<i32>().prop_map(Tree::One),];
97
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
98
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    leaf.prop_recursive(
+
    leaf.prop_recursive(
99
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        10,  // levels deep
+
        10,  // levels deep
100
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        512, // Shoot for maximum size of 512 nodes
+
        512, // Shoot for maximum size of 512 nodes
101
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        20,  // We put up to 20 items per collection
+
        20,  // We put up to 20 items per collection
102
- 5160 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        |inner| im::proptest::vector(inner.clone(), 0..20).prop_map(Tree::Many),
+
        |inner| im::proptest::vector(inner.clone(), 0..20).prop_map(Tree::Many),
103
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    )
+
    )
104
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
123
- 4761 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let new_tree = tree.clone().map(Arc::new(move |a| a+diff));
+
            let new_tree = tree.clone().map(Arc::new(move |a| a+diff));
133
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn list_preserves_ordering() {
+
    fn list_preserves_ordering() {
134
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let my_tree: Tree<i32> = Many(vector![
+
        let my_tree: Tree<i32> = Many(vector![
135
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Many(vector![One(0), Zero]),
+
            Many(vector![One(0), Zero]),
136
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Many(vector![Many(vector![Zero, One(1), One(2)])]),
+
            Many(vector![Many(vector![Zero, One(1), One(2)])]),
137
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            One(3),
+
            One(3),
138
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Zero,
+
            Zero,
139
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            One(4)
+
            One(4)
140
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ]);
+
        ]);
141
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
142
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let flat = my_tree.list().0;
+
        let flat = my_tree.list().0;
144
- 6 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        for i in 0..5 {
+
        for i in 0..5 {
145
- 5 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            assert_eq!(flat[i], i.try_into().unwrap());
+
            assert_eq!(flat[i], i.try_into().unwrap());
147
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
-

Date: 2024-05-01 08:39

+

Date: 2024-05-27 10:40

diff --git a/coverage/main/crates/uniplate/src/uniplate.rs.html b/coverage/main/crates/uniplate/src/uniplate.rs.html index a2a042f09..044028b65 100644 --- a/coverage/main/crates/uniplate/src/uniplate.rs.html +++ b/coverage/main/crates/uniplate/src/uniplate.rs.html @@ -15,7 +15,7 @@

Lines

- 26.98 %

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 25 %

+ 0 %

@@ -662,13 +662,13 @@ 40
- 16394490 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn children(&self) -> Vec<Self> {
+
    fn children(&self) -> Vec<Self> {
41
- 16394490 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        self.uniplate().0
+
        self.uniplate().0
42
- 16394490 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
48
- 20250 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn with_children(&self, children: Vec<Self>) -> Result<Self, UniplateError> {
+
    fn with_children(&self, children: Vec<Self>) -> Result<Self, UniplateError> {
49
- 20250 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let context = self.uniplate().1;
+
        let context = self.uniplate().1;
50
- 20250 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        context(children)
+
        context(children)
51
- 20250 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
54
- 9 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn transform(&self, f: fn(Self) -> Self) -> Result<Self, UniplateError> {
+
    fn transform(&self, f: fn(Self) -> Self) -> Result<Self, UniplateError> {
55
- 9 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let (children, context) = self.uniplate();
+
        let (children, context) = self.uniplate();
56
- 9 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
57
- 9 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let mut new_children: Vec<Self> = Vec::new();
+
        let mut new_children: Vec<Self> = Vec::new();
58
- 17 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        for ch in children {
+
        for ch in children {
59
- 8 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let new_ch = ch.transform(f)?;
+
            let new_ch = ch.transform(f)?;
60
- 8 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            new_children.push(new_ch);
+
            new_children.push(new_ch);
63
- 9 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let transformed = context(new_children)?;
+
        let transformed = context(new_children)?;
64
- 9 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Ok(f(transformed))
+
        Ok(f(transformed))
65
- 9 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
-

Date: 2024-05-01 08:39

+

Date: 2024-05-27 10:40

diff --git a/coverage/main/crates/uniplate/tests/expr_stmt_manual.rs.html b/coverage/main/crates/uniplate/tests/expr_stmt_manual.rs.html index 323d486de..42fe2b530 100644 --- a/coverage/main/crates/uniplate/tests/expr_stmt_manual.rs.html +++ b/coverage/main/crates/uniplate/tests/expr_stmt_manual.rs.html @@ -15,7 +15,7 @@

Lines

- 43.48 %

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 17.65 %

+ 0 %

@@ -534,13 +534,13 @@ 32
- 8 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn uniplate(&self) -> (Tree<Self>, Box<dyn Fn(Tree<Self>) -> Self>) {
+
    fn uniplate(&self) -> (Tree<Self>, Box<dyn Fn(Tree<Self>) -> Self>) {
33
- 8 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        match self.clone() {
+
        match self.clone() {
34
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Add(f0, f1) => {
+
            Add(f0, f1) => {
35
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                // Field 0 - Box<Expr>
+
                // Field 0 - Box<Expr>
36
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let (f0_tree, f0_ctx) = <Expr as Biplate<Expr>>::biplate(&*f0);
+
                let (f0_tree, f0_ctx) = <Expr as Biplate<Expr>>::biplate(&*f0);
37
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
38
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                // Field 1 - Box<Expr>
+
                // Field 1 - Box<Expr>
39
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let (f1_tree, f1_ctx) = <Expr as Biplate<Expr>>::biplate(&*f1);
+
                let (f1_tree, f1_ctx) = <Expr as Biplate<Expr>>::biplate(&*f1);
40
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
41
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let tree = Many(vector![f0_tree, f1_tree]);
+
                let tree = Many(vector![f0_tree, f1_tree]);
42
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let ctx = Box::new(move |new_tree| {
+
                let ctx = Box::new(move |new_tree| {
49
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                });
+
                });
50
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
51
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                (tree, ctx)
+
                (tree, ctx)
111
- 3 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Val(f0) => (
+
            Val(f0) => (
112
- 3 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                Zero,
+
                Zero,
113
- 3 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                Box::new(move |x| {
+
                Box::new(move |x| {
116
- 3 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                }),
+
                }),
117
- 3 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            ),
+
            ),
118
- 3 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Var(f0) => (
+
            Var(f0) => (
119
- 3 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                Zero,
+
                Zero,
120
- 3 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                Box::new(move |x| {
+
                Box::new(move |x| {
123
- 3 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                }),
+
                }),
124
- 3 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            ),
+
            ),
134
- 8 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
161
- 12 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn biplate(&self) -> (Tree<Expr>, Box<dyn Fn(Tree<Expr>) -> Stmt>) {
+
    fn biplate(&self) -> (Tree<Expr>, Box<dyn Fn(Tree<Expr>) -> Stmt>) {
162
- 12 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        match self.clone() {
+
        match self.clone() {
163
- 4 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Assign(f0, f1) => {
+
            Assign(f0, f1) => {
164
- 4 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                // Field 0 - non recursive (String)
+
                // Field 0 - non recursive (String)
165
- 4 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let (f0_tree, f0_ctx) = (
+
                let (f0_tree, f0_ctx) = (
166
- 4 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    Tree::<Expr>::Zero,
+
                    Tree::<Expr>::Zero,
167
- 4 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    Box::new(move |_: Tree<Expr>| f0.clone()),
+
                    Box::new(move |_: Tree<Expr>| f0.clone()),
168
- 4 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                );
+
                );
169
- 4 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
170
- 4 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                //field 1 - Expr - target type
+
                //field 1 - Expr - target type
171
- 4 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let (f1_tree, f1_ctx) = <Expr as Biplate<Expr>>::biplate(&f1);
+
                let (f1_tree, f1_ctx) = <Expr as Biplate<Expr>>::biplate(&f1);
172
- 4 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
173
- 4 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let tree = Tree::<Expr>::Many(vector![f0_tree, f1_tree]);
+
                let tree = Tree::<Expr>::Many(vector![f0_tree, f1_tree]);
174
- 4 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
175
- 4 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let ctx = Box::new(move |new_tree| {
+
                let ctx = Box::new(move |new_tree| {
179
- 4 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                });
+
                });
180
- 4 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
181
- 4 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                (tree, ctx)
+
                (tree, ctx)
183
- 4 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Sequence(f0) => {
+
            Sequence(f0) => {
184
- 4 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                // Field 0 - Vec<Stmt>
+
                // Field 0 - Vec<Stmt>
185
- 4 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
186
- 4 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                // Get trees and contexts for each element.
+
                // Get trees and contexts for each element.
187
- 4 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let (f0_elems, f0_ctxs): (Vec<Tree<Expr>>, Vec<Box<dyn Fn(Tree<Expr>) -> Stmt>>) =
+
                let (f0_elems, f0_ctxs): (Vec<Tree<Expr>>, Vec<Box<dyn Fn(Tree<Expr>) -> Stmt>>) =
188
- 4 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                    f0.into_iter()
+
                    f0.into_iter()
189
- 4 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        .map(|stmt| <Stmt as Biplate<Expr>>::biplate(&stmt))
+
                        .map(|stmt| <Stmt as Biplate<Expr>>::biplate(&stmt))
190
- 4 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                        .unzip();
+
                        .unzip();
191
- 4 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
192
- 4 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let f0_tree = Many(f0_elems.into());
+
                let f0_tree = Many(f0_elems.into());
193
- 4 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let f0_ctx: Box<dyn Fn(Tree<Expr>) -> Vec<Stmt>> = Box::new(move |new_tree| {
+
                let f0_ctx: Box<dyn Fn(Tree<Expr>) -> Vec<Stmt>> = Box::new(move |new_tree| {
199
- 4 -
-
-
                });
+ class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> + +
+
+
                });
200
- 4 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
201
- 4 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let tree = Many(vector![f0_tree]);
+
                let tree = Many(vector![f0_tree]);
202
- 4 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let ctx = Box::new(move |new_tree| {
+
                let ctx = Box::new(move |new_tree| {
208
- 4 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                });
+
                });
209
- 4 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
210
- 4 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                (tree, ctx)
+
                (tree, ctx)
213
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            If(f0, f1, f2) => {
+
            If(f0, f1, f2) => {
214
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                // Field 0 - Expr
+
                // Field 0 - Expr
215
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let (f0_tree, f0_ctx) = <Expr as Biplate<Expr>>::biplate(&f0);
+
                let (f0_tree, f0_ctx) = <Expr as Biplate<Expr>>::biplate(&f0);
216
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
217
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                // Field 1 - Box::(stmt)
+
                // Field 1 - Box::(stmt)
218
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let (f1_tree, f1_ctx) = <Stmt as Biplate<Expr>>::biplate(&*f1);
+
                let (f1_tree, f1_ctx) = <Stmt as Biplate<Expr>>::biplate(&*f1);
219
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
220
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                //Field 2 - Box::(Stmt)
+
                //Field 2 - Box::(Stmt)
221
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let (f2_tree, f2_ctx) = <Stmt as Biplate<Expr>>::biplate(&*f2);
+
                let (f2_tree, f2_ctx) = <Stmt as Biplate<Expr>>::biplate(&*f2);
222
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
223
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let tree = Many(vector![f0_tree, f1_tree, f2_tree]);
+
                let tree = Many(vector![f0_tree, f1_tree, f2_tree]);
224
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let ctx = Box::new(move |new_tree| {
+
                let ctx = Box::new(move |new_tree| {
232
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                });
+
                });
233
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
234
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                (tree, ctx)
+
                (tree, ctx)
236
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            While(f0, f1) => {
+
            While(f0, f1) => {
237
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                // Field 0 - Expr
+
                // Field 0 - Expr
238
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let (f0_tree, f0_ctx) = <Expr as Biplate<Expr>>::biplate(&f0);
+
                let (f0_tree, f0_ctx) = <Expr as Biplate<Expr>>::biplate(&f0);
239
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
240
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                //Field 1 - Box::(Stmt)
+
                //Field 1 - Box::(Stmt)
241
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let (f1_tree, f1_ctx) = <Stmt as Biplate<Expr>>::biplate(&*f1);
+
                let (f1_tree, f1_ctx) = <Stmt as Biplate<Expr>>::biplate(&*f1);
242
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
243
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let tree = Many(vector![f0_tree, f1_tree]);
+
                let tree = Many(vector![f0_tree, f1_tree]);
244
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let ctx = Box::new(move |new_tree| {
+
                let ctx = Box::new(move |new_tree| {
248
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                });
+
                });
249
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
250
- 2 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                (tree, ctx)
+
                (tree, ctx)
253
- 12 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
257
- 12 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn biplate(&self) -> (Tree<Expr>, Box<dyn Fn(Tree<Expr>) -> Self>) {
+
    fn biplate(&self) -> (Tree<Expr>, Box<dyn Fn(Tree<Expr>) -> Self>) {
258
- 12 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        (
+
        (
259
- 12 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            One(self.clone()),
+
            One(self.clone()),
260
- 12 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Box::new(|t| {
+
            Box::new(|t| {
263
- 12 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            }),
+
            }),
264
- 12 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        )
+
        )
265
- 12 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
383
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn children_bi_multitype() {
+
fn children_bi_multitype() {
384
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let my_stmt = Sequence(vec![
+
    let my_stmt = Sequence(vec![
385
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        While(
+
        While(
386
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Val(0),
+
            Val(0),
387
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Box::new(Assign(
+
            Box::new(Assign(
388
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                "x".to_owned(),
+
                "x".to_owned(),
389
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                Add(Box::new(Var("x".to_owned())), Box::new(Val(10))),
+
                Add(Box::new(Var("x".to_owned())), Box::new(Val(10))),
390
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            )),
+
            )),
391
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ),
+
        ),
392
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        If(
+
        If(
393
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Var("x".to_string()),
+
            Var("x".to_string()),
394
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Box::new(Assign(
+
            Box::new(Assign(
395
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                "x".to_string(),
+
                "x".to_string(),
396
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                Add(Box::new(Var("x".to_owned())), Box::new(Val(10))),
+
                Add(Box::new(Var("x".to_owned())), Box::new(Val(10))),
397
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            )),
+
            )),
398
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Box::new(Sequence(vec![])),
+
            Box::new(Sequence(vec![])),
399
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ),
+
        ),
400
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    ]);
+
    ]);
401
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
402
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let expected_expr_children = 4;
+
    let expected_expr_children = 4;
403
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
404
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let children = <Stmt as Biplate<Expr>>::children_bi(&my_stmt);
+
    let children = <Stmt as Biplate<Expr>>::children_bi(&my_stmt);
405
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
406
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    assert_eq!(expected_expr_children, children.len());
+
    assert_eq!(expected_expr_children, children.len());
408
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    println!("{:?}", children);
+
    println!("{:?}", children);
409
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let Val(_) = children[0] else { panic!() };
+
    let Val(_) = children[0] else { panic!() };
410
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let Add(_, _) = children[1] else { panic!() };
+
    let Add(_, _) = children[1] else { panic!() };
411
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let Var(_) = children[2] else { panic!() };
+
    let Var(_) = children[2] else { panic!() };
412
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let Add(_, _) = children[3] else { panic!() };
+
    let Add(_, _) = children[3] else { panic!() };
413
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
416
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn universe_bi_multitype() {
+
fn universe_bi_multitype() {
417
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let my_stmt = Sequence(vec![
+
    let my_stmt = Sequence(vec![
418
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        While(
+
        While(
419
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Val(0),
+
            Val(0),
420
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Box::new(Assign(
+
            Box::new(Assign(
421
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                "x".to_owned(),
+
                "x".to_owned(),
422
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                Add(Box::new(Var("x".to_owned())), Box::new(Val(10))),
+
                Add(Box::new(Var("x".to_owned())), Box::new(Val(10))),
423
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            )),
+
            )),
424
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ),
+
        ),
425
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        If(
+
        If(
426
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Var("x".to_string()),
+
            Var("x".to_string()),
427
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Box::new(Assign(
+
            Box::new(Assign(
428
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                "x".to_string(),
+
                "x".to_string(),
429
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                Add(Box::new(Var("x".to_owned())), Box::new(Val(10))),
+
                Add(Box::new(Var("x".to_owned())), Box::new(Val(10))),
430
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            )),
+
            )),
431
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Box::new(Sequence(vec![])),
+
            Box::new(Sequence(vec![])),
432
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ),
+
        ),
433
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    ]);
+
    ]);
434
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
435
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let expected_expr_universe = 8;
+
    let expected_expr_universe = 8;
436
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
437
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let children = <Stmt as Biplate<Expr>>::universe_bi(&my_stmt);
+
    let children = <Stmt as Biplate<Expr>>::universe_bi(&my_stmt);
438
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
439
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    assert_eq!(expected_expr_universe, children.len());
+
    assert_eq!(expected_expr_universe, children.len());
441
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    println!("{:?}", children);
+
    println!("{:?}", children);
442
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let Val(_) = children[0] else { panic!() };
+
    let Val(_) = children[0] else { panic!() };
443
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let Add(_, _) = children[1] else { panic!() };
+
    let Add(_, _) = children[1] else { panic!() };
444
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let Var(_) = children[2] else { panic!() };
+
    let Var(_) = children[2] else { panic!() };
445
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let Val(_) = children[3] else { panic!() };
+
    let Val(_) = children[3] else { panic!() };
446
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let Var(_) = children[4] else { panic!() };
+
    let Var(_) = children[4] else { panic!() };
447
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let Add(_, _) = children[5] else { panic!() };
+
    let Add(_, _) = children[5] else { panic!() };
448
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let Var(_) = children[6] else { panic!() };
+
    let Var(_) = children[6] else { panic!() };
449
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let Val(_) = children[7] else { panic!() };
+
    let Val(_) = children[7] else { panic!() };
450
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
diff --git a/coverage/main/crates/uniplate/tests/index.html b/coverage/main/crates/uniplate/tests/index.html index 4a7ce104e..715b02590 100644 --- a/coverage/main/crates/uniplate/tests/index.html +++ b/coverage/main/crates/uniplate/tests/index.html @@ -15,7 +15,7 @@

Lines

- 43.48 %

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 17.65 %

+ 0 %

@@ -46,20 +46,20 @@ - 43.48% + 0% - 43.48% + 0% - 160 / 368 + 0 / 368 - 17.65% - 6 / 34 + 0% + 0 / 34 @@ -67,7 +67,7 @@ diff --git a/coverage/main/crates/uniplate_derive/src/index.html b/coverage/main/crates/uniplate_derive/src/index.html index d8c3be7ee..5599cb886 100644 --- a/coverage/main/crates/uniplate_derive/src/index.html +++ b/coverage/main/crates/uniplate_derive/src/index.html @@ -15,7 +15,7 @@

Lines

- 96.9 %

+ 96.46 %

@@ -23,7 +23,7 @@

Functions

- 51.61 %

+ 50 %

@@ -46,20 +46,20 @@ - 96.9% + 96.46% - 96.9% + 96.46% - 125 / 129 + 109 / 113 - 51.61% - 16 / 31 + 50% + 12 / 24 @@ -67,7 +67,7 @@ diff --git a/coverage/main/crates/uniplate_derive/src/lib.rs.html b/coverage/main/crates/uniplate_derive/src/lib.rs.html index d37f72384..2988259e5 100644 --- a/coverage/main/crates/uniplate_derive/src/lib.rs.html +++ b/coverage/main/crates/uniplate_derive/src/lib.rs.html @@ -15,7 +15,7 @@

Lines

- 96.9 %

+ 96.46 %

@@ -23,7 +23,7 @@

Functions

- 51.61 %

+ 50 %

@@ -215,8 +215,8 @@
- 300 + role="cell" aria-label="248"> + 248
@@ -231,8 +231,8 @@
- 300 + role="cell" aria-label="248"> + 248
@@ -247,8 +247,8 @@
- 300 + role="cell" aria-label="248"> + 248
@@ -263,8 +263,8 @@
- 300 + role="cell" aria-label="248"> + 248
@@ -279,8 +279,8 @@
- 300 + role="cell" aria-label="248"> + 248
@@ -295,8 +295,8 @@
- 12 + role="cell" aria-label="10"> + 10
@@ -311,8 +311,8 @@
- 12 + role="cell" aria-label="10"> + 10
@@ -327,8 +327,8 @@
- 12 + role="cell" aria-label="10"> + 10
@@ -359,8 +359,8 @@
- 288 + role="cell" aria-label="238"> + 238
@@ -375,8 +375,8 @@
- 288 + role="cell" aria-label="238"> + 238
@@ -391,8 +391,8 @@
- 288 + role="cell" aria-label="238"> + 238
@@ -423,8 +423,8 @@
- 300 + role="cell" aria-label="248"> + 248
@@ -471,8 +471,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -487,8 +487,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -503,8 +503,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -519,8 +519,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -551,8 +551,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -567,8 +567,8 @@
- 20 + role="cell" aria-label="16"> + 16
@@ -583,8 +583,8 @@
- 20 + role="cell" aria-label="16"> + 16
@@ -599,8 +599,8 @@
- 20 + role="cell" aria-label="16"> + 16
@@ -631,8 +631,8 @@
- 130 + role="cell" aria-label="108"> + 108
@@ -647,8 +647,8 @@
- 130 + role="cell" aria-label="108"> + 108
@@ -663,8 +663,8 @@
- 130 + role="cell" aria-label="108"> + 108
@@ -711,8 +711,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -727,8 +727,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -743,8 +743,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -759,8 +759,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -775,8 +775,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -791,8 +791,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -807,8 +807,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -823,8 +823,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -871,8 +871,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -887,8 +887,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -903,8 +903,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -919,8 +919,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -935,8 +935,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -951,8 +951,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -967,8 +967,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -983,8 +983,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -999,8 +999,8 @@
- 6 + role="cell" aria-label="5"> + 5
@@ -1015,8 +1015,8 @@
- 6 + role="cell" aria-label="5"> + 5
@@ -1031,8 +1031,8 @@
- 6 + role="cell" aria-label="5"> + 5
@@ -1047,8 +1047,8 @@
- 6 + role="cell" aria-label="5"> + 5
@@ -1063,8 +1063,8 @@
- 6 + role="cell" aria-label="5"> + 5
@@ -1095,8 +1095,8 @@
- 144 + role="cell" aria-label="119"> + 119
@@ -1111,8 +1111,8 @@
- 144 + role="cell" aria-label="119"> + 119
@@ -1127,8 +1127,8 @@
- 144 + role="cell" aria-label="119"> + 119
@@ -1143,8 +1143,8 @@
- 144 + role="cell" aria-label="119"> + 119
@@ -1159,8 +1159,8 @@
- 144 + role="cell" aria-label="119"> + 119
@@ -1175,8 +1175,8 @@
- 144 + role="cell" aria-label="119"> + 119
@@ -1191,8 +1191,8 @@
- 144 + role="cell" aria-label="119"> + 119
@@ -1207,8 +1207,8 @@
- 144 + role="cell" aria-label="119"> + 119
@@ -1223,8 +1223,8 @@
- 144 + role="cell" aria-label="119"> + 119
@@ -1239,8 +1239,8 @@
- 144 + role="cell" aria-label="119"> + 119
@@ -1255,8 +1255,8 @@
- 144 + role="cell" aria-label="119"> + 119
@@ -1271,8 +1271,8 @@
- 144 + role="cell" aria-label="119"> + 119
@@ -1303,8 +1303,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -1782,13 +1782,13 @@ 110
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// use uniplate_derive::Uniplate;
+
/// use uniplate_derive::Uniplate;
111
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// use uniplate::uniplate::Uniplate;
+
/// use uniplate::uniplate::Uniplate;
112
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///
+
///
113
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// #[derive(PartialEq, Eq, Debug, Clone, Uniplate)]
+
/// #[derive(PartialEq, Eq, Debug, Clone, Uniplate)]
114
- 3 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// enum MyEnum {
+
/// enum MyEnum {
115
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///    A(Box<MyEnum>),
+
///    A(Box<MyEnum>),
116
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///    B(Vec<MyEnum>),
+
///    B(Vec<MyEnum>),
117
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///    C(i32),
+
///    C(i32),
118
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// }
+
/// }
119
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///
+
///
120
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// let a = MyEnum::A(Box::new(MyEnum::C(42)));
+
/// let a = MyEnum::A(Box::new(MyEnum::C(42)));
121
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// let (children, context) = a.uniplate();
+
/// let (children, context) = a.uniplate();
122
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// assert_eq!(children, vec![MyEnum::C(42)]);
+
/// assert_eq!(children, vec![MyEnum::C(42)]);
123
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// assert_eq!(context(vec![MyEnum::C(42)]).unwrap(), a);
+
/// assert_eq!(context(vec![MyEnum::C(42)]).unwrap(), a);
124
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// ```
+
/// ```
125
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///
+
///
- 8 + role="cell" aria-label="6"> + 6
@@ -2071,8 +2071,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2087,8 +2087,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2103,8 +2103,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2135,8 +2135,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2183,8 +2183,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2199,8 +2199,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2215,8 +2215,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2231,8 +2231,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -2247,8 +2247,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2279,8 +2279,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2295,8 +2295,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2311,8 +2311,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2327,8 +2327,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2343,8 +2343,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2375,8 +2375,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2439,8 +2439,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2487,8 +2487,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2503,8 +2503,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2519,8 +2519,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2535,8 +2535,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -2551,8 +2551,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2583,8 +2583,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2599,8 +2599,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2615,8 +2615,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2631,8 +2631,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2647,8 +2647,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2679,8 +2679,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2695,8 +2695,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2711,8 +2711,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2727,8 +2727,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2743,8 +2743,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2759,8 +2759,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2775,8 +2775,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2791,8 +2791,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2807,8 +2807,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2823,8 +2823,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2839,8 +2839,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2855,8 +2855,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2871,8 +2871,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2887,8 +2887,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2903,8 +2903,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2919,8 +2919,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2935,8 +2935,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2951,8 +2951,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2967,8 +2967,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2983,8 +2983,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -2999,8 +2999,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -3015,8 +3015,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -3031,8 +3031,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -3047,8 +3047,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -3063,8 +3063,8 @@
- 8 + role="cell" aria-label="6"> + 6
@@ -3074,7 +3074,7 @@
-

Date: 2024-05-01 08:39

+

Date: 2024-05-27 10:40

diff --git a/coverage/main/crates/uniplate_derive/src/utils/generate.rs.html b/coverage/main/crates/uniplate_derive/src/utils/generate.rs.html index b89e79ab2..e74bdf52b 100644 --- a/coverage/main/crates/uniplate_derive/src/utils/generate.rs.html +++ b/coverage/main/crates/uniplate_derive/src/utils/generate.rs.html @@ -167,8 +167,8 @@
- 613 + role="cell" aria-label="512"> + 512
@@ -183,8 +183,8 @@
- 613 + role="cell" aria-label="512"> + 512
@@ -199,8 +199,8 @@
- 613 + role="cell" aria-label="512"> + 512
@@ -215,8 +215,8 @@
- 613 + role="cell" aria-label="512"> + 512
@@ -231,8 +231,8 @@
- 613 + role="cell" aria-label="512"> + 512
@@ -247,8 +247,8 @@
- 613 + role="cell" aria-label="512"> + 512
@@ -263,8 +263,8 @@
- 613 + role="cell" aria-label="512"> + 512
@@ -295,8 +295,8 @@
- 464 + role="cell" aria-label="388"> + 388
@@ -327,8 +327,8 @@
- 230 + role="cell" aria-label="192"> + 192
@@ -343,8 +343,8 @@
- 230 + role="cell" aria-label="192"> + 192
@@ -359,8 +359,8 @@
- 230 + role="cell" aria-label="192"> + 192
@@ -391,8 +391,8 @@
- 177 + role="cell" aria-label="148"> + 148
@@ -407,8 +407,8 @@
- 177 + role="cell" aria-label="148"> + 148
@@ -423,8 +423,8 @@
- 177 + role="cell" aria-label="148"> + 148
@@ -439,8 +439,8 @@
- 177 + role="cell" aria-label="148"> + 148
@@ -455,8 +455,8 @@
- 177 + role="cell" aria-label="148"> + 148
@@ -471,8 +471,8 @@
- 177 + role="cell" aria-label="148"> + 148
@@ -503,8 +503,8 @@
- 54 + role="cell" aria-label="45"> + 45
@@ -519,8 +519,8 @@
- 54 + role="cell" aria-label="45"> + 45
@@ -535,8 +535,8 @@
- 54 + role="cell" aria-label="45"> + 45
@@ -551,8 +551,8 @@
- 54 + role="cell" aria-label="45"> + 45
@@ -567,8 +567,8 @@
- 54 + role="cell" aria-label="45"> + 45
@@ -583,8 +583,8 @@
- 54 + role="cell" aria-label="45"> + 45
@@ -599,8 +599,8 @@
- 54 + role="cell" aria-label="45"> + 45
@@ -615,8 +615,8 @@
- 54 + role="cell" aria-label="45"> + 45
@@ -631,8 +631,8 @@
- 54 + role="cell" aria-label="45"> + 45
@@ -647,8 +647,8 @@
- 54 + role="cell" aria-label="45"> + 45
@@ -663,8 +663,8 @@
- 54 + role="cell" aria-label="45"> + 45
@@ -679,8 +679,8 @@
- 54 + role="cell" aria-label="45"> + 45
@@ -1047,8 +1047,8 @@
- 149 + role="cell" aria-label="124"> + 124
@@ -1079,8 +1079,8 @@
- 149 + role="cell" aria-label="124"> + 124
@@ -1095,8 +1095,8 @@
- 149 + role="cell" aria-label="124"> + 124
@@ -1111,8 +1111,8 @@
- 149 + role="cell" aria-label="124"> + 124
@@ -1127,8 +1127,8 @@
- 613 + role="cell" aria-label="512"> + 512
@@ -1175,8 +1175,8 @@
- 613 + role="cell" aria-label="512"> + 512
@@ -1191,8 +1191,8 @@
- 613 + role="cell" aria-label="512"> + 512
@@ -1207,8 +1207,8 @@
- 613 + role="cell" aria-label="512"> + 512
@@ -1223,8 +1223,8 @@
- 613 + role="cell" aria-label="512"> + 512
@@ -1239,8 +1239,8 @@
- 613 + role="cell" aria-label="512"> + 512
@@ -1255,8 +1255,8 @@
- 613 + role="cell" aria-label="512"> + 512
@@ -1287,8 +1287,8 @@
- 464 + role="cell" aria-label="388"> + 388
@@ -1319,8 +1319,8 @@
- 230 + role="cell" aria-label="192"> + 192
@@ -1335,8 +1335,8 @@
- 230 + role="cell" aria-label="192"> + 192
@@ -1351,8 +1351,8 @@
- 230 + role="cell" aria-label="192"> + 192
@@ -1383,8 +1383,8 @@
- 177 + role="cell" aria-label="148"> + 148
@@ -1399,8 +1399,8 @@
- 177 + role="cell" aria-label="148"> + 148
@@ -1415,8 +1415,8 @@
- 177 + role="cell" aria-label="148"> + 148
@@ -1431,8 +1431,8 @@
- 177 + role="cell" aria-label="148"> + 148
@@ -1447,8 +1447,8 @@
- 177 + role="cell" aria-label="148"> + 148
@@ -1463,8 +1463,8 @@
- 177 + role="cell" aria-label="148"> + 148
@@ -1495,8 +1495,8 @@
- 54 + role="cell" aria-label="45"> + 45
@@ -1511,8 +1511,8 @@
- 54 + role="cell" aria-label="45"> + 45
@@ -1527,8 +1527,8 @@
- 54 + role="cell" aria-label="45"> + 45
@@ -1543,8 +1543,8 @@
- 54 + role="cell" aria-label="45"> + 45
@@ -1559,8 +1559,8 @@
- 54 + role="cell" aria-label="45"> + 45
@@ -1575,8 +1575,8 @@
- 54 + role="cell" aria-label="45"> + 45
@@ -1591,8 +1591,8 @@
- 54 + role="cell" aria-label="45"> + 45
@@ -1607,8 +1607,8 @@
- 54 + role="cell" aria-label="45"> + 45
@@ -1623,8 +1623,8 @@
- 54 + role="cell" aria-label="45"> + 45
@@ -2071,8 +2071,8 @@
- 149 + role="cell" aria-label="124"> + 124
@@ -2103,8 +2103,8 @@
- 149 + role="cell" aria-label="124"> + 124
@@ -2119,8 +2119,8 @@
- 613 + role="cell" aria-label="512"> + 512
@@ -2167,8 +2167,8 @@
- 1504 + role="cell" aria-label="1252"> + 1252
@@ -2183,8 +2183,8 @@
- 1504 + role="cell" aria-label="1252"> + 1252
@@ -2199,8 +2199,8 @@
- 1504 + role="cell" aria-label="1252"> + 1252
@@ -2247,8 +2247,8 @@
- 1504 + role="cell" aria-label="1252"> + 1252
@@ -2295,8 +2295,8 @@
- 300 + role="cell" aria-label="248"> + 248
@@ -2311,8 +2311,8 @@
- 300 + role="cell" aria-label="248"> + 248
@@ -2327,8 +2327,8 @@
- 300 + role="cell" aria-label="248"> + 248
@@ -2343,8 +2343,8 @@
- 300 + role="cell" aria-label="248"> + 248
@@ -2359,8 +2359,8 @@
- 752 + role="cell" aria-label="626"> + 626
@@ -2375,8 +2375,8 @@
- 752 + role="cell" aria-label="626"> + 626
@@ -2391,8 +2391,8 @@
- 752 + role="cell" aria-label="626"> + 626
@@ -2407,8 +2407,8 @@
- 752 + role="cell" aria-label="626"> + 626
@@ -2423,8 +2423,8 @@
- 300 + role="cell" aria-label="248"> + 248
@@ -2439,8 +2439,8 @@
- 300 + role="cell" aria-label="248"> + 248
@@ -2487,8 +2487,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -2503,8 +2503,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -2519,8 +2519,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -2535,8 +2535,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -2551,8 +2551,8 @@
- 376 + role="cell" aria-label="313"> + 313
@@ -2567,8 +2567,8 @@
- 376 + role="cell" aria-label="313"> + 313
@@ -2583,8 +2583,8 @@
- 376 + role="cell" aria-label="313"> + 313
@@ -2599,8 +2599,8 @@
- 376 + role="cell" aria-label="313"> + 313
@@ -2615,8 +2615,8 @@
- 376 + role="cell" aria-label="313"> + 313
@@ -2631,8 +2631,8 @@
- 376 + role="cell" aria-label="313"> + 313
@@ -2647,8 +2647,8 @@
- 376 + role="cell" aria-label="313"> + 313
@@ -2663,8 +2663,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -2679,8 +2679,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -2727,8 +2727,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -2743,8 +2743,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -2759,8 +2759,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -2775,8 +2775,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -2791,8 +2791,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -2807,8 +2807,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -2823,8 +2823,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -2839,8 +2839,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -2855,8 +2855,8 @@
- 376 + role="cell" aria-label="313"> + 313
@@ -2871,8 +2871,8 @@
- 376 + role="cell" aria-label="313"> + 313
@@ -2887,8 +2887,8 @@
- 376 + role="cell" aria-label="313"> + 313
@@ -2903,8 +2903,8 @@
- 376 + role="cell" aria-label="313"> + 313
@@ -2919,8 +2919,8 @@
- 376 + role="cell" aria-label="313"> + 313
@@ -2935,8 +2935,8 @@
- 376 + role="cell" aria-label="313"> + 313
@@ -2951,8 +2951,8 @@
- 376 + role="cell" aria-label="313"> + 313
@@ -2967,8 +2967,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -2983,8 +2983,8 @@
- 150 + role="cell" aria-label="124"> + 124
@@ -2994,7 +2994,7 @@
diff --git a/coverage/main/crates/uniplate_derive/src/utils/index.html b/coverage/main/crates/uniplate_derive/src/utils/index.html index 59d4dfafb..ee2c69c6f 100644 --- a/coverage/main/crates/uniplate_derive/src/utils/index.html +++ b/coverage/main/crates/uniplate_derive/src/utils/index.html @@ -91,7 +91,7 @@
diff --git a/coverage/main/crates/uniplate_derive/src/utils/parse.rs.html b/coverage/main/crates/uniplate_derive/src/utils/parse.rs.html index 73f8ad78d..738edf0fe 100644 --- a/coverage/main/crates/uniplate_derive/src/utils/parse.rs.html +++ b/coverage/main/crates/uniplate_derive/src/utils/parse.rs.html @@ -567,8 +567,8 @@
- 54 + role="cell" aria-label="45"> + 45
@@ -583,8 +583,8 @@
- 54 + role="cell" aria-label="45"> + 45
@@ -599,8 +599,8 @@
- 53 + role="cell" aria-label="44"> + 44
@@ -711,8 +711,8 @@
- 54 + role="cell" aria-label="45"> + 45
@@ -775,8 +775,8 @@
- 462 + role="cell" aria-label="386"> + 386
@@ -791,8 +791,8 @@
- 462 + role="cell" aria-label="386"> + 386
@@ -807,8 +807,8 @@
- 462 + role="cell" aria-label="386"> + 386
@@ -823,8 +823,8 @@
- 462 + role="cell" aria-label="386"> + 386
@@ -871,8 +871,8 @@
- 462 + role="cell" aria-label="386"> + 386
@@ -887,8 +887,8 @@
- 462 + role="cell" aria-label="386"> + 386
@@ -903,8 +903,8 @@
- 462 + role="cell" aria-label="386"> + 386
@@ -935,8 +935,8 @@
- 462 + role="cell" aria-label="386"> + 386
@@ -951,8 +951,8 @@
- 462 + role="cell" aria-label="386"> + 386
@@ -967,8 +967,8 @@
- 462 + role="cell" aria-label="386"> + 386
@@ -983,8 +983,8 @@
- 462 + role="cell" aria-label="386"> + 386
@@ -1159,8 +1159,8 @@
- 462 + role="cell" aria-label="386"> + 386
@@ -1207,8 +1207,8 @@
- 764 + role="cell" aria-label="638"> + 638
@@ -1223,8 +1223,8 @@
- 764 + role="cell" aria-label="638"> + 638
@@ -1239,8 +1239,8 @@
- 1220 + role="cell" aria-label="1018"> + 1018
@@ -1255,8 +1255,8 @@
- 1220 + role="cell" aria-label="1018"> + 1018
@@ -1271,8 +1271,8 @@
- 1220 + role="cell" aria-label="1018"> + 1018
@@ -1287,8 +1287,8 @@
- 1220 + role="cell" aria-label="1018"> + 1018
@@ -1303,8 +1303,8 @@
- 1220 + role="cell" aria-label="1018"> + 1018
@@ -1319,8 +1319,8 @@
- 1220 + role="cell" aria-label="1018"> + 1018
@@ -1335,8 +1335,8 @@
- 1220 + role="cell" aria-label="1018"> + 1018
@@ -1351,8 +1351,8 @@
- 1220 + role="cell" aria-label="1018"> + 1018
@@ -1367,8 +1367,8 @@
- 1220 + role="cell" aria-label="1018"> + 1018
@@ -1383,8 +1383,8 @@
- 764 + role="cell" aria-label="638"> + 638
@@ -1399,8 +1399,8 @@
- 764 + role="cell" aria-label="638"> + 638
@@ -1415,8 +1415,8 @@
- 764 + role="cell" aria-label="638"> + 638
@@ -1431,8 +1431,8 @@
- 764 + role="cell" aria-label="638"> + 638
@@ -1447,8 +1447,8 @@
- 866 + role="cell" aria-label="722"> + 722
@@ -1463,8 +1463,8 @@
- 764 + role="cell" aria-label="638"> + 638
@@ -1479,8 +1479,8 @@
- 764 + role="cell" aria-label="638"> + 638
@@ -1495,8 +1495,8 @@
- 764 + role="cell" aria-label="638"> + 638
@@ -1511,8 +1511,8 @@
- 764 + role="cell" aria-label="638"> + 638
@@ -1527,8 +1527,8 @@
- 764 + role="cell" aria-label="638"> + 638
@@ -1543,8 +1543,8 @@
- 764 + role="cell" aria-label="638"> + 638
@@ -1559,8 +1559,8 @@
- 764 + role="cell" aria-label="638"> + 638
@@ -1575,8 +1575,8 @@
- 1220 + role="cell" aria-label="1018"> + 1018
@@ -1591,8 +1591,8 @@
- 764 + role="cell" aria-label="638"> + 638
@@ -1607,8 +1607,8 @@
- 764 + role="cell" aria-label="638"> + 638
@@ -1623,8 +1623,8 @@
- 758 + role="cell" aria-label="632"> + 632
@@ -1655,8 +1655,8 @@
- 758 + role="cell" aria-label="632"> + 632
@@ -1847,8 +1847,8 @@
- 764 + role="cell" aria-label="638"> + 638
@@ -1895,8 +1895,8 @@
- 1702 + role="cell" aria-label="1424"> + 1424
@@ -1911,8 +1911,8 @@
- 1702 + role="cell" aria-label="1424"> + 1424
@@ -1927,8 +1927,8 @@
- 1226 + role="cell" aria-label="1024"> + 1024
@@ -1943,8 +1943,8 @@
- 360 + role="cell" aria-label="302"> + 302
@@ -1959,8 +1959,8 @@
- 110 + role="cell" aria-label="92"> + 92
@@ -2151,8 +2151,8 @@
- 1702 + role="cell" aria-label="1424"> + 1424
@@ -2162,7 +2162,7 @@
diff --git a/coverage/main/crates/uniplate_derive/tests/index.html b/coverage/main/crates/uniplate_derive/tests/index.html index 0f0a7c332..756c2aa8e 100644 --- a/coverage/main/crates/uniplate_derive/tests/index.html +++ b/coverage/main/crates/uniplate_derive/tests/index.html @@ -14,16 +14,16 @@

Lines

-

- 100 %

+

+ 0 %

Functions

-

- 100 %

+

+ 0 %

@@ -45,21 +45,21 @@ - 100% + 0% - - 100% + + 0% - - 188 / 188 + + 0 / 188 - 100% - 36 / 36 + 0% + 0 / 36 @@ -67,7 +67,7 @@ diff --git a/coverage/main/crates/uniplate_derive/tests/macro_tests.rs.html b/coverage/main/crates/uniplate_derive/tests/macro_tests.rs.html index 56811d808..c00357aec 100644 --- a/coverage/main/crates/uniplate_derive/tests/macro_tests.rs.html +++ b/coverage/main/crates/uniplate_derive/tests/macro_tests.rs.html @@ -14,16 +14,16 @@

Lines

-

- 100 %

+

+ 0 %

Functions

-

- 100 %

+

+ 0 %

@@ -86,13 +86,13 @@ 4
- 47 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
#[derive(Clone, Debug, PartialEq, Eq, Uniplate)]
+
#[derive(Clone, Debug, PartialEq, Eq, Uniplate)]
18
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn increase_number_of_children() {
+
fn increase_number_of_children() {
19
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let c = TestEnum::C(vec![TestEnum::A(42)]);
+
    let c = TestEnum::C(vec![TestEnum::A(42)]);
20
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let context = c.uniplate().1;
+
    let context = c.uniplate().1;
21
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    assert_eq!(
+
    assert_eq!(
22
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        context(vec![TestEnum::A(42), TestEnum::A(42)]),
+
        context(vec![TestEnum::A(42), TestEnum::A(42)]),
23
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Err(uniplate::uniplate::UniplateError::WrongNumberOfChildren(
+
        Err(uniplate::uniplate::UniplateError::WrongNumberOfChildren(
24
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            1, 2
+
            1, 2
25
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ))
+
        ))
26
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    );
+
    );
27
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
30
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn decrease_number_of_children() {
+
fn decrease_number_of_children() {
31
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let c = TestEnum::C(vec![TestEnum::A(42)]);
+
    let c = TestEnum::C(vec![TestEnum::A(42)]);
32
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let context = c.uniplate().1;
+
    let context = c.uniplate().1;
33
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    assert_eq!(
+
    assert_eq!(
34
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        context(vec![]),
+
        context(vec![]),
35
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Err(uniplate::uniplate::UniplateError::WrongNumberOfChildren(
+
        Err(uniplate::uniplate::UniplateError::WrongNumberOfChildren(
36
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            1, 0
+
            1, 0
37
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ))
+
        ))
38
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    );
+
    );
39
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
42
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn derive_context_empty() {
+
fn derive_context_empty() {
43
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let a = TestEnum::A(42);
+
    let a = TestEnum::A(42);
44
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let context = a.uniplate().1;
+
    let context = a.uniplate().1;
45
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    assert_eq!(context(vec![]).unwrap(), a)
+
    assert_eq!(context(vec![]).unwrap(), a)
46
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
49
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn derive_context_box() {
+
fn derive_context_box() {
50
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let a = TestEnum::A(42);
+
    let a = TestEnum::A(42);
51
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let b = TestEnum::B(Box::new(a.clone()));
+
    let b = TestEnum::B(Box::new(a.clone()));
52
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let context = b.uniplate().1;
+
    let context = b.uniplate().1;
53
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    assert_eq!(context(vec![a.clone()]).unwrap(), b);
+
    assert_eq!(context(vec![a.clone()]).unwrap(), b);
54
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
57
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn derive_context_vec() {
+
fn derive_context_vec() {
58
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let a = TestEnum::A(1);
+
    let a = TestEnum::A(1);
59
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let b = TestEnum::B(Box::new(TestEnum::A(2)));
+
    let b = TestEnum::B(Box::new(TestEnum::A(2)));
60
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let c = TestEnum::C(vec![a.clone(), b.clone()]);
+
    let c = TestEnum::C(vec![a.clone(), b.clone()]);
61
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let context = c.uniplate().1;
+
    let context = c.uniplate().1;
62
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    assert_eq!(context(vec![a.clone(), b.clone()]).unwrap(), c);
+
    assert_eq!(context(vec![a.clone(), b.clone()]).unwrap(), c);
63
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
66
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn derive_context_two() {
+
fn derive_context_two() {
67
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let d = TestEnum::D(true, Box::new(TestEnum::A(42)));
+
    let d = TestEnum::D(true, Box::new(TestEnum::A(42)));
68
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let context = d.uniplate().1;
+
    let context = d.uniplate().1;
69
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    assert_eq!(context(vec![TestEnum::A(42)]).unwrap(), d);
+
    assert_eq!(context(vec![TestEnum::A(42)]).unwrap(), d);
70
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
73
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn derive_context_tuple() {
+
fn derive_context_tuple() {
74
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let e = TestEnum::F((Box::new(TestEnum::A(1)), Box::new(TestEnum::A(2))));
+
    let e = TestEnum::F((Box::new(TestEnum::A(1)), Box::new(TestEnum::A(2))));
75
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let context = e.uniplate().1;
+
    let context = e.uniplate().1;
76
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    assert_eq!(context(vec![TestEnum::A(1), TestEnum::A(2)]).unwrap(), e);
+
    assert_eq!(context(vec![TestEnum::A(1), TestEnum::A(2)]).unwrap(), e);
77
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
80
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn derive_context_different_variants() {
+
fn derive_context_different_variants() {
81
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let f = TestEnum::E(
+
    let f = TestEnum::E(
82
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Box::new(TestEnum::A(1)),
+
        Box::new(TestEnum::A(1)),
83
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Box::new(TestEnum::B(Box::new(TestEnum::A(2)))),
+
        Box::new(TestEnum::B(Box::new(TestEnum::A(2)))),
84
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    );
+
    );
85
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let context = f.uniplate().1;
+
    let context = f.uniplate().1;
86
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    assert_eq!(
+
    assert_eq!(
87
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        context(vec![TestEnum::A(1), TestEnum::B(Box::new(TestEnum::A(2)))]).unwrap(),
+
        context(vec![TestEnum::A(1), TestEnum::B(Box::new(TestEnum::A(2)))]).unwrap(),
88
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        f
+
        f
89
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    );
+
    );
90
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
93
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn derive_context_nested_tuples() {
+
fn derive_context_nested_tuples() {
94
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let g = TestEnum::G((Box::new(TestEnum::A(1)), (Box::new(TestEnum::A(2)), 42)));
+
    let g = TestEnum::G((Box::new(TestEnum::A(1)), (Box::new(TestEnum::A(2)), 42)));
95
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let context = g.uniplate().1;
+
    let context = g.uniplate().1;
96
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    assert_eq!(context(vec![TestEnum::A(1), TestEnum::A(2)]).unwrap(), g);
+
    assert_eq!(context(vec![TestEnum::A(1), TestEnum::A(2)]).unwrap(), g);
97
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
100
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn derive_context_nested_vectors() {
+
fn derive_context_nested_vectors() {
101
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let h = TestEnum::H(vec![
+
    let h = TestEnum::H(vec![
102
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        vec![TestEnum::A(1), TestEnum::A(2)],
+
        vec![TestEnum::A(1), TestEnum::A(2)],
103
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        vec![TestEnum::A(3), TestEnum::A(4)],
+
        vec![TestEnum::A(3), TestEnum::A(4)],
104
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    ]);
+
    ]);
105
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let context = h.uniplate().1;
+
    let context = h.uniplate().1;
106
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    assert_eq!(
+
    assert_eq!(
107
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        context(vec![
+
        context(vec![
108
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            TestEnum::A(1),
+
            TestEnum::A(1),
109
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            TestEnum::A(2),
+
            TestEnum::A(2),
110
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            TestEnum::A(3),
+
            TestEnum::A(3),
111
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            TestEnum::A(4)
+
            TestEnum::A(4)
112
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ])
+
        ])
113
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .unwrap(),
+
        .unwrap(),
114
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        h
+
        h
115
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    );
+
    );
116
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
119
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn derive_context_multiple_vecs() {
+
fn derive_context_multiple_vecs() {
120
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let i = TestEnum::I(
+
    let i = TestEnum::I(
121
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        vec![TestEnum::A(1), TestEnum::A(2)],
+
        vec![TestEnum::A(1), TestEnum::A(2)],
122
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        42,
+
        42,
123
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        vec![TestEnum::A(3), TestEnum::A(4)],
+
        vec![TestEnum::A(3), TestEnum::A(4)],
124
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    );
+
    );
125
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let context = i.uniplate().1;
+
    let context = i.uniplate().1;
126
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    assert_eq!(
+
    assert_eq!(
127
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        context(vec![
+
        context(vec![
128
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            TestEnum::A(1),
+
            TestEnum::A(1),
129
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            TestEnum::A(2),
+
            TestEnum::A(2),
130
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            TestEnum::A(3),
+
            TestEnum::A(3),
131
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            TestEnum::A(4)
+
            TestEnum::A(4)
132
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ])
+
        ])
133
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .unwrap(),
+
        .unwrap(),
134
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        i
+
        i
135
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    );
+
    );
136
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
139
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn box_change_child() {
+
fn box_change_child() {
140
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let b = TestEnum::B(Box::new(TestEnum::A(1)));
+
    let b = TestEnum::B(Box::new(TestEnum::A(1)));
141
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let context = b.uniplate().1;
+
    let context = b.uniplate().1;
142
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    assert_eq!(
+
    assert_eq!(
143
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        context(vec![TestEnum::C(vec![TestEnum::A(41), TestEnum::A(42)])]).unwrap(),
+
        context(vec![TestEnum::C(vec![TestEnum::A(41), TestEnum::A(42)])]).unwrap(),
144
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        TestEnum::B(Box::new(TestEnum::C(vec![
+
        TestEnum::B(Box::new(TestEnum::C(vec![
145
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            TestEnum::A(41),
+
            TestEnum::A(41),
146
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            TestEnum::A(42)
+
            TestEnum::A(42)
147
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ])))
+
        ])))
148
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    );
+
    );
149
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
152
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn derive_children_empty() {
+
fn derive_children_empty() {
153
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let a = TestEnum::A(42);
+
    let a = TestEnum::A(42);
154
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let children = a.uniplate().0;
+
    let children = a.uniplate().0;
155
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    assert_eq!(children, vec![]);
+
    assert_eq!(children, vec![]);
156
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
159
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn derive_children_box() {
+
fn derive_children_box() {
160
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let b = TestEnum::B(Box::new(TestEnum::A(42)));
+
    let b = TestEnum::B(Box::new(TestEnum::A(42)));
161
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let children = b.uniplate().0;
+
    let children = b.uniplate().0;
162
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    assert_eq!(children, vec![TestEnum::A(42)]);
+
    assert_eq!(children, vec![TestEnum::A(42)]);
163
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
166
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn derive_children_vec() {
+
fn derive_children_vec() {
167
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let c = TestEnum::C(vec![TestEnum::A(1), TestEnum::B(Box::new(TestEnum::A(2)))]);
+
    let c = TestEnum::C(vec![TestEnum::A(1), TestEnum::B(Box::new(TestEnum::A(2)))]);
168
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let children = c.uniplate().0;
+
    let children = c.uniplate().0;
169
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    assert_eq!(
+
    assert_eq!(
170
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        children,
+
        children,
171
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        vec![TestEnum::A(1), TestEnum::B(Box::new(TestEnum::A(2))),]
+
        vec![TestEnum::A(1), TestEnum::B(Box::new(TestEnum::A(2))),]
172
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    );
+
    );
173
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
176
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn derive_children_two() {
+
fn derive_children_two() {
177
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let d = TestEnum::D(true, Box::new(TestEnum::A(42)));
+
    let d = TestEnum::D(true, Box::new(TestEnum::A(42)));
178
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let children = d.uniplate().0;
+
    let children = d.uniplate().0;
179
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    assert_eq!(children, vec![TestEnum::A(42)]);
+
    assert_eq!(children, vec![TestEnum::A(42)]);
180
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
183
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn derive_children_tuple() {
+
fn derive_children_tuple() {
184
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let e = TestEnum::F((Box::new(TestEnum::A(1)), Box::new(TestEnum::A(2))));
+
    let e = TestEnum::F((Box::new(TestEnum::A(1)), Box::new(TestEnum::A(2))));
185
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let children = e.uniplate().0;
+
    let children = e.uniplate().0;
186
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    assert_eq!(children, vec![TestEnum::A(1), TestEnum::A(2),]);
+
    assert_eq!(children, vec![TestEnum::A(1), TestEnum::A(2),]);
187
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
190
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn derive_children_different_variants() {
+
fn derive_children_different_variants() {
191
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let f = TestEnum::E(
+
    let f = TestEnum::E(
192
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Box::new(TestEnum::A(1)),
+
        Box::new(TestEnum::A(1)),
193
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Box::new(TestEnum::B(Box::new(TestEnum::A(2)))),
+
        Box::new(TestEnum::B(Box::new(TestEnum::A(2)))),
194
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    );
+
    );
195
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let children = f.uniplate().0;
+
    let children = f.uniplate().0;
196
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    assert_eq!(
+
    assert_eq!(
197
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        children,
+
        children,
198
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        vec![TestEnum::A(1), TestEnum::B(Box::new(TestEnum::A(2)))]
+
        vec![TestEnum::A(1), TestEnum::B(Box::new(TestEnum::A(2)))]
199
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    );
+
    );
200
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
203
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn derive_children_nested_tuples() {
+
fn derive_children_nested_tuples() {
204
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let g = TestEnum::G((Box::new(TestEnum::A(1)), (Box::new(TestEnum::A(2)), 42)));
+
    let g = TestEnum::G((Box::new(TestEnum::A(1)), (Box::new(TestEnum::A(2)), 42)));
205
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let children = g.uniplate().0;
+
    let children = g.uniplate().0;
206
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    assert_eq!(children, vec![TestEnum::A(1), TestEnum::A(2)])
+
    assert_eq!(children, vec![TestEnum::A(1), TestEnum::A(2)])
207
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
210
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn derive_children_nested_vectors() {
+
fn derive_children_nested_vectors() {
211
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let h = TestEnum::H(vec![
+
    let h = TestEnum::H(vec![
212
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        vec![TestEnum::A(1), TestEnum::A(2)],
+
        vec![TestEnum::A(1), TestEnum::A(2)],
213
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        vec![TestEnum::A(3), TestEnum::A(4)],
+
        vec![TestEnum::A(3), TestEnum::A(4)],
214
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    ]);
+
    ]);
215
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let children = h.uniplate().0;
+
    let children = h.uniplate().0;
216
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    assert_eq!(
+
    assert_eq!(
217
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        children,
+
        children,
218
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        vec![
+
        vec![
219
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            TestEnum::A(1),
+
            TestEnum::A(1),
220
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            TestEnum::A(2),
+
            TestEnum::A(2),
221
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            TestEnum::A(3),
+
            TestEnum::A(3),
222
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            TestEnum::A(4)
+
            TestEnum::A(4)
223
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ]
+
        ]
224
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    )
+
    )
225
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
228
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn derive_children_multiple_vecs() {
+
fn derive_children_multiple_vecs() {
229
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let i = TestEnum::I(
+
    let i = TestEnum::I(
230
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        vec![TestEnum::A(1), TestEnum::A(2)],
+
        vec![TestEnum::A(1), TestEnum::A(2)],
231
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        42,
+
        42,
232
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        vec![TestEnum::A(3), TestEnum::A(4)],
+
        vec![TestEnum::A(3), TestEnum::A(4)],
233
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    );
+
    );
234
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let children = i.uniplate().0;
+
    let children = i.uniplate().0;
235
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    assert_eq!(
+
    assert_eq!(
236
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        children,
+
        children,
237
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        vec![
+
        vec![
238
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            TestEnum::A(1),
+
            TestEnum::A(1),
239
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            TestEnum::A(2),
+
            TestEnum::A(2),
240
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            TestEnum::A(3),
+
            TestEnum::A(3),
241
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            TestEnum::A(4)
+
            TestEnum::A(4)
242
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ]
+
        ]
243
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    );
+
    );
244
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
diff --git a/coverage/main/doc-coverage.json b/coverage/main/doc-coverage.json index 90c27cd14..dbe3ae152 100644 --- a/coverage/main/doc-coverage.json +++ b/coverage/main/doc-coverage.json @@ -1,9 +1,9 @@ -{"/home/runner/work/conjure-oxide/conjure-oxide/target/debug/build/chuffed_rs-c5a229510fad9f71/out/chuffed_bindings.rs":{"total":207,"with_docs":0,"total_examples":104,"with_examples":0},"solvers/chuffed/src/lib.rs":{"total":10,"with_docs":0,"total_examples":10,"with_examples":0}} +{"solvers/kissat/src/lib.rs":{"total":1,"with_docs":0,"total_examples":1,"with_examples":0}} {"crates/conjure_macros/src/lib.rs":{"total":3,"with_docs":2,"total_examples":3,"with_examples":1}} {"crates/uniplate_derive/src/lib.rs":{"total":2,"with_docs":1,"total_examples":2,"with_examples":1}} {"conjure_oxide/src/find_conjure.rs":{"total":2,"with_docs":1,"total_examples":2,"with_examples":0},"conjure_oxide/src/lib.rs":{"total":1,"with_docs":0,"total_examples":1,"with_examples":0},"conjure_oxide/src/utils/conjure.rs":{"total":7,"with_docs":0,"total_examples":5,"with_examples":0},"conjure_oxide/src/utils/json.rs":{"total":3,"with_docs":2,"total_examples":3,"with_examples":0},"conjure_oxide/src/utils/misc.rs":{"total":2,"with_docs":0,"total_examples":2,"with_examples":0},"conjure_oxide/src/utils/mod.rs":{"total":1,"with_docs":0,"total_examples":1,"with_examples":0},"conjure_oxide/src/utils/testing.rs":{"total":9,"with_docs":0,"total_examples":9,"with_examples":0}} {"crates/enum_compatability_macro/src/lib.rs":{"total":2,"with_docs":2,"total_examples":2,"with_examples":1}} -{"solvers/kissat/src/lib.rs":{"total":1,"with_docs":0,"total_examples":1,"with_examples":0}} -{"solvers/minion/src/ast.rs":{"total":98,"with_docs":11,"total_examples":12,"with_examples":0},"solvers/minion/src/error.rs":{"total":8,"with_docs":8,"total_examples":3,"with_examples":0},"solvers/minion/src/lib.rs":{"total":1,"with_docs":1,"total_examples":1,"with_examples":1}} +{"/home/runner/work/conjure-oxide/conjure-oxide/target/debug/build/chuffed_rs-c5a229510fad9f71/out/chuffed_bindings.rs":{"total":207,"with_docs":0,"total_examples":104,"with_examples":0},"solvers/chuffed/src/lib.rs":{"total":10,"with_docs":0,"total_examples":10,"with_examples":0}} {"crates/uniplate/src/biplate.rs":{"total":16,"with_docs":9,"total_examples":16,"with_examples":0},"crates/uniplate/src/lib.rs":{"total":1,"with_docs":1,"total_examples":1,"with_examples":1},"crates/uniplate/src/uniplate.rs":{"total":13,"with_docs":9,"total_examples":12,"with_examples":0}} +{"solvers/minion/src/ast.rs":{"total":98,"with_docs":11,"total_examples":12,"with_examples":0},"solvers/minion/src/error.rs":{"total":8,"with_docs":8,"total_examples":3,"with_examples":0},"solvers/minion/src/lib.rs":{"total":1,"with_docs":1,"total_examples":1,"with_examples":1}} {"crates/conjure_core/src/ast/mod.rs":{"total":1,"with_docs":0,"total_examples":1,"with_examples":0},"crates/conjure_core/src/ast/types.rs":{"total":4,"with_docs":0,"total_examples":2,"with_examples":0},"crates/conjure_core/src/context.rs":{"total":10,"with_docs":0,"total_examples":4,"with_examples":0},"crates/conjure_core/src/error.rs":{"total":7,"with_docs":1,"total_examples":2,"with_examples":0},"crates/conjure_core/src/lib.rs":{"total":1,"with_docs":0,"total_examples":1,"with_examples":0},"crates/conjure_core/src/metadata.rs":{"total":6,"with_docs":0,"total_examples":4,"with_examples":0},"crates/conjure_core/src/model.rs":{"total":16,"with_docs":1,"total_examples":13,"with_examples":0},"crates/conjure_core/src/parse/mod.rs":{"total":1,"with_docs":0,"total_examples":1,"with_examples":0},"crates/conjure_core/src/rule_engine/mod.rs":{"total":7,"with_docs":5,"total_examples":7,"with_examples":5},"crates/conjure_core/src/rules/mod.rs":{"total":1,"with_docs":0,"total_examples":1,"with_examples":0},"crates/conjure_core/src/solver/adaptors/mod.rs":{"total":1,"with_docs":1,"total_examples":1,"with_examples":0},"crates/conjure_core/src/solver/mod.rs":{"total":42,"with_docs":14,"total_examples":24,"with_examples":1},"crates/conjure_core/src/solver/model_modifier.rs":{"total":10,"with_docs":7,"total_examples":6,"with_examples":0},"crates/conjure_core/src/solver/states.rs":{"total":11,"with_docs":7,"total_examples":6,"with_examples":0},"crates/conjure_core/src/stats/mod.rs":{"total":7,"with_docs":0,"total_examples":5,"with_examples":0}} diff --git a/coverage/main/doc-coverage.txt b/coverage/main/doc-coverage.txt index 3d968552b..acd4ae38b 100644 --- a/coverage/main/doc-coverage.txt +++ b/coverage/main/doc-coverage.txt @@ -22,40 +22,6 @@ +-------------------------------------+------------+------------+------------+------------+ | File | Documented | Percentage | Examples | Percentage | +-------------------------------------+------------+------------+------------+------------+ -| conjure_oxide/src/find_conjure.rs | 1 | 50.0% | 0 | 0.0% | -| conjure_oxide/src/lib.rs | 0 | 0.0% | 0 | 0.0% | -| conjure_oxide/src/utils/conjure.rs | 0 | 0.0% | 0 | 0.0% | -| conjure_oxide/src/utils/json.rs | 2 | 66.7% | 0 | 0.0% | -| conjure_oxide/src/utils/misc.rs | 0 | 0.0% | 0 | 0.0% | -| conjure_oxide/src/utils/mod.rs | 0 | 0.0% | 0 | 0.0% | -| conjure_oxide/src/utils/testing.rs | 0 | 0.0% | 0 | 0.0% | -+-------------------------------------+------------+------------+------------+------------+ -| Total | 3 | 12.0% | 0 | 0.0% | -+-------------------------------------+------------+------------+------------+------------+ -+-------------------------------------+------------+------------+------------+------------+ -| File | Documented | Percentage | Examples | Percentage | -+-------------------------------------+------------+------------+------------+------------+ -| solvers/minion/src/ast.rs | 11 | 11.2% | 0 | 0.0% | -| solvers/minion/src/error.rs | 8 | 100.0% | 0 | 0.0% | -| solvers/minion/src/lib.rs | 1 | 100.0% | 1 | 100.0% | -| solvers/minion/src/run.rs | 2 | 100.0% | 1 | 100.0% | -| solvers/minion/src/wrappers.rs | 1 | 100.0% | 0 | 0.0% | -+-------------------------------------+------------+------------+------------+------------+ -| Total | 23 | 20.9% | 2 | 11.8% | -+-------------------------------------+------------+------------+------------+------------+ -+-------------------------------------+------------+------------+------------+------------+ -| File | Documented | Percentage | Examples | Percentage | -+-------------------------------------+------------+------------+------------+------------+ -| crates/uniplate/src/biplate.rs | 9 | 56.2% | 0 | 0.0% | -| crates/uniplate/src/lib.rs | 1 | 100.0% | 1 | 100.0% | -| crates/uniplate/src/tree.rs | 0 | 0.0% | 0 | 0.0% | -| crates/uniplate/src/uniplate.rs | 9 | 69.2% | 0 | 0.0% | -+-------------------------------------+------------+------------+------------+------------+ -| Total | 19 | 55.9% | 1 | 3.4% | -+-------------------------------------+------------+------------+------------+------------+ -+-------------------------------------+------------+------------+------------+------------+ -| File | Documented | Percentage | Examples | Percentage | -+-------------------------------------+------------+------------+------------+------------+ | ...onjure_core/src/ast/constants.rs | 0 | 0.0% | 0 | 0.0% | | .../conjure_core/src/ast/domains.rs | 0 | 0.0% | 0 | 0.0% | | ...jure_core/src/ast/expressions.rs | 23 | 95.8% | 0 | 0.0% | @@ -93,6 +59,40 @@ +-------------------------------------+------------+------------+------------+------------+ | File | Documented | Percentage | Examples | Percentage | +-------------------------------------+------------+------------+------------+------------+ +| solvers/minion/src/ast.rs | 11 | 11.2% | 0 | 0.0% | +| solvers/minion/src/error.rs | 8 | 100.0% | 0 | 0.0% | +| solvers/minion/src/lib.rs | 1 | 100.0% | 1 | 100.0% | +| solvers/minion/src/run.rs | 2 | 100.0% | 1 | 100.0% | +| solvers/minion/src/wrappers.rs | 1 | 100.0% | 0 | 0.0% | ++-------------------------------------+------------+------------+------------+------------+ +| Total | 23 | 20.9% | 2 | 11.8% | ++-------------------------------------+------------+------------+------------+------------+ ++-------------------------------------+------------+------------+------------+------------+ +| File | Documented | Percentage | Examples | Percentage | ++-------------------------------------+------------+------------+------------+------------+ +| crates/uniplate/src/biplate.rs | 9 | 56.2% | 0 | 0.0% | +| crates/uniplate/src/lib.rs | 1 | 100.0% | 1 | 100.0% | +| crates/uniplate/src/tree.rs | 0 | 0.0% | 0 | 0.0% | +| crates/uniplate/src/uniplate.rs | 9 | 69.2% | 0 | 0.0% | ++-------------------------------------+------------+------------+------------+------------+ +| Total | 19 | 55.9% | 1 | 3.4% | ++-------------------------------------+------------+------------+------------+------------+ ++-------------------------------------+------------+------------+------------+------------+ +| File | Documented | Percentage | Examples | Percentage | ++-------------------------------------+------------+------------+------------+------------+ +| conjure_oxide/src/find_conjure.rs | 1 | 50.0% | 0 | 0.0% | +| conjure_oxide/src/lib.rs | 0 | 0.0% | 0 | 0.0% | +| conjure_oxide/src/utils/conjure.rs | 0 | 0.0% | 0 | 0.0% | +| conjure_oxide/src/utils/json.rs | 2 | 66.7% | 0 | 0.0% | +| conjure_oxide/src/utils/misc.rs | 0 | 0.0% | 0 | 0.0% | +| conjure_oxide/src/utils/mod.rs | 0 | 0.0% | 0 | 0.0% | +| conjure_oxide/src/utils/testing.rs | 0 | 0.0% | 0 | 0.0% | ++-------------------------------------+------------+------------+------------+------------+ +| Total | 3 | 12.0% | 0 | 0.0% | ++-------------------------------------+------------+------------+------------+------------+ ++-------------------------------------+------------+------------+------------+------------+ +| File | Documented | Percentage | Examples | Percentage | ++-------------------------------------+------------+------------+------------+------------+ | solvers/kissat/src/lib.rs | 0 | 0.0% | 0 | 0.0% | +-------------------------------------+------------+------------+------------+------------+ | Total | 0 | 0.0% | 0 | 0.0% | diff --git a/coverage/main/index.html b/coverage/main/index.html index 3aad6f983..1cb5532a4 100644 --- a/coverage/main/index.html +++ b/coverage/main/index.html @@ -15,7 +15,7 @@

Lines

- 74.74 %

+ 9.8 %

@@ -23,7 +23,7 @@

Functions

- 22.86 %

+ 3.9 %

@@ -46,20 +46,20 @@ - 47.92% + 0% - 47.92% + 0% - 23 / 48 + 0 / 48 - 16.67% - 1 / 6 + 0% + 0 / 4 @@ -70,20 +70,20 @@ - 67.86% + 0% - 67.86% + 0% - 171 / 252 + 0 / 252 - 25.4% - 16 / 63 + 0% + 0 / 42 @@ -93,21 +93,21 @@ - 95.51% + 0% - - 95.51% + + 0% - - 1105 / 1157 + + 0 / 81 - 96% - 48 / 50 + 0% + 0 / 5 @@ -118,20 +118,20 @@ - 48.8% + 0% - 48.8% + 0% - 61 / 125 + 0 / 125 - 12.35% - 20 / 162 + 0% + 0 / 104 @@ -142,20 +142,20 @@ - 45.52% + 0% - 45.52% + 0% - 198 / 435 + 0 / 435 - 15.58% - 103 / 661 + 0% + 0 / 427 @@ -165,21 +165,21 @@ - 90.4% + 0% - - 90.4% + + 0% - - 273 / 302 + + 0 / 302 - 30% - 18 / 60 + 0% + 0 / 40 @@ -189,21 +189,21 @@ - 77.26% + 0% - - 77.26% + + 0% - - 333 / 431 + + 0 / 377 - 24.39% - 40 / 164 + 0% + 0 / 92 @@ -213,21 +213,21 @@ - 86.15% + 0% - - 86.15% + + 0% - - 678 / 787 + + 0 / 709 - 15.31% - 90 / 588 + 0% + 0 / 374 @@ -238,20 +238,20 @@ - 68.71% + 0% - 68.71% + 0% - 112 / 163 + 0 / 120 - 12.4% - 15 / 121 + 0% + 0 / 73 @@ -262,20 +262,20 @@ - 49.43% + 0% - 49.43% + 0% - 216 / 437 + 0 / 437 - 13.45% - 23 / 171 + 0% + 0 / 114 @@ -285,21 +285,21 @@ - 80% + 0% - - 80% + + 0% - - 12 / 15 + + 0 / 15 - 25% - 3 / 12 + 0% + 0 / 8 @@ -310,20 +310,20 @@ - 94.96% + 92.92% - 94.96% + 92.92% - 113 / 119 + 105 / 113 - 55.88% - 19 / 34 + 51.61% + 16 / 31 @@ -343,11 +343,11 @@ 100% - 115 / 115 + 77 / 77 - 60% - 12 / 20 + 50% + 8 / 16 @@ -358,20 +358,20 @@ - 61% + 0% - 61% + 0% - 158 / 259 + 0 / 212 - 47.83% - 33 / 69 + 0% + 0 / 56 @@ -406,20 +406,20 @@ - 43.48% + 0% - 43.48% + 0% - 160 / 368 + 0 / 368 - 17.65% - 6 / 34 + 0% + 0 / 34 @@ -430,20 +430,20 @@ - 96.9% + 96.46% - 96.9% + 96.46% - 125 / 129 + 109 / 113 - 51.61% - 16 / 31 + 50% + 12 / 24 @@ -475,30 +475,6 @@ crates/uniplate_derive/tests - - - 100% - - - - 100% - - - 188 / 188 - - - 100% - 36 / 36 - - - - - - solvers/chuffed/src - - 0 / 46 + 0 / 188 0% - 0 / 14 + 0 / 36 - solvers/chuffed/tests + solvers/kissat/src - 32.26% + 0% - 32.26% + 0% - 20 / 62 - - - 60% - 3 / 5 - - - - - - solvers/kissat/src - - - - 96% - - - - 96% - - - 24 / 25 + 0 / 25 - 100% - 1 / 1 + 0% + 0 / 1 @@ -574,20 +526,20 @@ - 73.1% + 0% - 73.1% + 0% - 576 / 788 + 0 / 638 - 29.37% - 42 / 143 + 0% + 0 / 91 @@ -597,21 +549,21 @@ - 100% + 0% - - 100% + + 0% - - 32 / 32 + + 0 / 32 - 100% - 2 / 2 + 0% + 0 / 2 @@ -619,7 +571,7 @@ diff --git a/coverage/main/lcov.info b/coverage/main/lcov.info index 242fc3e9b..5445b2266 100644 --- a/coverage/main/lcov.info +++ b/coverage/main/lcov.info @@ -1,135 +1,135 @@ TN: SF:conjure_oxide/tests/model_tests.rs FN:10,model_tests::modify_domain -FNDA:1,model_tests::modify_domain +FNDA:0,model_tests::modify_domain FNF:1 -FNH:1 +FNH:0 BRF:0 BRH:0 -DA:10,1 -DA:11,1 -DA:12,1 -DA:13,1 -DA:14,1 -DA:15,1 -DA:16,1 -DA:17,1 -DA:18,1 -DA:19,1 -DA:20,1 -DA:21,1 -DA:22,1 -DA:23,1 -DA:24,1 -DA:25,1 -DA:27,1 -DA:28,1 -DA:29,1 -DA:30,1 +DA:10,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:21,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 LF:20 -LH:20 +LH:0 end_of_record SF:crates/uniplate_derive/src/utils/parse.rs -FN:34,::span +FN:117,uniplate_derive::utils::parse::check_field_type FN:34,::span FN:76,uniplate_derive::utils::parse::parse_field_type::parse_type +FN:76,uniplate_derive::utils::parse::parse_field_type::parse_type +FN:74,uniplate_derive::utils::parse::parse_field_type FN:117,uniplate_derive::utils::parse::check_field_type -FN:47,uniplate_derive::utils::parse::parse_type_argument FN:117,uniplate_derive::utils::parse::check_field_type -FN:47,uniplate_derive::utils::parse::parse_type_argument +FN:74,uniplate_derive::utils::parse::parse_field_type FN:47,uniplate_derive::utils::parse::parse_type_argument FN:74,uniplate_derive::utils::parse::parse_field_type -FN:117,uniplate_derive::utils::parse::check_field_type -FN:34,::span FN:74,uniplate_derive::utils::parse::parse_field_type -FN:76,uniplate_derive::utils::parse::parse_field_type::parse_type -FN:76,uniplate_derive::utils::parse::parse_field_type::parse_type FN:34,::span FN:76,uniplate_derive::utils::parse::parse_field_type::parse_type -FN:74,uniplate_derive::utils::parse::parse_field_type FN:47,uniplate_derive::utils::parse::parse_type_argument -FN:74,uniplate_derive::utils::parse::parse_field_type +FN:34,::span +FN:34,::span FN:117,uniplate_derive::utils::parse::check_field_type -FNDA:1,::span +FN:47,uniplate_derive::utils::parse::parse_type_argument +FN:76,uniplate_derive::utils::parse::parse_field_type::parse_type +FN:47,uniplate_derive::utils::parse::parse_type_argument +FNDA:0,uniplate_derive::utils::parse::check_field_type FNDA:1,::span FNDA:0,uniplate_derive::utils::parse::parse_field_type::parse_type +FNDA:1,uniplate_derive::utils::parse::parse_field_type::parse_type +FNDA:0,uniplate_derive::utils::parse::parse_field_type FNDA:1,uniplate_derive::utils::parse::check_field_type -FNDA:0,uniplate_derive::utils::parse::parse_type_argument -FNDA:0,uniplate_derive::utils::parse::check_field_type -FNDA:1,uniplate_derive::utils::parse::parse_type_argument +FNDA:1,uniplate_derive::utils::parse::check_field_type +FNDA:1,uniplate_derive::utils::parse::parse_field_type FNDA:0,uniplate_derive::utils::parse::parse_type_argument FNDA:0,uniplate_derive::utils::parse::parse_field_type -FNDA:1,uniplate_derive::utils::parse::check_field_type +FNDA:1,uniplate_derive::utils::parse::parse_field_type FNDA:0,::span -FNDA:0,uniplate_derive::utils::parse::parse_field_type FNDA:1,uniplate_derive::utils::parse::parse_field_type::parse_type -FNDA:1,uniplate_derive::utils::parse::parse_field_type::parse_type -FNDA:0,::span -FNDA:0,uniplate_derive::utils::parse::parse_field_type::parse_type -FNDA:1,uniplate_derive::utils::parse::parse_field_type FNDA:1,uniplate_derive::utils::parse::parse_type_argument -FNDA:1,uniplate_derive::utils::parse::parse_field_type +FNDA:0,::span +FNDA:1,::span FNDA:0,uniplate_derive::utils::parse::check_field_type +FNDA:1,uniplate_derive::utils::parse::parse_type_argument +FNDA:0,uniplate_derive::utils::parse::parse_field_type::parse_type +FNDA:0,uniplate_derive::utils::parse::parse_type_argument FNF:20 FNH:10 BRF:0 BRH:0 -DA:34,54 -DA:35,54 -DA:36,53 +DA:34,45 +DA:35,45 +DA:36,44 DA:37,0 DA:38,1 DA:39,0 DA:40,0 DA:41,0 -DA:43,54 -DA:47,462 -DA:48,462 -DA:49,462 -DA:50,462 +DA:43,45 +DA:47,386 +DA:48,386 +DA:49,386 +DA:50,386 DA:52,0 -DA:53,462 -DA:54,462 -DA:55,462 +DA:53,386 +DA:54,386 +DA:55,386 DA:56,0 -DA:57,462 -DA:58,462 -DA:59,462 -DA:60,462 +DA:57,386 +DA:58,386 +DA:59,386 +DA:60,386 DA:61,0 DA:63,0 DA:65,0 DA:69,0 -DA:71,462 -DA:74,764 -DA:75,764 -DA:76,1220 -DA:77,1220 -DA:78,1220 -DA:79,1220 -DA:80,1220 -DA:81,1220 -DA:82,1220 -DA:83,1220 -DA:84,1220 -DA:85,764 -DA:86,764 -DA:87,764 -DA:88,764 -DA:89,866 -DA:90,764 -DA:91,764 -DA:92,764 -DA:93,764 -DA:94,764 -DA:95,764 -DA:96,764 -DA:97,1220 -DA:98,764 -DA:99,764 -DA:100,758 +DA:71,386 +DA:74,638 +DA:75,638 +DA:76,1018 +DA:77,1018 +DA:78,1018 +DA:79,1018 +DA:80,1018 +DA:81,1018 +DA:82,1018 +DA:83,1018 +DA:84,1018 +DA:85,638 +DA:86,638 +DA:87,638 +DA:88,638 +DA:89,722 +DA:90,638 +DA:91,638 +DA:92,638 +DA:93,638 +DA:94,638 +DA:95,638 +DA:96,638 +DA:97,1018 +DA:98,638 +DA:99,638 +DA:100,632 DA:101,0 -DA:102,758 +DA:102,632 DA:104,6 DA:105,6 DA:107,0 @@ -138,12 +138,12 @@ DA:109,0 DA:110,0 DA:111,0 DA:112,0 -DA:114,764 -DA:117,1702 -DA:118,1702 -DA:119,1226 -DA:120,360 -DA:121,110 +DA:114,638 +DA:117,1424 +DA:118,1424 +DA:119,1024 +DA:120,302 +DA:121,92 DA:122,6 DA:123,6 DA:124,6 @@ -152,569 +152,488 @@ DA:126,0 DA:128,0 DA:130,0 DA:131,0 -DA:133,1702 +DA:133,1424 LF:79 LH:58 end_of_record SF:crates/conjure_core/src/rules/bubble.rs -FN:72,conjure_core::rules::bubble::CONJURE_GEN_RULE_DIV_TO_BUBBLE::__typecheck::{closure#0}::{closure#0} -FN:9,conjure_core::rules::bubble::CONJURE_GEN_RULE_SET_BUBBLE::__typecheck +FN:72,conjure_core::rules::bubble::CONJURE_GEN_RULE_DIV_TO_BUBBLE::__typecheck::{closure#0} +FN:37,conjure_core::rules::bubble::bubble_up +FN:36,conjure_core::rules::bubble::CONJURE_GEN_RULE_BUBBLE_UP::__typecheck::{closure#0}::{closure#0} +FN:36,conjure_core::rules::bubble::CONJURE_GEN_RULE_BUBBLE_UP::__typecheck::{closure#0} +FN:72,conjure_core::rules::bubble::CONJURE_GEN_RULE_DIV_TO_BUBBLE::__typecheck::{closure#0} FN:9,conjure_core::rules::bubble::CONJURE_GEN_RULE_SET_BUBBLE::__typecheck +FN:19,conjure_core::rules::bubble::expand_bubble +FN:36,conjure_core::rules::bubble::CONJURE_GEN_RULE_BUBBLE_UP::__typecheck::{closure#0}::{closure#0} +FN:9,conjure_core::rules::bubble::CONJURE_GEN_RULE_SET_BUBBLE::__typecheck::{closure#0}::{closure#0} +FN:18,conjure_core::rules::bubble::CONJURE_GEN_RULE_EXPAND_BUBBLE::__typecheck FN:73,conjure_core::rules::bubble::div_to_bubble FN:9,conjure_core::rules::bubble::CONJURE_GEN_RULE_SET_BUBBLE::__typecheck -FN:36,conjure_core::rules::bubble::CONJURE_GEN_RULE_BUBBLE_UP::__typecheck::{closure#0} -FN:18,conjure_core::rules::bubble::CONJURE_GEN_RULE_EXPAND_BUBBLE::__typecheck::{closure#0} -FN:9,conjure_core::rules::bubble::CONJURE_GEN_RULE_SET_BUBBLE::__typecheck::{closure#0} -FN:36,conjure_core::rules::bubble::CONJURE_GEN_RULE_BUBBLE_UP::__typecheck::{closure#0} -FN:9,conjure_core::rules::bubble::CONJURE_GEN_RULE_SET_BUBBLE::__typecheck::{closure#0} -FN:9,conjure_core::rules::bubble::CONJURE_GEN_RULE_SET_BUBBLE::__typecheck::{closure#0}::{closure#0} -FN:36,conjure_core::rules::bubble::CONJURE_GEN_RULE_BUBBLE_UP::__typecheck::{closure#0}::{closure#0} FN:36,conjure_core::rules::bubble::CONJURE_GEN_RULE_BUBBLE_UP::__typecheck -FN:19,conjure_core::rules::bubble::expand_bubble -FN:36,conjure_core::rules::bubble::CONJURE_GEN_RULE_BUBBLE_UP::__typecheck::{closure#0}::{closure#0} -FN:18,conjure_core::rules::bubble::CONJURE_GEN_RULE_EXPAND_BUBBLE::__typecheck::{closure#0} +FN:9,conjure_core::rules::bubble::CONJURE_GEN_RULE_SET_BUBBLE::__typecheck::{closure#0} FN:72,conjure_core::rules::bubble::CONJURE_GEN_RULE_DIV_TO_BUBBLE::__typecheck -FN:18,conjure_core::rules::bubble::CONJURE_GEN_RULE_EXPAND_BUBBLE::__typecheck::{closure#0} -FN:72,conjure_core::rules::bubble::CONJURE_GEN_RULE_DIV_TO_BUBBLE::__typecheck::{closure#0}::{closure#0} -FN:36,conjure_core::rules::bubble::CONJURE_GEN_RULE_BUBBLE_UP::__typecheck -FN:18,conjure_core::rules::bubble::CONJURE_GEN_RULE_EXPAND_BUBBLE::__typecheck -FN:18,conjure_core::rules::bubble::CONJURE_GEN_RULE_EXPAND_BUBBLE::__typecheck::{closure#0}::{closure#0} -FN:18,conjure_core::rules::bubble::CONJURE_GEN_RULE_EXPAND_BUBBLE::__typecheck::{closure#0}::{closure#0} FN:72,conjure_core::rules::bubble::CONJURE_GEN_RULE_DIV_TO_BUBBLE::__typecheck::{closure#0}::{closure#0} -FN:9,conjure_core::rules::bubble::CONJURE_GEN_RULE_SET_BUBBLE::__typecheck::{closure#0}::{closure#0} -FN:18,conjure_core::rules::bubble::CONJURE_GEN_RULE_EXPAND_BUBBLE::__typecheck::{closure#0}::{closure#0} -FN:72,conjure_core::rules::bubble::CONJURE_GEN_RULE_DIV_TO_BUBBLE::__typecheck::{closure#0} -FN:73,conjure_core::rules::bubble::div_to_bubble FN:37,conjure_core::rules::bubble::bubble_up -FN:72,conjure_core::rules::bubble::CONJURE_GEN_RULE_DIV_TO_BUBBLE::__typecheck FN:19,conjure_core::rules::bubble::expand_bubble -FN:72,conjure_core::rules::bubble::CONJURE_GEN_RULE_DIV_TO_BUBBLE::__typecheck FN:9,conjure_core::rules::bubble::CONJURE_GEN_RULE_SET_BUBBLE::__typecheck::{closure#0}::{closure#0} -FN:37,conjure_core::rules::bubble::bubble_up -FN:18,conjure_core::rules::bubble::CONJURE_GEN_RULE_EXPAND_BUBBLE::__typecheck -FN:36,conjure_core::rules::bubble::CONJURE_GEN_RULE_BUBBLE_UP::__typecheck::{closure#0}::{closure#0} -FN:37,conjure_core::rules::bubble::bubble_up +FN:18,conjure_core::rules::bubble::CONJURE_GEN_RULE_EXPAND_BUBBLE::__typecheck::{closure#0}::{closure#0} FN:18,conjure_core::rules::bubble::CONJURE_GEN_RULE_EXPAND_BUBBLE::__typecheck FN:9,conjure_core::rules::bubble::CONJURE_GEN_RULE_SET_BUBBLE::__typecheck::{closure#0} -FN:72,conjure_core::rules::bubble::CONJURE_GEN_RULE_DIV_TO_BUBBLE::__typecheck::{closure#0} -FN:19,conjure_core::rules::bubble::expand_bubble -FN:36,conjure_core::rules::bubble::CONJURE_GEN_RULE_BUBBLE_UP::__typecheck -FN:36,conjure_core::rules::bubble::CONJURE_GEN_RULE_BUBBLE_UP::__typecheck::{closure#0} -FN:72,conjure_core::rules::bubble::CONJURE_GEN_RULE_DIV_TO_BUBBLE::__typecheck::{closure#0} +FN:18,conjure_core::rules::bubble::CONJURE_GEN_RULE_EXPAND_BUBBLE::__typecheck::{closure#0} +FN:18,conjure_core::rules::bubble::CONJURE_GEN_RULE_EXPAND_BUBBLE::__typecheck::{closure#0}::{closure#0} +FN:72,conjure_core::rules::bubble::CONJURE_GEN_RULE_DIV_TO_BUBBLE::__typecheck::{closure#0}::{closure#0} +FN:18,conjure_core::rules::bubble::CONJURE_GEN_RULE_EXPAND_BUBBLE::__typecheck::{closure#0} FN:73,conjure_core::rules::bubble::div_to_bubble -FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_DIV_TO_BUBBLE::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_SET_BUBBLE::__typecheck +FN:36,conjure_core::rules::bubble::CONJURE_GEN_RULE_BUBBLE_UP::__typecheck::{closure#0} +FN:72,conjure_core::rules::bubble::CONJURE_GEN_RULE_DIV_TO_BUBBLE::__typecheck +FN:36,conjure_core::rules::bubble::CONJURE_GEN_RULE_BUBBLE_UP::__typecheck +FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_DIV_TO_BUBBLE::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::bubble::bubble_up +FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_BUBBLE_UP::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_BUBBLE_UP::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_DIV_TO_BUBBLE::__typecheck::{closure#0} FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_SET_BUBBLE::__typecheck +FNDA:0,conjure_core::rules::bubble::expand_bubble +FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_BUBBLE_UP::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_SET_BUBBLE::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_EXPAND_BUBBLE::__typecheck FNDA:0,conjure_core::rules::bubble::div_to_bubble FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_SET_BUBBLE::__typecheck -FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_BUBBLE_UP::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_EXPAND_BUBBLE::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_SET_BUBBLE::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_BUBBLE_UP::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_SET_BUBBLE::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_SET_BUBBLE::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_BUBBLE_UP::__typecheck::{closure#0}::{closure#0} FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_BUBBLE_UP::__typecheck -FNDA:1,conjure_core::rules::bubble::expand_bubble -FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_BUBBLE_UP::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_EXPAND_BUBBLE::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_SET_BUBBLE::__typecheck::{closure#0} FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_DIV_TO_BUBBLE::__typecheck -FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_EXPAND_BUBBLE::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_DIV_TO_BUBBLE::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_BUBBLE_UP::__typecheck -FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_EXPAND_BUBBLE::__typecheck -FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_EXPAND_BUBBLE::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_EXPAND_BUBBLE::__typecheck::{closure#0}::{closure#0} FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_DIV_TO_BUBBLE::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_SET_BUBBLE::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_EXPAND_BUBBLE::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_DIV_TO_BUBBLE::__typecheck::{closure#0} -FNDA:1,conjure_core::rules::bubble::div_to_bubble -FNDA:1,conjure_core::rules::bubble::bubble_up -FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_DIV_TO_BUBBLE::__typecheck +FNDA:0,conjure_core::rules::bubble::bubble_up FNDA:0,conjure_core::rules::bubble::expand_bubble -FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_DIV_TO_BUBBLE::__typecheck FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_SET_BUBBLE::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::bubble::bubble_up -FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_EXPAND_BUBBLE::__typecheck -FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_BUBBLE_UP::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::bubble::bubble_up +FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_EXPAND_BUBBLE::__typecheck::{closure#0}::{closure#0} FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_EXPAND_BUBBLE::__typecheck FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_SET_BUBBLE::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_DIV_TO_BUBBLE::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::bubble::expand_bubble -FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_BUBBLE_UP::__typecheck -FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_BUBBLE_UP::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_DIV_TO_BUBBLE::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_EXPAND_BUBBLE::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_EXPAND_BUBBLE::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_DIV_TO_BUBBLE::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_EXPAND_BUBBLE::__typecheck::{closure#0} FNDA:0,conjure_core::rules::bubble::div_to_bubble -FNF:45 -FNH:3 +FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_BUBBLE_UP::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_DIV_TO_BUBBLE::__typecheck +FNDA:0,conjure_core::rules::bubble::CONJURE_GEN_RULE_BUBBLE_UP::__typecheck +FNF:30 +FNH:0 BRF:0 BRH:0 DA:9,0 DA:18,0 -DA:19,68715 -DA:20,60 -DA:21,60 -DA:22,60 -DA:23,60 -DA:24,60 -DA:25,60 -DA:27,68655 -DA:29,68715 +DA:19,0 +DA:20,0 +DA:21,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:27,0 +DA:29,0 DA:36,0 -DA:37,68715 -DA:38,68715 -DA:39,68715 -DA:40,69840 -DA:41,69840 -DA:42,75 -DA:43,60 -DA:44,60 -DA:45,60 -DA:46,69765 -DA:48,68715 -DA:49,68655 -DA:50,60 -DA:51,60 -DA:52,60 -DA:53,60 -DA:54,60 -DA:55,60 -DA:57,60 -DA:59,68715 +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:57,0 +DA:59,0 DA:72,0 -DA:73,68715 -DA:74,68715 -DA:75,75 -DA:76,75 -DA:77,75 -DA:78,75 -DA:79,75 -DA:80,75 -DA:81,75 -DA:82,75 -DA:83,75 -DA:84,68640 -DA:85,68640 -DA:86,68715 +DA:73,0 +DA:74,0 +DA:75,0 +DA:76,0 +DA:77,0 +DA:78,0 +DA:79,0 +DA:80,0 +DA:81,0 +DA:82,0 +DA:83,0 +DA:84,0 +DA:85,0 +DA:86,0 LF:47 -LH:43 +LH:0 end_of_record SF:crates/conjure_core/src/parse/example_models.rs FN:21,conjure_core::parse::example_models::get_example_model -FN:30,conjure_core::parse::example_models::get_example_model::{closure#1} -FN:27,conjure_core::parse::example_models::get_example_model::{closure#0} -FN:27,conjure_core::parse::example_models::get_example_model::{closure#0} -FN:77,conjure_core::parse::example_models::get_example_model_by_path FN:77,conjure_core::parse::example_models::get_example_model_by_path FN:30,conjure_core::parse::example_models::get_example_model::{closure#1} +FN:77,conjure_core::parse::example_models::get_example_model_by_path FN:21,conjure_core::parse::example_models::get_example_model FN:30,conjure_core::parse::example_models::get_example_model::{closure#1} FN:27,conjure_core::parse::example_models::get_example_model::{closure#0} -FN:21,conjure_core::parse::example_models::get_example_model -FN:77,conjure_core::parse::example_models::get_example_model_by_path -FNDA:1,conjure_core::parse::example_models::get_example_model -FNDA:1,conjure_core::parse::example_models::get_example_model::{closure#1} -FNDA:0,conjure_core::parse::example_models::get_example_model::{closure#0} -FNDA:0,conjure_core::parse::example_models::get_example_model::{closure#0} +FN:27,conjure_core::parse::example_models::get_example_model::{closure#0} +FNDA:0,conjure_core::parse::example_models::get_example_model FNDA:0,conjure_core::parse::example_models::get_example_model_by_path -FNDA:1,conjure_core::parse::example_models::get_example_model_by_path FNDA:0,conjure_core::parse::example_models::get_example_model::{closure#1} +FNDA:0,conjure_core::parse::example_models::get_example_model_by_path FNDA:0,conjure_core::parse::example_models::get_example_model FNDA:0,conjure_core::parse::example_models::get_example_model::{closure#1} -FNDA:1,conjure_core::parse::example_models::get_example_model::{closure#0} -FNDA:0,conjure_core::parse::example_models::get_example_model -FNDA:0,conjure_core::parse::example_models::get_example_model_by_path -FNF:12 -FNH:4 -BRF:0 -BRH:0 -DA:21,45 -DA:23,45 -DA:24,45 -DA:27,254445 -DA:28,254445 -DA:29,254445 -DA:30,215610 -DA:31,360 -DA:33,30 -DA:34,30 -DA:35,254415 -DA:41,45 -DA:42,15 -DA:43,15 -DA:44,15 -DA:45,15 -DA:46,30 -DA:47,30 -DA:48,30 -DA:49,30 -DA:50,30 -DA:51,30 -DA:52,30 -DA:53,30 -DA:54,30 -DA:57,30 -DA:62,30 -DA:64,30 -DA:65,45 -DA:77,30 -DA:78,30 -DA:79,30 -DA:80,30 -DA:81,30 -DA:82,15 -DA:83,15 -DA:84,15 -DA:85,15 -DA:86,15 -DA:87,15 -DA:88,15 -DA:89,15 -DA:90,15 -DA:91,15 -DA:92,15 -DA:93,15 -DA:94,15 -DA:95,15 -DA:96,15 -DA:99,15 -DA:104,15 -DA:106,15 -DA:107,30 -LF:53 -LH:53 -end_of_record -SF:conjure_oxide/tests/generated_tests.rs -FN:19,generated_tests::main::{closure#0} -FN:94,generated_tests::assert_conjure_present -FN:28,generated_tests::integration_test -FN:17,generated_tests::main -FNDA:0,generated_tests::main::{closure#0} -FNDA:1,generated_tests::assert_conjure_present -FNDA:1,generated_tests::integration_test -FNDA:0,generated_tests::main -FNF:4 -FNH:2 +FNDA:0,conjure_core::parse::example_models::get_example_model::{closure#0} +FNDA:0,conjure_core::parse::example_models::get_example_model::{closure#0} +FNF:8 +FNH:0 BRF:0 BRH:0 -DA:17,0 -DA:18,0 -DA:19,0 -DA:20,0 DA:21,0 -DA:22,0 DA:23,0 -DA:25,0 -DA:28,14 -DA:29,14 -DA:30,14 -DA:31,14 -DA:32,14 -DA:33,14 +DA:24,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:33,0 DA:34,0 DA:35,0 -DA:36,0 -DA:37,0 -DA:38,14 -DA:41,14 -DA:42,14 -DA:43,0 -DA:44,14 -DA:46,14 -DA:47,14 -DA:48,14 -DA:49,14 -DA:50,14 +DA:41,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:57,0 +DA:62,0 +DA:64,0 +DA:65,0 +DA:77,0 +DA:78,0 +DA:79,0 +DA:80,0 +DA:81,0 +DA:82,0 +DA:83,0 +DA:84,0 +DA:85,0 +DA:86,0 +DA:87,0 +DA:88,0 +DA:89,0 +DA:90,0 +DA:91,0 +DA:92,0 +DA:93,0 +DA:94,0 +DA:95,0 +DA:96,0 +DA:99,0 +DA:104,0 +DA:106,0 +DA:107,0 +LF:53 +LH:0 +end_of_record +SF:conjure_oxide/tests/generated_tests.rs +FN:17,generated_tests::main +FN:19,generated_tests::main::{closure#0} +FN:28,generated_tests::integration_test +FN:94,generated_tests::assert_conjure_present +FNDA:0,generated_tests::main +FNDA:0,generated_tests::main::{closure#0} +FNDA:0,generated_tests::integration_test +FNDA:0,generated_tests::assert_conjure_present +FNF:4 +FNH:0 +BRF:0 +BRH:0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:21,0 +DA:22,0 +DA:23,0 +DA:25,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:50,0 DA:51,0 -DA:52,14 -DA:54,14 -DA:57,14 -DA:58,14 -DA:59,14 -DA:60,14 -DA:61,14 -DA:62,14 +DA:52,0 +DA:54,0 +DA:57,0 +DA:58,0 +DA:59,0 +DA:60,0 +DA:61,0 +DA:62,0 DA:63,0 -DA:64,14 -DA:66,14 -DA:67,14 -DA:68,14 +DA:64,0 +DA:66,0 +DA:67,0 +DA:68,0 DA:69,0 -DA:70,14 -DA:72,14 -DA:75,14 -DA:76,14 -DA:77,14 +DA:70,0 +DA:72,0 +DA:75,0 +DA:76,0 +DA:77,0 DA:78,0 -DA:79,14 -DA:81,14 -DA:82,14 +DA:79,0 +DA:81,0 +DA:82,0 DA:83,0 -DA:84,14 -DA:86,14 -DA:88,14 -DA:90,14 -DA:91,14 -DA:94,1 -DA:95,1 -DA:96,1 +DA:84,0 +DA:86,0 +DA:88,0 +DA:90,0 +DA:91,0 +DA:94,0 +DA:95,0 +DA:96,0 LF:61 -LH:43 +LH:0 end_of_record SF:conjure_oxide/src/utils/conjure.rs -FN:16,::fmt -FN:78,conjure_oxide::utils::conjure::get_minion_solutions::{closure#0} -FN:78,conjure_oxide::utils::conjure::get_minion_solutions::{closure#0} FN:25,>::from -FN:16,::fmt -FN:25,>::from -FN:16,::fmt FN:78,conjure_oxide::utils::conjure::get_minion_solutions::{closure#0} -FN:66,conjure_oxide::utils::conjure::get_minion_solutions -FN:93,conjure_oxide::utils::conjure::minion_solutions_to_json -FN:30,conjure_oxide::utils::conjure::parse_essence_file -FN:66,conjure_oxide::utils::conjure::get_minion_solutions FN:93,conjure_oxide::utils::conjure::minion_solutions_to_json FN:93,conjure_oxide::utils::conjure::minion_solutions_to_json +FN:66,conjure_oxide::utils::conjure::get_minion_solutions +FN:66,conjure_oxide::utils::conjure::get_minion_solutions +FN:78,conjure_oxide::utils::conjure::get_minion_solutions::{closure#0} FN:30,conjure_oxide::utils::conjure::parse_essence_file -FN:25,>::from +FN:16,::fmt FN:30,conjure_oxide::utils::conjure::parse_essence_file -FN:66,conjure_oxide::utils::conjure::get_minion_solutions -FNDA:0,::fmt -FNDA:0,conjure_oxide::utils::conjure::get_minion_solutions::{closure#0} -FNDA:1,conjure_oxide::utils::conjure::get_minion_solutions::{closure#0} -FNDA:0,>::from -FNDA:0,::fmt +FN:16,::fmt +FN:25,>::from FNDA:0,>::from -FNDA:0,::fmt FNDA:0,conjure_oxide::utils::conjure::get_minion_solutions::{closure#0} -FNDA:1,conjure_oxide::utils::conjure::get_minion_solutions FNDA:0,conjure_oxide::utils::conjure::minion_solutions_to_json -FNDA:0,conjure_oxide::utils::conjure::parse_essence_file -FNDA:0,conjure_oxide::utils::conjure::get_minion_solutions FNDA:0,conjure_oxide::utils::conjure::minion_solutions_to_json -FNDA:1,conjure_oxide::utils::conjure::minion_solutions_to_json +FNDA:0,conjure_oxide::utils::conjure::get_minion_solutions +FNDA:0,conjure_oxide::utils::conjure::get_minion_solutions +FNDA:0,conjure_oxide::utils::conjure::get_minion_solutions::{closure#0} +FNDA:0,conjure_oxide::utils::conjure::parse_essence_file +FNDA:0,::fmt FNDA:0,conjure_oxide::utils::conjure::parse_essence_file +FNDA:0,::fmt FNDA:0,>::from -FNDA:1,conjure_oxide::utils::conjure::parse_essence_file -FNDA:0,conjure_oxide::utils::conjure::get_minion_solutions -FNF:18 -FNH:4 +FNF:12 +FNH:0 BRF:0 BRH:0 DA:16,0 DA:25,0 DA:26,0 DA:27,0 -DA:30,70 -DA:31,70 -DA:32,70 -DA:33,70 -DA:34,70 -DA:35,70 -DA:36,70 -DA:37,70 -DA:38,70 -DA:39,70 -DA:40,70 -DA:42,70 +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:42,0 DA:43,0 -DA:46,70 +DA:46,0 DA:47,0 DA:48,0 DA:49,0 -DA:50,70 -DA:52,70 -DA:53,70 +DA:50,0 +DA:52,0 +DA:53,0 DA:54,0 DA:55,0 DA:56,0 DA:57,0 DA:58,0 -DA:62,70 -DA:63,70 -DA:64,70 -DA:66,70 -DA:67,70 -DA:68,70 -DA:69,70 -DA:70,70 -DA:72,70 -DA:73,70 -DA:74,70 -DA:75,70 -DA:76,70 -DA:77,70 -DA:78,655 -DA:79,655 -DA:80,655 -DA:81,655 -DA:82,655 -DA:83,70 -DA:84,70 -DA:85,70 -DA:86,70 -DA:87,70 -DA:88,70 -DA:89,70 -DA:90,70 -DA:91,70 -DA:93,70 -DA:94,70 -DA:95,725 -DA:96,655 -DA:97,2980 -DA:98,2325 -DA:99,2325 +DA:62,0 +DA:63,0 +DA:64,0 +DA:66,0 +DA:67,0 +DA:68,0 +DA:69,0 +DA:70,0 +DA:72,0 +DA:73,0 +DA:74,0 +DA:75,0 +DA:76,0 +DA:77,0 +DA:78,0 +DA:79,0 +DA:80,0 +DA:81,0 +DA:82,0 +DA:83,0 +DA:84,0 +DA:85,0 +DA:86,0 +DA:87,0 +DA:88,0 +DA:89,0 +DA:90,0 +DA:91,0 +DA:93,0 +DA:94,0 +DA:95,0 +DA:96,0 +DA:97,0 +DA:98,0 +DA:99,0 DA:100,0 -DA:102,2325 -DA:104,655 -DA:106,70 -DA:107,70 -DA:108,70 +DA:102,0 +DA:104,0 +DA:106,0 +DA:107,0 +DA:108,0 LF:70 -LH:56 -end_of_record -SF:solvers/chuffed/tests/dummy_test.rs -FN:2,dummy_test::dummy -FNDA:1,dummy_test::dummy -FNF:1 -FNH:1 -BRF:0 -BRH:0 -DA:2,1 -DA:3,1 -DA:4,1 -LF:3 -LH:3 +LH:0 end_of_record SF:solvers/minion/src/wrappers.rs FN:9,minion_rs::wrappers::get_from_table FN:9,minion_rs::wrappers::get_from_table -FN:9,minion_rs::wrappers::get_from_table FNDA:0,minion_rs::wrappers::get_from_table FNDA:0,minion_rs::wrappers::get_from_table -FNDA:1,minion_rs::wrappers::get_from_table -FNF:3 -FNH:1 +FNF:2 +FNH:0 BRF:0 BRH:0 -DA:9,494 -DA:10,494 -DA:11,494 -DA:12,494 -DA:13,494 -DA:14,494 -DA:15,494 -DA:16,494 -DA:17,494 -DA:18,494 +DA:9,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:18,0 DA:19,0 DA:20,0 -DA:25,494 -DA:26,494 -DA:27,494 -DA:30,494 +DA:25,0 +DA:26,0 +DA:27,0 +DA:30,0 LF:16 -LH:14 +LH:0 end_of_record SF:solvers/minion/tests/test_watchedor_reifyimply_1.rs FN:58,test_watchedor_reifyimply_1::callback FN:29,test_watchedor_reifyimply_1::test_watchedor_reifyimply_1 -FNDA:1,test_watchedor_reifyimply_1::callback -FNDA:1,test_watchedor_reifyimply_1::test_watchedor_reifyimply_1 +FNDA:0,test_watchedor_reifyimply_1::callback +FNDA:0,test_watchedor_reifyimply_1::test_watchedor_reifyimply_1 FNF:2 -FNH:2 +FNH:0 BRF:0 BRH:0 -DA:29,1 -DA:30,1 -DA:31,1 -DA:32,1 -DA:33,1 -DA:34,1 -DA:35,1 -DA:36,1 -DA:37,1 -DA:38,1 -DA:39,1 -DA:40,1 -DA:41,1 -DA:42,1 -DA:43,1 -DA:44,1 -DA:45,1 -DA:46,1 -DA:47,1 -DA:48,1 -DA:49,1 -DA:51,1 -DA:52,1 -DA:53,1 -DA:54,1 -DA:55,1 -DA:58,7 -DA:59,7 -DA:60,7 -DA:61,7 -DA:62,7 -DA:63,7 -LF:32 -LH:32 -end_of_record -SF:crates/conjure_core/src/rule_engine/resolve_rules.rs -FN:15,::fmt -FN:150,conjure_core::rule_engine::resolve_rules::get_rules_vec -FN:152,conjure_core::rule_engine::resolve_rules::get_rules_vec::{closure#0} -FN:29,conjure_core::rule_engine::resolve_rules::get_rule_set -FN:29,conjure_core::rule_engine::resolve_rules::get_rule_set -FN:90,conjure_core::rule_engine::resolve_rules::get_rule_priorities -FN:15,::fmt -FN:45,conjure_core::rule_engine::resolve_rules::rule_sets_by_names -FN:29,conjure_core::rule_engine::resolve_rules::get_rule_set -FN:90,conjure_core::rule_engine::resolve_rules::get_rule_priorities -FN:150,conjure_core::rule_engine::resolve_rules::get_rules_vec -FN:152,conjure_core::rule_engine::resolve_rules::get_rules_vec::{closure#0} -FN:128,conjure_core::rule_engine::resolve_rules::rule_cmp -FN:70,conjure_core::rule_engine::resolve_rules::resolve_rule_sets -FN:90,conjure_core::rule_engine::resolve_rules::get_rule_priorities -FN:70,conjure_core::rule_engine::resolve_rules::resolve_rule_sets -FN:70,conjure_core::rule_engine::resolve_rules::resolve_rule_sets -FN:45,conjure_core::rule_engine::resolve_rules::rule_sets_by_names -FN:15,::fmt -FN:45,conjure_core::rule_engine::resolve_rules::rule_sets_by_names -FN:128,conjure_core::rule_engine::resolve_rules::rule_cmp -FN:150,conjure_core::rule_engine::resolve_rules::get_rules_vec -FN:128,conjure_core::rule_engine::resolve_rules::rule_cmp -FN:152,conjure_core::rule_engine::resolve_rules::get_rules_vec::{closure#0} +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:58,0 +DA:59,0 +DA:60,0 +DA:61,0 +DA:62,0 +DA:63,0 +LF:32 +LH:0 +end_of_record +SF:crates/conjure_core/src/rule_engine/resolve_rules.rs +FN:15,::fmt +FN:70,conjure_core::rule_engine::resolve_rules::resolve_rule_sets +FN:152,conjure_core::rule_engine::resolve_rules::get_rules_vec::{closure#0} +FN:150,conjure_core::rule_engine::resolve_rules::get_rules_vec +FN:90,conjure_core::rule_engine::resolve_rules::get_rule_priorities +FN:152,conjure_core::rule_engine::resolve_rules::get_rules_vec::{closure#0} +FN:90,conjure_core::rule_engine::resolve_rules::get_rule_priorities +FN:29,conjure_core::rule_engine::resolve_rules::get_rule_set +FN:128,conjure_core::rule_engine::resolve_rules::rule_cmp +FN:15,::fmt +FN:128,conjure_core::rule_engine::resolve_rules::rule_cmp +FN:29,conjure_core::rule_engine::resolve_rules::get_rule_set +FN:45,conjure_core::rule_engine::resolve_rules::rule_sets_by_names +FN:150,conjure_core::rule_engine::resolve_rules::get_rules_vec +FN:45,conjure_core::rule_engine::resolve_rules::rule_sets_by_names +FN:70,conjure_core::rule_engine::resolve_rules::resolve_rule_sets FNDA:0,::fmt +FNDA:0,conjure_core::rule_engine::resolve_rules::resolve_rule_sets +FNDA:0,conjure_core::rule_engine::resolve_rules::get_rules_vec::{closure#0} FNDA:0,conjure_core::rule_engine::resolve_rules::get_rules_vec +FNDA:0,conjure_core::rule_engine::resolve_rules::get_rule_priorities FNDA:0,conjure_core::rule_engine::resolve_rules::get_rules_vec::{closure#0} -FNDA:0,conjure_core::rule_engine::resolve_rules::get_rule_set -FNDA:0,conjure_core::rule_engine::resolve_rules::get_rule_set FNDA:0,conjure_core::rule_engine::resolve_rules::get_rule_priorities +FNDA:0,conjure_core::rule_engine::resolve_rules::get_rule_set +FNDA:0,conjure_core::rule_engine::resolve_rules::rule_cmp FNDA:0,::fmt +FNDA:0,conjure_core::rule_engine::resolve_rules::rule_cmp +FNDA:0,conjure_core::rule_engine::resolve_rules::get_rule_set FNDA:0,conjure_core::rule_engine::resolve_rules::rule_sets_by_names -FNDA:1,conjure_core::rule_engine::resolve_rules::get_rule_set -FNDA:1,conjure_core::rule_engine::resolve_rules::get_rule_priorities FNDA:0,conjure_core::rule_engine::resolve_rules::get_rules_vec -FNDA:1,conjure_core::rule_engine::resolve_rules::get_rules_vec::{closure#0} -FNDA:1,conjure_core::rule_engine::resolve_rules::rule_cmp -FNDA:1,conjure_core::rule_engine::resolve_rules::resolve_rule_sets -FNDA:0,conjure_core::rule_engine::resolve_rules::get_rule_priorities -FNDA:0,conjure_core::rule_engine::resolve_rules::resolve_rule_sets -FNDA:0,conjure_core::rule_engine::resolve_rules::resolve_rule_sets -FNDA:1,conjure_core::rule_engine::resolve_rules::rule_sets_by_names -FNDA:0,::fmt FNDA:0,conjure_core::rule_engine::resolve_rules::rule_sets_by_names -FNDA:0,conjure_core::rule_engine::resolve_rules::rule_cmp -FNDA:1,conjure_core::rule_engine::resolve_rules::get_rules_vec -FNDA:0,conjure_core::rule_engine::resolve_rules::rule_cmp -FNDA:0,conjure_core::rule_engine::resolve_rules::get_rules_vec::{closure#0} -FNF:24 -FNH:7 +FNDA:0,conjure_core::rule_engine::resolve_rules::resolve_rule_sets +FNF:16 +FNH:0 BRF:0 BRH:0 DA:15,0 @@ -722,117 +641,105 @@ DA:16,0 DA:17,0 DA:18,0 DA:19,0 -DA:29,480 -DA:30,480 -DA:31,480 +DA:29,0 +DA:30,0 +DA:31,0 DA:32,0 -DA:34,480 -DA:45,270 -DA:46,270 -DA:47,270 -DA:48,270 -DA:50,750 -DA:51,480 -DA:52,480 -DA:53,480 -DA:54,480 -DA:57,270 -DA:58,270 -DA:70,270 -DA:71,270 -DA:72,270 -DA:73,270 -DA:74,270 -DA:76,270 -DA:77,270 -DA:78,270 -DA:80,270 -DA:81,270 -DA:82,270 -DA:90,360 -DA:91,360 -DA:92,360 -DA:93,360 -DA:95,1650 -DA:96,11430 -DA:97,11430 +DA:34,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:57,0 +DA:58,0 +DA:70,0 +DA:71,0 +DA:72,0 +DA:73,0 +DA:74,0 +DA:76,0 +DA:77,0 +DA:78,0 +DA:80,0 +DA:81,0 +DA:82,0 +DA:90,0 +DA:91,0 +DA:92,0 +DA:93,0 +DA:95,0 +DA:96,0 +DA:97,0 DA:98,0 DA:99,0 DA:100,0 -DA:101,11430 -DA:102,11430 -DA:103,11430 -DA:107,360 -DA:108,11790 -DA:109,11430 -DA:110,11430 -DA:112,360 -DA:113,360 -DA:128,52695 -DA:129,52695 -DA:130,52695 -DA:131,52695 -DA:132,52695 -DA:133,52695 -DA:134,52695 -DA:135,52695 -DA:136,52695 -DA:137,47310 -DA:138,5385 -DA:139,5385 -DA:140,5385 -DA:141,52695 -DA:150,360 -DA:151,360 -DA:152,52695 -DA:153,360 -DA:154,360 +DA:101,0 +DA:102,0 +DA:103,0 +DA:107,0 +DA:108,0 +DA:109,0 +DA:110,0 +DA:112,0 +DA:113,0 +DA:128,0 +DA:129,0 +DA:130,0 +DA:131,0 +DA:132,0 +DA:133,0 +DA:134,0 +DA:135,0 +DA:136,0 +DA:137,0 +DA:138,0 +DA:139,0 +DA:140,0 +DA:141,0 +DA:150,0 +DA:151,0 +DA:152,0 +DA:153,0 +DA:154,0 LF:70 -LH:61 +LH:0 end_of_record SF:conjure_oxide/src/utils/json.rs -FN:7,conjure_oxide::utils::json::json_value_cmp -FN:53,conjure_oxide::utils::json::sort_json_object::{closure#0} -FN:7,conjure_oxide::utils::json::json_value_cmp FN:32,conjure_oxide::utils::json::sort_json_variables -FN:7,conjure_oxide::utils::json::json_value_cmp -FN:68,conjure_oxide::utils::json::sort_json_object::{closure#2} FN:32,conjure_oxide::utils::json::sort_json_variables -FN:32,conjure_oxide::utils::json::sort_json_variables -FN:62,conjure_oxide::utils::json::sort_json_object::{closure#1} -FN:68,conjure_oxide::utils::json::sort_json_object::{closure#2} -FN:48,conjure_oxide::utils::json::sort_json_object FN:48,conjure_oxide::utils::json::sort_json_object -FN:53,conjure_oxide::utils::json::sort_json_object::{closure#0} +FN:68,conjure_oxide::utils::json::sort_json_object::{closure#2} FN:62,conjure_oxide::utils::json::sort_json_object::{closure#1} -FN:53,conjure_oxide::utils::json::sort_json_object::{closure#0} +FN:7,conjure_oxide::utils::json::json_value_cmp +FN:7,conjure_oxide::utils::json::json_value_cmp FN:62,conjure_oxide::utils::json::sort_json_object::{closure#1} FN:48,conjure_oxide::utils::json::sort_json_object FN:68,conjure_oxide::utils::json::sort_json_object::{closure#2} -FNDA:1,conjure_oxide::utils::json::json_value_cmp -FNDA:0,conjure_oxide::utils::json::sort_json_object::{closure#0} -FNDA:0,conjure_oxide::utils::json::json_value_cmp +FN:53,conjure_oxide::utils::json::sort_json_object::{closure#0} +FN:53,conjure_oxide::utils::json::sort_json_object::{closure#0} FNDA:0,conjure_oxide::utils::json::sort_json_variables -FNDA:0,conjure_oxide::utils::json::json_value_cmp -FNDA:0,conjure_oxide::utils::json::sort_json_object::{closure#2} FNDA:0,conjure_oxide::utils::json::sort_json_variables -FNDA:1,conjure_oxide::utils::json::sort_json_variables -FNDA:0,conjure_oxide::utils::json::sort_json_object::{closure#1} -FNDA:0,conjure_oxide::utils::json::sort_json_object::{closure#2} FNDA:0,conjure_oxide::utils::json::sort_json_object +FNDA:0,conjure_oxide::utils::json::sort_json_object::{closure#2} +FNDA:0,conjure_oxide::utils::json::sort_json_object::{closure#1} +FNDA:0,conjure_oxide::utils::json::json_value_cmp +FNDA:0,conjure_oxide::utils::json::json_value_cmp +FNDA:0,conjure_oxide::utils::json::sort_json_object::{closure#1} FNDA:0,conjure_oxide::utils::json::sort_json_object +FNDA:0,conjure_oxide::utils::json::sort_json_object::{closure#2} FNDA:0,conjure_oxide::utils::json::sort_json_object::{closure#0} -FNDA:1,conjure_oxide::utils::json::sort_json_object::{closure#1} -FNDA:1,conjure_oxide::utils::json::sort_json_object::{closure#0} -FNDA:0,conjure_oxide::utils::json::sort_json_object::{closure#1} -FNDA:1,conjure_oxide::utils::json::sort_json_object -FNDA:1,conjure_oxide::utils::json::sort_json_object::{closure#2} -FNF:18 -FNH:6 +FNDA:0,conjure_oxide::utils::json::sort_json_object::{closure#0} +FNF:12 +FNH:0 BRF:0 BRH:0 -DA:7,2870 -DA:8,2870 +DA:7,0 +DA:8,0 DA:9,0 DA:10,0 DA:11,0 @@ -840,1118 +747,723 @@ DA:12,0 DA:13,0 DA:14,0 DA:15,0 -DA:17,240 -DA:18,240 -DA:19,240 -DA:20,240 -DA:21,240 +DA:17,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:21,0 DA:22,0 DA:24,0 -DA:26,2630 -DA:28,2870 -DA:32,140 -DA:33,140 -DA:34,140 -DA:35,140 -DA:36,140 -DA:37,140 +DA:26,0 +DA:28,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 DA:39,0 -DA:41,140 -DA:48,15540 -DA:49,15540 -DA:50,5015 -DA:51,5015 -DA:52,5015 -DA:53,10735 -DA:54,10735 -DA:55,140 -DA:57,10595 -DA:59,10735 -DA:60,5015 -DA:61,5015 -DA:62,5720 -DA:63,5015 -DA:65,1760 -DA:66,1760 -DA:67,1760 -DA:68,4555 -DA:69,1760 -DA:70,1760 -DA:71,1760 -DA:72,140 -DA:73,1620 -DA:75,1760 -DA:77,8765 -DA:79,15540 +DA:41,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:57,0 +DA:59,0 +DA:60,0 +DA:61,0 +DA:62,0 +DA:63,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:68,0 +DA:69,0 +DA:70,0 +DA:71,0 +DA:72,0 +DA:73,0 +DA:75,0 +DA:77,0 +DA:79,0 LF:52 -LH:42 +LH:0 end_of_record SF:crates/conjure_core/src/metadata.rs -FN:6,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> -FN:6,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> -FN:20,::clone_dirty +FN:6,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_> +FN:6,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> FN:13,::new -FN:6,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> +FN:6,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting FN:6,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> +FN:6,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::> FN:29,::fmt -FN:13,::new -FN:6,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::> -FN:6,<::deserialize::__Field as serde::de::Deserialize>::deserialize::> -FN:6,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:6,<::deserialize::__Field as serde::de::Deserialize>::deserialize::> -FN:6,<::deserialize::__Visitor as serde::de::Visitor>::expecting +FN:6,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_> FN:6,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FN:20,::clone_dirty FN:6,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::> -FN:6,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FN:20,::clone_dirty -FN:29,::fmt -FN:6,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::> -FN:6,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> -FN:6,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_> +FN:6,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: +FN:6,<::deserialize::__Visitor as serde::de::Visitor>::expecting FN:6,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> +FN:6,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> FN:29,::fmt -FN:6,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FN:6,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> -FN:6,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: +FN:6,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_> +FN:6,<::deserialize::__Field as serde::de::Deserialize>::deserialize::> FN:6,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> -FN:6,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_> -FN:6,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_> -FN:6,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::> -FN:13,::new FN:6,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:6,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FN:6,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FN:6,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: +FN:20,::clone_dirty +FN:13,::new +FN:20,::clone_dirty FN:6,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FN:6,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> FN:6,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FN:6,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FN:6,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> -FNDA:1,::clone_dirty -FNDA:1,::new -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FNDA:0,::fmt -FNDA:0,::new -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::> -FNDA:1,<::deserialize::__Field as serde::de::Deserialize>::deserialize::> -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::> -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::expecting +FN:6,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> +FN:6,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_> FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FNDA:0,::clone_dirty -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::> +FNDA:0,::new FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FNDA:0,::clone_dirty -FNDA:0,::fmt -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_> FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::> FNDA:0,::fmt -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_> +FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::> FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::expecting +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_> -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_> -FNDA:1,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::> -FNDA:1,::new +FNDA:0,::fmt FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FNDA:1,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: +FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::> +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_> +FNDA:0,::clone_dirty +FNDA:0,::new +FNDA:0,::clone_dirty FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_> -FNF:41 -FNH:6 -BRF:0 -BRH:0 -DA:6,3480 -DA:13,18853 -DA:14,18853 -DA:15,18853 -DA:16,18853 -DA:17,18853 -DA:18,18853 -DA:20,19950 -DA:21,19950 -DA:22,19950 -DA:23,19950 -DA:24,19950 -DA:25,19950 -DA:29,0 -DA:30,0 -DA:31,0 -LF:16 -LH:13 -end_of_record -SF:solvers/chuffed/tests/chuffed_basic_run.rs -FN:35,callback -FN:42,chuffed_basic_run::run_basic_problem -FN:11,chuffed_basic_run::post_constraints -FNDA:0,callback -FNDA:1,chuffed_basic_run::run_basic_problem -FNDA:0,chuffed_basic_run::post_constraints -FNF:3 -FNH:1 +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> +FNF:26 +FNH:0 BRF:0 BRH:0 -DA:11,0 -DA:12,0 +DA:6,0 DA:13,0 DA:14,0 DA:15,0 DA:16,0 DA:17,0 DA:18,0 -DA:19,0 DA:20,0 DA:21,0 DA:22,0 DA:23,0 DA:24,0 DA:25,0 -DA:26,0 -DA:27,0 -DA:28,0 DA:29,0 DA:30,0 DA:31,0 -DA:35,0 -DA:36,0 -DA:37,0 -DA:42,1 -DA:43,1 -DA:44,1 -DA:45,1 -DA:46,1 -DA:47,1 -DA:48,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:52,0 -DA:53,0 -DA:54,0 -DA:55,0 -DA:56,0 -DA:57,0 -DA:58,0 -DA:59,0 -DA:60,0 -DA:61,0 -DA:62,0 -DA:63,0 -DA:64,0 -DA:65,0 -DA:67,1 -LF:49 -LH:7 +LF:16 +LH:0 end_of_record SF:crates/conjure_core/src/ast/expressions.rs -FN:18,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> +FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FN:117,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#1} +FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FN:313,conjure_core::ast::expressions::display_expressions +FN:117,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#1}::{closure#0} +FN:18,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> +FN:18,::uniplate::{closure#21} +FN:18,::uniplate::{closure#23} +FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting +FN:18,::uniplate::{closure#30} +FN:18,::is_safe_div +FN:18,::is_leq +FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting +FN:18,::is_geq +FN:18,::uniplate::{closure#2} +FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting +FN:18,::is_neq +FN:219,::is_clean +FN:18,::is_min +FN:18,::uniplate::{closure#4} +FN:18,::uniplate::{closure#6} +FN:18,::uniplate::{closure#16} +FN:18,::uniplate::{closure#18} FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> FN:464,conjure_core::ast::expressions::tests::test_domain_of_empty_sum -FN:18,::is_not -FN:18,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FN:18,::is_and FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,::is_eq -FN:18,::is_bubble -FN:18,::is_sum_geq -FN:18,::uniplate::{closure#21} -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,::uniplate::{closure#29} -FN:18,::uniplate::{closure#29} -FN:18,::is_neq -FN:18,::is_reference -FN:18,::uniplate::{closure#3} -FN:18,::uniplate::{closure#1} +FN:18,::uniplate::{closure#5} +FN:18,::uniplate::{closure#7} +FN:18,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting +FN:18,::is_safe_div FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> -FN:18,::is_all_diff -FN:18,::is_eq -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FN:219,::is_clean FN:18,::is_sum_leq -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> FN:149,::domain_of +FN:470,conjure_core::ast::expressions::tests::test_domain_of_reference +FN:18,::uniplate::{closure#11} +FN:18,::uniplate::{closure#26} +FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FN:333,>::from +FN:156,::domain_of::{closure#0} +FN:484,conjure_core::ast::expressions::tests::test_domain_of_reference_not_found FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FN:117,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#1} -FN:117,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#1}::{closure#0} -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:158,::domain_of::{closure#1} -FN:18,::uniplate::{closure#14} -FN:149,::domain_of -FN:18,::is_not +FN:18,::is_nothing +FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FN:114,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#0} +FN:18,::uniplate::{closure#24} +FN:18,::uniplate::{closure#26} +FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FN:339,>::from +FN:18,::is_gt +FN:18,::is_and FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> +FN:18,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> +FN:18,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> +FN:18,::is_sum_geq FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,::uniplate::{closure#30} -FN:18,::uniplate::{closure#21} -FN:18,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> -FN:18,::is_all_diff -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,::uniplate::{closure#28} -FN:18,::uniplate::{closure#5} +FN:18,::uniplate::{closure#1} FN:18,::uniplate::{closure#3} -FN:18,::is_sum_geq +FN:346,::fmt +FN:18,::uniplate::{closure#16} +FN:18,::is_geq +FN:18,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> +FN:149,::domain_of +FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FN:156,::domain_of::{closure#0} FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,::is_sum_eq -FN:180,::can_be_undefined FN:18,::is_constant FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting +FN:18,::uniplate::{closure#27} +FN:18,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> +FN:18,::is_eq +FN:114,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#0} FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,::uniplate::{closure#13} -FN:121,conjure_core::ast::expressions::range_vec_bounds_i32 -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:117,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#1}::{closure#0}::{closure#0} -FN:346,::fmt -FN:319,conjure_core::ast::expressions::display_expressions::{closure#0} FN:18,::is_reference -FN:244,::set_clean -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FN:18,::is_unsafe_div +FN:18,::uniplate::{closure#5} FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting +FN:244,::set_clean +FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> +FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> +FN:18,::uniplate::{closure#25} +FN:18,::uniplate::{closure#28} FN:18,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting +FN:162,::domain_of::{closure#2} +FN:456,conjure_core::ast::expressions::tests::test_domain_of_constant_invalid_type FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:156,::domain_of::{closure#0} -FN:18,::uniplate::{closure#18} +FN:18,::uniplate::{closure#15} +FN:162,::domain_of::{closure#2} +FN:18,::is_sum_eq +FN:117,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#1} +FN:18,::is_lt +FN:18,::uniplate +FN:18,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> +FN:18,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,::is_sum_leq -FN:18,::is_ineq -FN:18,::is_min -FN:18,::uniplate::{closure#30} +FN:339,>::from +FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting +FN:505,conjure_core::ast::expressions::tests::test_domain_of_reference_sum_bounded +FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FN:117,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#1}::{closure#0}::{closure#0} FN:18,::uniplate::{closure#28} +FN:18,::uniplate::{closure#30} FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FN:18,::is_sum +FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:339,>::from -FN:18,::is_or -FN:18,::uniplate::{closure#8} -FN:18,::uniplate::{closure#21} -FN:456,conjure_core::ast::expressions::tests::test_domain_of_constant_invalid_type -FN:109,conjure_core::ast::expressions::expr_vec_to_domain_i32 -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FN:18,::uniplate::{closure#15} -FN:18,::uniplate::{closure#13} FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting +FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting +FN:18,::is_lt +FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting +FN:18,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> +FN:18,::is_sum_geq +FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FN:18,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> +FN:18,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> +FN:18,::uniplate::{closure#9} +FN:18,::uniplate::{closure#24} +FN:18,::uniplate::{closure#22} +FN:18,::uniplate::{closure#20} FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> FN:18,::is_or -FN:490,conjure_core::ast::expressions::tests::test_domain_of_reference_sum_single -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FN:18,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting +FN:18,::uniplate::{closure#3} +FN:18,::is_div_eq +FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting +FN:445,conjure_core::ast::expressions::tests::test_domain_of_constant_sum FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:117,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#1}::{closure#0}::{closure#0} +FN:190,::return_type +FN:18,::uniplate::{closure#0} +FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> +FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FN:18,<::deserialize::__Visitor as serde::de::Visitor>::expecting FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FN:18,::is_sum FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:313,conjure_core::ast::expressions::display_expressions -FN:18,::uniplate::{closure#16} +FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting +FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> FN:18,::uniplate::{closure#14} FN:18,::uniplate::{closure#12} +FN:18,::uniplate::{closure#29} +FN:18,::is_all_diff +FN:18,::uniplate::{closure#27} FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,::is_nothing -FN:18,::is_gt -FN:18,::uniplate::{closure#1} -FN:18,::uniplate::{closure#10} -FN:18,::uniplate::{closure#26} -FN:18,::uniplate::{closure#24} -FN:18,::uniplate::{closure#18} -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,::is_safe_div +FN:18,::is_and +FN:18,::is_bubble FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FN:158,::domain_of::{closure#1} FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,::is_nothing +FN:18,::uniplate::{closure#29} +FN:109,conjure_core::ast::expressions::expr_vec_to_domain_i32 +FN:319,conjure_core::ast::expressions::display_expressions::{closure#0} +FN:18,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> +FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting +FN:18,::uniplate::{closure#7} +FN:18,::uniplate::{closure#9} +FN:18,::uniplate::{closure#11} +FN:18,::uniplate::{closure#12} +FN:18,::uniplate::{closure#14} +FN:490,conjure_core::ast::expressions::tests::test_domain_of_reference_sum_single +FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting +FN:18,::is_sum_eq +FN:18,::uniplate::{closure#4} +FN:18,::uniplate::{closure#19} +FN:18,::uniplate::{closure#17} FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> +FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> FN:18,::is_ineq +FN:158,::domain_of::{closure#1} +FN:18,::is_gt FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,::is_leq -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,::is_min -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FN:18,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> +FN:333,>::from FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,::is_bubble -FN:18,::uniplate::{closure#17} -FN:18,::is_div_eq -FN:18,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: -FN:18,::uniplate::{closure#16} -FN:18,::uniplate::{closure#12} -FN:18,::uniplate::{closure#26} -FN:18,::uniplate::{closure#14} -FN:18,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,::uniplate::{closure#27} -FN:18,::is_min -FN:18,::uniplate::{closure#6} -FN:18,<::deserialize::__Visitor as serde::de::Visitor>::expecting FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FN:319,conjure_core::ast::expressions::display_expressions::{closure#0} -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:117,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#1} -FN:18,::uniplate -FN:18,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:162,::domain_of::{closure#2} +FN:121,conjure_core::ast::expressions::range_vec_bounds_i32 +FN:18,::is_all_diff +FN:18,::uniplate::{closure#20} +FN:18,::uniplate::{closure#22} +FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FN:346,::fmt +FN:18,::is_nothing +FN:18,::uniplate::{closure#2} FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,::is_bubble -FN:484,conjure_core::ast::expressions::tests::test_domain_of_reference_not_found -FN:190,::return_type FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> +FN:18,::uniplate::{closure#0} FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FN:18,::is_sum_leq -FN:219,::is_clean -FN:18,::is_safe_div -FN:18,::is_safe_div -FN:18,::uniplate::{closure#25} -FN:162,::domain_of::{closure#2} +FN:18,::uniplate::{closure#1} FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,::uniplate::{closure#0} -FN:18,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FN:18,::uniplate::{closure#19} -FN:18,::uniplate::{closure#17} -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:109,conjure_core::ast::expressions::expr_vec_to_domain_i32 -FN:18,::uniplate::{closure#4} -FN:18,::uniplate::{closure#6} -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,::uniplate::{closure#6} FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,::uniplate::{closure#20} FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FN:18,::uniplate::{closure#13} +FN:18,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:117,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#1}::{closure#0} -FN:346,::fmt +FN:18,::is_div_eq +FN:18,::is_neq +FN:18,::uniplate::{closure#18} FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:121,conjure_core::ast::expressions::range_vec_bounds_i32 +FN:18,::uniplate::{closure#8} +FN:18,::uniplate::{closure#10} +FN:18,::uniplate::{closure#13} +FN:18,::is_not FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:219,::is_clean FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,::is_gt -FN:18,::is_div_eq -FN:18,::uniplate +FN:18,::is_unsafe_div +FN:319,conjure_core::ast::expressions::display_expressions::{closure#0} FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FN:18,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> -FN:18,::is_eq -FN:180,::can_be_undefined -FN:18,::uniplate::{closure#19} -FN:18,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> -FN:244,::set_clean FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FN:18,::is_sum_leq FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FN:505,conjure_core::ast::expressions::tests::test_domain_of_reference_sum_bounded -FN:18,::uniplate::{closure#26} -FN:117,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#1}::{closure#0}::{closure#0} -FN:18,::uniplate FN:180,::can_be_undefined -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,::is_neq -FN:18,::uniplate::{closure#22} -FN:18,::uniplate::{closure#20} -FN:18,::uniplate::{closure#18} -FN:18,::uniplate::{closure#16} -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:190,::return_type -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> +FN:18,::uniplate::{closure#25} FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,::is_div_eq -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FN:18,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting +FN:18,::uniplate::{closure#10} +FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> FN:18,::is_or -FN:346,::fmt FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting +FN:313,conjure_core::ast::expressions::display_expressions FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FN:18,::uniplate::{closure#19} FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,::uniplate::{closure#15} +FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FN:18,::uniplate::{closure#17} +FN:18,::uniplate::{closure#19} FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,::is_geq -FN:18,::uniplate::{closure#12} -FN:18,::uniplate::{closure#4} -FN:18,::uniplate::{closure#24} -FN:18,::is_neq -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FN:18,::uniplate::{closure#27} -FN:18,::uniplate::{closure#2} -FN:18,::is_sum_eq -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> +FN:117,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#1}::{closure#0} FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FN:18,::is_all_diff -FN:18,::uniplate::{closure#22} -FN:18,::uniplate::{closure#20} -FN:18,::uniplate::{closure#8} -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:333,>::from -FN:18,::is_reference -FN:18,::is_geq +FN:18,::is_bubble FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FN:18,::is_eq +FN:109,conjure_core::ast::expressions::expr_vec_to_domain_i32 +FN:18,::is_leq +FN:18,::is_not FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FN:18,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> -FN:18,::is_unsafe_div -FN:333,>::from -FN:114,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#0} -FN:18,::is_lt -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FN:162,::domain_of::{closure#2} -FN:114,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#0} +FN:18,::is_min FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FN:117,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#1} -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,::uniplate::{closure#17} -FN:18,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> +FN:18,::is_constant +FN:18,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,::uniplate::{closure#15} -FN:18,::is_sum -FN:18,::uniplate::{closure#4} -FN:18,::uniplate::{closure#2} -FN:18,::uniplate::{closure#2} +FN:18,<::deserialize::__Visitor as serde::de::Visitor>::expecting +FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FN:18,::uniplate::{closure#23} -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FN:18,::uniplate::{closure#29} -FN:18,::uniplate::{closure#9} FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FN:244,::set_clean FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting +FN:18,::is_ineq +FN:117,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#1}::{closure#0}::{closure#0} +FN:190,::return_type +FN:18,::is_reference +FN:18,::uniplate::{closure#15} FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:339,>::from -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,::is_leq -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,::is_unsafe_div -FN:121,conjure_core::ast::expressions::range_vec_bounds_i32 -FN:313,conjure_core::ast::expressions::display_expressions +FN:180,::can_be_undefined FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:190,::return_type -FN:18,::uniplate::{closure#0} +FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,::uniplate::{closure#11} -FN:18,::uniplate::{closure#9} -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,::uniplate::{closure#7} -FN:18,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> -FN:18,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,::uniplate::{closure#13} -FN:18,::uniplate::{closure#25} +FN:18,::uniplate::{closure#8} FN:18,::uniplate::{closure#23} -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> +FN:121,conjure_core::ast::expressions::range_vec_bounds_i32 FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,::uniplate::{closure#7} -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,::uniplate::{closure#10} -FN:18,::uniplate::{closure#5} -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:470,conjure_core::ast::expressions::tests::test_domain_of_reference -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,::uniplate::{closure#8} -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,::is_gt -FN:219,::is_clean -FN:18,::uniplate::{closure#1} -FN:18,::is_constant -FN:18,::uniplate::{closure#24} -FN:18,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FN:156,::domain_of::{closure#0} -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,::is_sum -FN:18,::uniplate::{closure#25} -FN:18,::uniplate::{closure#23} -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,::is_unsafe_div -FN:18,::uniplate::{closure#11} -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,::uniplate::{closure#9} -FN:18,::uniplate::{closure#5} -FN:18,::uniplate::{closure#3} -FN:18,::uniplate::{closure#7} -FN:18,::is_geq -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FN:149,::domain_of -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,::is_nothing -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,::uniplate::{closure#10} -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,::is_constant -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> -FN:319,conjure_core::ast::expressions::display_expressions::{closure#0} -FN:244,::set_clean -FN:339,>::from -FN:114,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#0} -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FN:18,::is_lt -FN:18,::is_sum_geq -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FN:158,::domain_of::{closure#1} -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,::uniplate::{closure#22} -FN:18,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FN:156,::domain_of::{closure#0} -FN:18,::uniplate::{closure#30} -FN:18,::uniplate::{closure#11} -FN:18,::uniplate::{closure#28} -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FN:445,conjure_core::ast::expressions::tests::test_domain_of_constant_sum -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FN:18,::is_and -FN:18,::is_and -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FN:158,::domain_of::{closure#1} -FN:18,::is_sum -FN:109,conjure_core::ast::expressions::expr_vec_to_domain_i32 -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,::is_lt -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,::is_ineq -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FN:313,conjure_core::ast::expressions::display_expressions -FN:18,::uniplate::{closure#0} -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FN:333,>::from +FN:18,::uniplate::{closure#21} +FN:18,::uniplate::{closure#6} +FN:18,::uniplate FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,::is_leq -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:18,::uniplate::{closure#27} -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:18,::is_sum_eq -FN:18,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:117,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#1}::{closure#0} -FN:18,::is_not -FNDA:1,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FNDA:1,conjure_core::ast::expressions::tests::test_domain_of_empty_sum -FNDA:0,::is_not -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FNDA:0,::is_and -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:1,::is_eq -FNDA:0,::is_bubble -FNDA:0,::is_sum_geq -FNDA:1,::uniplate::{closure#21} -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,::uniplate::{closure#29} -FNDA:1,::uniplate::{closure#29} -FNDA:0,::is_neq -FNDA:0,::is_reference -FNDA:0,::uniplate::{closure#3} -FNDA:0,::uniplate::{closure#1} -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> -FNDA:0,::is_all_diff -FNDA:0,::is_eq -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,::is_sum_leq FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FNDA:0,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#1} FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:1,::domain_of -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FNDA:1,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#1} +FNDA:0,conjure_core::ast::expressions::display_expressions FNDA:0,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#1}::{closure#0} -FNDA:1,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> +FNDA:0,::uniplate::{closure#21} +FNDA:0,::uniplate::{closure#23} FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:1,::domain_of::{closure#1} -FNDA:0,::uniplate::{closure#14} -FNDA:1,::domain_of -FNDA:0,::is_not +FNDA:0,::uniplate::{closure#30} +FNDA:0,::is_safe_div +FNDA:0,::is_leq FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:1,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> +FNDA:0,::is_geq +FNDA:0,::uniplate::{closure#2} FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,::uniplate::{closure#30} -FNDA:0,::uniplate::{closure#21} -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> -FNDA:0,::is_all_diff +FNDA:0,::is_neq +FNDA:0,::is_clean +FNDA:0,::is_min +FNDA:0,::uniplate::{closure#4} +FNDA:0,::uniplate::{closure#6} +FNDA:0,::uniplate::{closure#16} +FNDA:0,::uniplate::{closure#18} +FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> +FNDA:0,conjure_core::ast::expressions::tests::test_domain_of_empty_sum FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,::uniplate::{closure#28} FNDA:0,::uniplate::{closure#5} -FNDA:0,::uniplate::{closure#3} -FNDA:0,::is_sum_geq -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,::is_sum_eq -FNDA:0,::can_be_undefined -FNDA:0,::is_constant +FNDA:0,::uniplate::{closure#7} +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting +FNDA:0,::is_safe_div FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting +FNDA:0,::is_clean +FNDA:0,::is_sum_leq +FNDA:0,::domain_of +FNDA:0,conjure_core::ast::expressions::tests::test_domain_of_reference +FNDA:0,::uniplate::{closure#11} +FNDA:0,::uniplate::{closure#26} FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,::uniplate::{closure#13} -FNDA:1,conjure_core::ast::expressions::range_vec_bounds_i32 +FNDA:0,>::from +FNDA:0,::domain_of::{closure#0} +FNDA:0,conjure_core::ast::expressions::tests::test_domain_of_reference_not_found FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#1}::{closure#0}::{closure#0} -FNDA:0,::fmt -FNDA:0,conjure_core::ast::expressions::display_expressions::{closure#0} -FNDA:0,::is_reference -FNDA:0,::set_clean +FNDA:0,::is_nothing FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FNDA:0,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#0} +FNDA:0,::uniplate::{closure#24} +FNDA:0,::uniplate::{closure#26} +FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FNDA:0,>::from +FNDA:0,::is_gt +FNDA:0,::is_and FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:1,::domain_of::{closure#0} -FNDA:0,::uniplate::{closure#18} +FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> +FNDA:0,::is_sum_geq FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,::is_sum_leq -FNDA:0,::is_ineq -FNDA:0,::is_min -FNDA:0,::uniplate::{closure#30} -FNDA:0,::uniplate::{closure#28} +FNDA:0,::uniplate::{closure#1} +FNDA:0,::uniplate::{closure#3} +FNDA:0,::fmt +FNDA:0,::uniplate::{closure#16} +FNDA:0,::is_geq +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> +FNDA:0,::domain_of FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FNDA:0,::domain_of::{closure#0} FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,>::from -FNDA:0,::is_or -FNDA:0,::uniplate::{closure#8} -FNDA:0,::uniplate::{closure#21} -FNDA:1,conjure_core::ast::expressions::tests::test_domain_of_constant_invalid_type -FNDA:1,conjure_core::ast::expressions::expr_vec_to_domain_i32 -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FNDA:0,::uniplate::{closure#15} -FNDA:0,::uniplate::{closure#13} +FNDA:0,::is_constant FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:1,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> +FNDA:0,::uniplate::{closure#27} +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> +FNDA:0,::is_eq +FNDA:0,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#0} FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FNDA:0,::is_reference +FNDA:0,::is_unsafe_div +FNDA:0,::uniplate::{closure#5} +FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting +FNDA:0,::set_clean FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FNDA:0,::is_or -FNDA:1,conjure_core::ast::expressions::tests::test_domain_of_reference_sum_single FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> +FNDA:0,::uniplate::{closure#25} +FNDA:0,::uniplate::{closure#28} +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting +FNDA:0,::domain_of::{closure#2} +FNDA:0,conjure_core::ast::expressions::tests::test_domain_of_constant_invalid_type +FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting +FNDA:0,::uniplate::{closure#15} +FNDA:0,::domain_of::{closure#2} +FNDA:0,::is_sum_eq +FNDA:0,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#1} +FNDA:0,::is_lt +FNDA:0,::uniplate FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting +FNDA:0,>::from FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:1,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#1}::{closure#0}::{closure#0} +FNDA:0,conjure_core::ast::expressions::tests::test_domain_of_reference_sum_bounded FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,conjure_core::ast::expressions::display_expressions -FNDA:0,::uniplate::{closure#16} -FNDA:0,::uniplate::{closure#14} -FNDA:0,::uniplate::{closure#12} -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,::is_nothing -FNDA:0,::is_gt -FNDA:0,::uniplate::{closure#1} -FNDA:0,::uniplate::{closure#10} -FNDA:0,::uniplate::{closure#26} -FNDA:0,::uniplate::{closure#24} -FNDA:0,::uniplate::{closure#18} -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,::is_safe_div FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FNDA:0,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#1}::{closure#0}::{closure#0} +FNDA:0,::uniplate::{closure#28} +FNDA:0,::uniplate::{closure#30} FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:1,::is_nothing +FNDA:0,::is_sum FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FNDA:0,::is_ineq FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,::is_leq -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,::is_min FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FNDA:0,::is_lt FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,::is_bubble -FNDA:0,::uniplate::{closure#17} -FNDA:0,::is_div_eq +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> +FNDA:0,::is_sum_geq +FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: -FNDA:0,::uniplate::{closure#16} -FNDA:0,::uniplate::{closure#12} -FNDA:1,::uniplate::{closure#26} -FNDA:0,::uniplate::{closure#14} -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> +FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> +FNDA:0,::uniplate::{closure#9} +FNDA:0,::uniplate::{closure#24} +FNDA:0,::uniplate::{closure#22} +FNDA:0,::uniplate::{closure#20} FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:1,::uniplate::{closure#27} -FNDA:0,::is_min -FNDA:0,::uniplate::{closure#6} -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FNDA:1,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FNDA:0,conjure_core::ast::expressions::display_expressions::{closure#0} -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:1,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#1} -FNDA:0,::uniplate -FNDA:1,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: +FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> +FNDA:0,::is_or FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,::domain_of::{closure#2} +FNDA:0,::uniplate::{closure#3} +FNDA:0,::is_div_eq FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,::is_bubble -FNDA:1,conjure_core::ast::expressions::tests::test_domain_of_reference_not_found -FNDA:1,::return_type +FNDA:0,conjure_core::ast::expressions::tests::test_domain_of_constant_sum FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> +FNDA:0,::return_type +FNDA:0,::uniplate::{closure#0} +FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> +FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::expecting +FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FNDA:0,::is_sum FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FNDA:0,::is_sum_leq -FNDA:0,::is_clean -FNDA:0,::is_safe_div -FNDA:0,::is_safe_div -FNDA:0,::uniplate::{closure#25} -FNDA:1,::domain_of::{closure#2} FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,::uniplate::{closure#0} -FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FNDA:0,::uniplate::{closure#19} -FNDA:0,::uniplate::{closure#17} -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FNDA:0,::uniplate::{closure#14} +FNDA:0,::uniplate::{closure#12} +FNDA:0,::uniplate::{closure#29} +FNDA:0,::is_all_diff +FNDA:0,::uniplate::{closure#27} +FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting +FNDA:0,::is_and +FNDA:0,::is_bubble FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FNDA:0,::domain_of::{closure#1} FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:1,conjure_core::ast::expressions::expr_vec_to_domain_i32 +FNDA:0,::uniplate::{closure#29} +FNDA:0,conjure_core::ast::expressions::expr_vec_to_domain_i32 +FNDA:0,conjure_core::ast::expressions::display_expressions::{closure#0} +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> +FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting +FNDA:0,::uniplate::{closure#7} +FNDA:0,::uniplate::{closure#9} +FNDA:0,::uniplate::{closure#11} +FNDA:0,::uniplate::{closure#12} +FNDA:0,::uniplate::{closure#14} +FNDA:0,conjure_core::ast::expressions::tests::test_domain_of_reference_sum_single +FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting +FNDA:0,::is_sum_eq FNDA:0,::uniplate::{closure#4} -FNDA:1,::uniplate::{closure#6} -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,::uniplate::{closure#6} +FNDA:0,::uniplate::{closure#19} +FNDA:0,::uniplate::{closure#17} FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting +FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> +FNDA:0,::is_ineq +FNDA:0,::domain_of::{closure#1} +FNDA:0,::is_gt FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> +FNDA:0,>::from FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting +FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> +FNDA:0,conjure_core::ast::expressions::range_vec_bounds_i32 +FNDA:0,::is_all_diff FNDA:0,::uniplate::{closure#20} +FNDA:0,::uniplate::{closure#22} FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> +FNDA:0,::fmt +FNDA:0,::is_nothing +FNDA:0,::uniplate::{closure#2} FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:1,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#1}::{closure#0} -FNDA:0,::fmt -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FNDA:0,::uniplate::{closure#0} FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,conjure_core::ast::expressions::range_vec_bounds_i32 +FNDA:0,::uniplate::{closure#1} +FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting +FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting +FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,::is_clean +FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,::is_gt +FNDA:0,::uniplate::{closure#13} +FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> +FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> FNDA:0,::is_div_eq -FNDA:1,::uniplate +FNDA:0,::is_neq +FNDA:0,::uniplate::{closure#18} +FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FNDA:0,::uniplate::{closure#8} +FNDA:0,::uniplate::{closure#10} +FNDA:0,::uniplate::{closure#13} +FNDA:0,::is_not +FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FNDA:0,::is_unsafe_div +FNDA:0,conjure_core::ast::expressions::display_expressions::{closure#0} FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> -FNDA:0,::is_eq -FNDA:1,::can_be_undefined -FNDA:0,::uniplate::{closure#19} -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> -FNDA:0,::set_clean FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FNDA:0,::is_sum_leq FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FNDA:1,conjure_core::ast::expressions::tests::test_domain_of_reference_sum_bounded -FNDA:0,::uniplate::{closure#26} -FNDA:1,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#1}::{closure#0}::{closure#0} -FNDA:0,::uniplate FNDA:0,::can_be_undefined -FNDA:1,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,::is_neq -FNDA:0,::uniplate::{closure#22} -FNDA:0,::uniplate::{closure#20} -FNDA:0,::uniplate::{closure#18} -FNDA:0,::uniplate::{closure#16} -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,::return_type -FNDA:1,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> +FNDA:0,::uniplate::{closure#25} FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,::is_div_eq -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting +FNDA:0,::uniplate::{closure#10} +FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> FNDA:0,::is_or -FNDA:0,::fmt FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting +FNDA:0,conjure_core::ast::expressions::display_expressions FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FNDA:0,::uniplate::{closure#19} FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,::uniplate::{closure#15} +FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FNDA:0,::uniplate::{closure#17} +FNDA:0,::uniplate::{closure#19} FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,::is_geq -FNDA:0,::uniplate::{closure#12} -FNDA:0,::uniplate::{closure#4} -FNDA:1,::uniplate::{closure#24} -FNDA:1,::is_neq -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FNDA:0,::uniplate::{closure#27} -FNDA:0,::uniplate::{closure#2} -FNDA:0,::is_sum_eq +FNDA:0,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#1}::{closure#0} FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FNDA:1,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FNDA:0,::is_all_diff -FNDA:0,::uniplate::{closure#22} -FNDA:0,::uniplate::{closure#20} -FNDA:1,::uniplate::{closure#8} -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:1,>::from -FNDA:1,::is_reference -FNDA:1,::is_geq +FNDA:0,::is_bubble FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FNDA:0,::is_eq +FNDA:0,conjure_core::ast::expressions::expr_vec_to_domain_i32 +FNDA:0,::is_leq +FNDA:0,::is_not FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> -FNDA:0,::is_unsafe_div -FNDA:0,>::from -FNDA:1,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#0} -FNDA:0,::is_lt -FNDA:1,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FNDA:1,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FNDA:0,::domain_of::{closure#2} -FNDA:0,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#0} -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FNDA:0,::is_min FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:1,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:1,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FNDA:0,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#1} FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,::uniplate::{closure#17} -FNDA:1,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> +FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> +FNDA:0,::is_constant +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,::uniplate::{closure#15} -FNDA:0,::is_sum -FNDA:0,::uniplate::{closure#4} -FNDA:0,::uniplate::{closure#2} -FNDA:0,::uniplate::{closure#2} +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::expecting +FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FNDA:0,::uniplate::{closure#23} -FNDA:1,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FNDA:0,::uniplate::{closure#29} -FNDA:0,::uniplate::{closure#9} FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FNDA:0,::set_clean FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,>::from -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:1,::is_leq -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,::is_unsafe_div -FNDA:1,conjure_core::ast::expressions::range_vec_bounds_i32 -FNDA:0,conjure_core::ast::expressions::display_expressions -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting +FNDA:0,::is_ineq +FNDA:0,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#1}::{closure#0}::{closure#0} FNDA:0,::return_type -FNDA:0,::uniplate::{closure#0} +FNDA:0,::is_reference +FNDA:0,::uniplate::{closure#15} FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> +FNDA:0,::can_be_undefined FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,::uniplate::{closure#11} -FNDA:1,::uniplate::{closure#9} -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:1,::uniplate::{closure#7} -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,::uniplate::{closure#13} -FNDA:1,::uniplate::{closure#25} -FNDA:1,::uniplate::{closure#23} FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,::uniplate::{closure#7} -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:1,::uniplate::{closure#10} -FNDA:0,::uniplate::{closure#5} -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:1,conjure_core::ast::expressions::tests::test_domain_of_reference -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> -FNDA:1,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting FNDA:0,::uniplate::{closure#8} -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,::is_gt -FNDA:0,::is_clean -FNDA:0,::uniplate::{closure#1} -FNDA:0,::is_constant -FNDA:0,::uniplate::{closure#24} -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FNDA:1,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FNDA:0,::domain_of::{closure#0} -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,::is_sum -FNDA:0,::uniplate::{closure#25} FNDA:0,::uniplate::{closure#23} -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,::is_unsafe_div -FNDA:0,::uniplate::{closure#11} -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,::uniplate::{closure#9} -FNDA:0,::uniplate::{closure#5} -FNDA:0,::uniplate::{closure#3} -FNDA:0,::uniplate::{closure#7} -FNDA:0,::is_geq +FNDA:0,conjure_core::ast::expressions::range_vec_bounds_i32 FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FNDA:0,::domain_of +FNDA:0,::uniplate::{closure#21} +FNDA:0,::uniplate::{closure#6} +FNDA:0,::uniplate FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,::is_nothing -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,::uniplate::{closure#10} -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:1,::is_constant -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> -FNDA:0,conjure_core::ast::expressions::display_expressions::{closure#0} -FNDA:0,::set_clean -FNDA:0,>::from -FNDA:1,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#0} -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FNDA:0,::is_lt -FNDA:0,::is_sum_geq -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FNDA:0,::domain_of::{closure#1} -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,::uniplate::{closure#22} -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FNDA:0,::domain_of::{closure#0} -FNDA:0,::uniplate::{closure#30} -FNDA:0,::uniplate::{closure#11} -FNDA:1,::uniplate::{closure#28} -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FNDA:1,conjure_core::ast::expressions::tests::test_domain_of_constant_sum -FNDA:1,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FNDA:0,::is_and -FNDA:0,::is_and -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FNDA:0,::domain_of::{closure#1} -FNDA:0,::is_sum -FNDA:0,conjure_core::ast::expressions::expr_vec_to_domain_i32 -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,::is_lt -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,::is_ineq -FNDA:1,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FNDA:0,conjure_core::ast::expressions::display_expressions -FNDA:0,::uniplate::{closure#0} -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:1,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FNDA:0,>::from -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,::is_leq -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,::uniplate::{closure#27} -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,::is_sum_eq -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:1,conjure_core::ast::expressions::expr_vec_to_domain_i32::{closure#1}::{closure#0} -FNDA:0,::is_not -FNF:434 -FNH:68 +FNF:283 +FNH:0 BRF:0 BRH:0 -DA:18,36216615 -DA:109,80 -DA:110,80 -DA:111,80 -DA:112,80 -DA:113,80 -DA:114,158 -DA:115,80 -DA:116,80 -DA:117,80 -DA:118,80 -DA:119,80 -DA:121,136 -DA:122,136 -DA:123,136 -DA:124,1565 -DA:125,1429 -DA:126,1429 -DA:127,1429 -DA:128,196 -DA:129,1233 -DA:130,1429 -DA:131,423 -DA:132,1008 +DA:18,0 +DA:109,0 +DA:110,0 +DA:111,0 +DA:112,0 +DA:113,0 +DA:114,0 +DA:115,0 +DA:116,0 +DA:117,0 +DA:118,0 +DA:119,0 +DA:121,0 +DA:122,0 +DA:123,0 +DA:124,0 +DA:125,0 +DA:126,0 +DA:127,0 +DA:128,0 +DA:129,0 +DA:130,0 +DA:131,0 +DA:132,0 DA:134,0 DA:135,0 DA:136,0 @@ -1959,36 +1471,36 @@ DA:137,0 DA:138,0 DA:139,0 DA:140,0 -DA:144,136 -DA:145,136 -DA:149,420 -DA:150,419 -DA:151,261 -DA:152,18 -DA:153,18 -DA:155,1 -DA:156,6 -DA:157,75 -DA:158,750 -DA:160,60 -DA:161,60 -DA:162,870 -DA:163,60 +DA:144,0 +DA:145,0 +DA:149,0 +DA:150,0 +DA:151,0 +DA:152,0 +DA:153,0 +DA:155,0 +DA:156,0 +DA:157,0 +DA:158,0 +DA:160,0 +DA:161,0 +DA:162,0 +DA:163,0 DA:166,0 -DA:169,416 -DA:172,416 -DA:173,136 -DA:174,136 -DA:176,283 -DA:178,420 -DA:180,150 -DA:182,15 -DA:183,90 +DA:169,0 +DA:172,0 +DA:173,0 +DA:174,0 +DA:176,0 +DA:178,0 +DA:180,0 +DA:182,0 +DA:183,0 DA:184,0 -DA:185,15 -DA:186,45 -DA:188,150 -DA:190,135 +DA:185,0 +DA:186,0 +DA:188,0 +DA:190,0 DA:191,0 DA:192,0 DA:193,0 @@ -1998,13 +1510,13 @@ DA:196,0 DA:197,0 DA:198,0 DA:199,0 -DA:200,60 -DA:201,15 +DA:200,0 +DA:201,0 DA:202,0 DA:203,0 DA:204,0 DA:205,0 -DA:206,60 +DA:206,0 DA:207,0 DA:208,0 DA:209,0 @@ -2014,7 +1526,7 @@ DA:212,0 DA:213,0 DA:214,0 DA:215,0 -DA:217,135 +DA:217,0 DA:219,0 DA:220,0 DA:221,0 @@ -2122,9 +1634,9 @@ DA:327,0 DA:328,0 DA:329,0 DA:330,0 -DA:333,75 -DA:334,75 -DA:335,75 +DA:333,0 +DA:334,0 +DA:335,0 DA:339,0 DA:340,0 DA:341,0 @@ -2195,163 +1707,163 @@ DA:429,0 DA:430,0 DA:433,0 DA:435,0 -DA:445,1 -DA:446,1 -DA:447,1 -DA:448,1 -DA:449,1 -DA:450,1 -DA:451,1 -DA:452,1 -DA:453,1 -DA:456,1 -DA:457,1 -DA:458,1 -DA:459,1 -DA:460,1 -DA:461,1 -DA:464,1 -DA:465,1 -DA:466,1 -DA:467,1 -DA:470,1 -DA:471,1 -DA:472,1 -DA:473,1 -DA:474,1 -DA:475,1 -DA:476,1 -DA:477,1 -DA:478,1 -DA:479,1 -DA:480,1 -DA:481,1 -DA:484,1 -DA:485,1 -DA:486,1 -DA:487,1 -DA:490,1 -DA:491,1 -DA:492,1 -DA:493,1 -DA:494,1 -DA:495,1 -DA:496,1 -DA:497,1 -DA:498,1 -DA:499,1 -DA:500,1 -DA:501,1 -DA:502,1 -DA:505,1 -DA:506,1 -DA:507,1 -DA:508,1 -DA:509,1 -DA:510,1 -DA:511,1 -DA:512,1 -DA:513,1 -DA:514,1 -DA:515,1 -DA:516,1 -DA:517,1 +DA:445,0 +DA:446,0 +DA:447,0 +DA:448,0 +DA:449,0 +DA:450,0 +DA:451,0 +DA:452,0 +DA:453,0 +DA:456,0 +DA:457,0 +DA:458,0 +DA:459,0 +DA:460,0 +DA:461,0 +DA:464,0 +DA:465,0 +DA:466,0 +DA:467,0 +DA:470,0 +DA:471,0 +DA:472,0 +DA:473,0 +DA:474,0 +DA:475,0 +DA:476,0 +DA:477,0 +DA:478,0 +DA:479,0 +DA:480,0 +DA:481,0 +DA:484,0 +DA:485,0 +DA:486,0 +DA:487,0 +DA:490,0 +DA:491,0 +DA:492,0 +DA:493,0 +DA:494,0 +DA:495,0 +DA:496,0 +DA:497,0 +DA:498,0 +DA:499,0 +DA:500,0 +DA:501,0 +DA:502,0 +DA:505,0 +DA:506,0 +DA:507,0 +DA:508,0 +DA:509,0 +DA:510,0 +DA:511,0 +DA:512,0 +DA:513,0 +DA:514,0 +DA:515,0 +DA:516,0 +DA:517,0 LF:328 -LH:120 +LH:0 end_of_record SF:crates/uniplate/tests/expr_stmt_manual.rs -FN:175,>::biplate::{closure#1} -FN:113,::uniplate::{closure#4} +FN:80,::uniplate::{closure#2} +FN:202,>::biplate::{closure#4} +FN:128,::uniplate::{closure#6} +FN:284,::uniplate +FN:314,::uniplate::{closure#2} FN:61,::uniplate::{closure#1} FN:167,>::biplate::{closure#0} -FN:198,>::biplate::{closure#3}::{closure#0} -FN:272,>::biplate::{closure#0} -FN:161,>::biplate -FN:314,::uniplate::{closure#2} -FN:323,::uniplate::{closure#3}::{closure#0} FN:257,>::biplate -FN:80,::uniplate::{closure#2} -FN:128,::uniplate::{closure#6} -FN:244,>::biplate::{closure#6} -FN:150,>::biplate::{closure#0} +FN:289,::uniplate::{closure#0} FN:350,::uniplate::{closure#5} -FN:224,>::biplate::{closure#5} +FN:161,>::biplate +FN:42,::uniplate::{closure#0} FN:120,::uniplate::{closure#5} -FN:269,>::biplate -FN:193,>::biplate::{closure#3} -FN:289,::uniplate::{closure#0} +FN:272,>::biplate::{closure#0} +FN:370,::uniplate::{closure#6} FN:318,::uniplate::{closure#3} -FN:202,>::biplate::{closure#4} -FN:416,expr_stmt_manual::universe_bi_multitype -FN:327,::uniplate::{closure#4} -FN:32,::uniplate -FN:189,>::biplate::{closure#2} FN:383,expr_stmt_manual::children_bi_multitype -FN:42,::uniplate::{closure#0} +FN:113,::uniplate::{closure#4} +FN:150,>::biplate::{closure#0} +FN:416,expr_stmt_manual::universe_bi_multitype +FN:193,>::biplate::{closure#3} FN:138,>::biplate -FN:284,::uniplate -FN:370,::uniplate::{closure#6} -FN:299,::uniplate::{closure#1} +FN:323,::uniplate::{closure#3}::{closure#0} +FN:244,>::biplate::{closure#6} FN:260,>::biplate::{closure#0} +FN:327,::uniplate::{closure#4} +FN:175,>::biplate::{closure#1} +FN:189,>::biplate::{closure#2} FN:99,::uniplate::{closure#3} -FNDA:0,>::biplate::{closure#1} -FNDA:0,::uniplate::{closure#4} -FNDA:0,::uniplate::{closure#1} -FNDA:0,>::biplate::{closure#0} -FNDA:0,>::biplate::{closure#3}::{closure#0} -FNDA:0,>::biplate::{closure#0} -FNDA:1,>::biplate -FNDA:0,::uniplate::{closure#2} -FNDA:0,::uniplate::{closure#3}::{closure#0} -FNDA:1,>::biplate +FN:224,>::biplate::{closure#5} +FN:32,::uniplate +FN:299,::uniplate::{closure#1} +FN:198,>::biplate::{closure#3}::{closure#0} +FN:269,>::biplate FNDA:0,::uniplate::{closure#2} +FNDA:0,>::biplate::{closure#4} FNDA:0,::uniplate::{closure#6} -FNDA:0,>::biplate::{closure#6} -FNDA:0,>::biplate::{closure#0} +FNDA:0,::uniplate +FNDA:0,::uniplate::{closure#2} +FNDA:0,::uniplate::{closure#1} +FNDA:0,>::biplate::{closure#0} +FNDA:0,>::biplate +FNDA:0,::uniplate::{closure#0} FNDA:0,::uniplate::{closure#5} -FNDA:0,>::biplate::{closure#5} +FNDA:0,>::biplate +FNDA:0,::uniplate::{closure#0} FNDA:0,::uniplate::{closure#5} -FNDA:0,>::biplate -FNDA:0,>::biplate::{closure#3} -FNDA:0,::uniplate::{closure#0} +FNDA:0,>::biplate::{closure#0} +FNDA:0,::uniplate::{closure#6} FNDA:0,::uniplate::{closure#3} -FNDA:0,>::biplate::{closure#4} -FNDA:1,expr_stmt_manual::universe_bi_multitype -FNDA:0,::uniplate::{closure#4} -FNDA:1,::uniplate -FNDA:1,>::biplate::{closure#2} -FNDA:1,expr_stmt_manual::children_bi_multitype -FNDA:0,::uniplate::{closure#0} +FNDA:0,expr_stmt_manual::children_bi_multitype +FNDA:0,::uniplate::{closure#4} +FNDA:0,>::biplate::{closure#0} +FNDA:0,expr_stmt_manual::universe_bi_multitype +FNDA:0,>::biplate::{closure#3} FNDA:0,>::biplate -FNDA:0,::uniplate -FNDA:0,::uniplate::{closure#6} -FNDA:0,::uniplate::{closure#1} +FNDA:0,::uniplate::{closure#3}::{closure#0} +FNDA:0,>::biplate::{closure#6} FNDA:0,>::biplate::{closure#0} +FNDA:0,::uniplate::{closure#4} +FNDA:0,>::biplate::{closure#1} +FNDA:0,>::biplate::{closure#2} FNDA:0,::uniplate::{closure#3} +FNDA:0,>::biplate::{closure#5} +FNDA:0,::uniplate +FNDA:0,::uniplate::{closure#1} +FNDA:0,>::biplate::{closure#3}::{closure#0} +FNDA:0,>::biplate FNF:34 -FNH:6 +FNH:0 BRF:0 BRH:0 -DA:32,8 -DA:33,8 -DA:34,2 -DA:35,2 -DA:36,2 -DA:37,2 -DA:38,2 -DA:39,2 -DA:40,2 -DA:41,2 -DA:42,2 +DA:32,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:42,0 DA:43,0 DA:44,0 DA:45,0 DA:46,0 DA:47,0 DA:48,0 -DA:49,2 -DA:50,2 -DA:51,2 +DA:49,0 +DA:50,0 +DA:51,0 DA:53,0 DA:54,0 DA:55,0 @@ -2406,20 +1918,20 @@ DA:105,0 DA:106,0 DA:107,0 DA:108,0 -DA:111,3 -DA:112,3 -DA:113,3 +DA:111,0 +DA:112,0 +DA:113,0 DA:114,0 DA:115,0 -DA:116,3 -DA:117,3 -DA:118,3 -DA:119,3 -DA:120,3 +DA:116,0 +DA:117,0 +DA:118,0 +DA:119,0 +DA:120,0 DA:121,0 DA:122,0 -DA:123,3 -DA:124,3 +DA:123,0 +DA:124,0 DA:126,0 DA:127,0 DA:128,0 @@ -2427,7 +1939,7 @@ DA:129,0 DA:130,0 DA:131,0 DA:132,0 -DA:134,8 +DA:134,0 DA:138,0 DA:139,0 DA:140,0 @@ -2446,64 +1958,64 @@ DA:152,0 DA:153,0 DA:154,0 DA:155,0 -DA:161,12 -DA:162,12 -DA:163,4 -DA:164,4 -DA:165,4 -DA:166,4 -DA:167,4 -DA:168,4 -DA:169,4 -DA:170,4 -DA:171,4 -DA:172,4 -DA:173,4 -DA:174,4 -DA:175,4 +DA:161,0 +DA:162,0 +DA:163,0 +DA:164,0 +DA:165,0 +DA:166,0 +DA:167,0 +DA:168,0 +DA:169,0 +DA:170,0 +DA:171,0 +DA:172,0 +DA:173,0 +DA:174,0 +DA:175,0 DA:176,0 DA:177,0 DA:178,0 -DA:179,4 -DA:180,4 -DA:181,4 -DA:183,4 -DA:184,4 -DA:185,4 -DA:186,4 -DA:187,4 -DA:188,4 -DA:189,4 -DA:190,4 -DA:191,4 -DA:192,4 -DA:193,4 +DA:179,0 +DA:180,0 +DA:181,0 +DA:183,0 +DA:184,0 +DA:185,0 +DA:186,0 +DA:187,0 +DA:188,0 +DA:189,0 +DA:190,0 +DA:191,0 +DA:192,0 +DA:193,0 DA:194,0 DA:195,0 DA:198,0 -DA:199,4 -DA:200,4 -DA:201,4 -DA:202,4 +DA:199,0 +DA:200,0 +DA:201,0 +DA:202,0 DA:203,0 DA:204,0 DA:206,0 DA:207,0 -DA:208,4 -DA:209,4 -DA:210,4 -DA:213,2 -DA:214,2 -DA:215,2 -DA:216,2 -DA:217,2 -DA:218,2 -DA:219,2 -DA:220,2 -DA:221,2 -DA:222,2 -DA:223,2 -DA:224,2 +DA:208,0 +DA:209,0 +DA:210,0 +DA:213,0 +DA:214,0 +DA:215,0 +DA:216,0 +DA:217,0 +DA:218,0 +DA:219,0 +DA:220,0 +DA:221,0 +DA:222,0 +DA:223,0 +DA:224,0 DA:225,0 DA:226,0 DA:227,0 @@ -2511,34 +2023,34 @@ DA:228,0 DA:229,0 DA:230,0 DA:231,0 -DA:232,2 -DA:233,2 -DA:234,2 -DA:236,2 -DA:237,2 -DA:238,2 -DA:239,2 -DA:240,2 -DA:241,2 -DA:242,2 -DA:243,2 -DA:244,2 +DA:232,0 +DA:233,0 +DA:234,0 +DA:236,0 +DA:237,0 +DA:238,0 +DA:239,0 +DA:240,0 +DA:241,0 +DA:242,0 +DA:243,0 +DA:244,0 DA:245,0 DA:246,0 DA:247,0 -DA:248,2 -DA:249,2 -DA:250,2 -DA:253,12 -DA:257,12 -DA:258,12 -DA:259,12 -DA:260,12 +DA:248,0 +DA:249,0 +DA:250,0 +DA:253,0 +DA:257,0 +DA:258,0 +DA:259,0 +DA:260,0 DA:261,0 DA:262,0 -DA:263,12 -DA:264,12 -DA:265,12 +DA:263,0 +DA:264,0 +DA:265,0 DA:269,0 DA:270,0 DA:271,0 @@ -2636,158 +2148,130 @@ DA:374,0 DA:375,0 DA:376,0 DA:379,0 -DA:383,1 -DA:384,1 -DA:385,1 -DA:386,1 -DA:387,1 -DA:388,1 -DA:389,1 -DA:390,1 -DA:391,1 -DA:392,1 -DA:393,1 -DA:394,1 -DA:395,1 -DA:396,1 -DA:397,1 -DA:398,1 -DA:399,1 -DA:400,1 -DA:401,1 -DA:402,1 -DA:403,1 -DA:404,1 -DA:405,1 -DA:406,1 -DA:408,1 -DA:409,1 -DA:410,1 -DA:411,1 -DA:412,1 -DA:413,1 -DA:416,1 -DA:417,1 -DA:418,1 -DA:419,1 -DA:420,1 -DA:421,1 -DA:422,1 -DA:423,1 -DA:424,1 -DA:425,1 -DA:426,1 -DA:427,1 -DA:428,1 -DA:429,1 -DA:430,1 -DA:431,1 -DA:432,1 -DA:433,1 -DA:434,1 -DA:435,1 -DA:436,1 -DA:437,1 -DA:438,1 -DA:439,1 -DA:441,1 -DA:442,1 -DA:443,1 -DA:444,1 -DA:445,1 -DA:446,1 -DA:447,1 -DA:448,1 -DA:449,1 -DA:450,1 +DA:383,0 +DA:384,0 +DA:385,0 +DA:386,0 +DA:387,0 +DA:388,0 +DA:389,0 +DA:390,0 +DA:391,0 +DA:392,0 +DA:393,0 +DA:394,0 +DA:395,0 +DA:396,0 +DA:397,0 +DA:398,0 +DA:399,0 +DA:400,0 +DA:401,0 +DA:402,0 +DA:403,0 +DA:404,0 +DA:405,0 +DA:406,0 +DA:408,0 +DA:409,0 +DA:410,0 +DA:411,0 +DA:412,0 +DA:413,0 +DA:416,0 +DA:417,0 +DA:418,0 +DA:419,0 +DA:420,0 +DA:421,0 +DA:422,0 +DA:423,0 +DA:424,0 +DA:425,0 +DA:426,0 +DA:427,0 +DA:428,0 +DA:429,0 +DA:430,0 +DA:431,0 +DA:432,0 +DA:433,0 +DA:434,0 +DA:435,0 +DA:436,0 +DA:437,0 +DA:438,0 +DA:439,0 +DA:441,0 +DA:442,0 +DA:443,0 +DA:444,0 +DA:445,0 +DA:446,0 +DA:447,0 +DA:448,0 +DA:449,0 +DA:450,0 LF:368 -LH:160 +LH:0 end_of_record SF:crates/conjure_core/src/ast/variables.rs -FN:13,::new -FN:7,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FN:7,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: -FN:19,::fmt +FN:7,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_> +FN:7,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> FN:7,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FN:19,::fmt -FN:7,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> FN:13,::new -FN:7,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:7,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_> -FN:7,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> FN:13,::new FN:7,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FN:7,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: -FN:7,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> +FN:19,::fmt +FN:7,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> FN:7,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FN:7,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::> -FN:7,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> +FN:19,::fmt FN:7,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FN:7,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FN:7,<::deserialize::__Field as serde::de::Deserialize>::deserialize::> -FN:7,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> +FN:7,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> FN:7,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FN:7,<::deserialize::__Visitor as serde::de::Visitor>::expecting FN:7,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_> -FN:7,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting FN:7,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> +FN:7,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_> FN:7,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::> +FN:7,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: +FN:7,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> FN:7,<::deserialize::__Field as serde::de::Deserialize>::deserialize::> -FN:7,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::> -FN:7,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::> -FN:7,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FN:19,::fmt FN:7,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_> -FN:7,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FN:7,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> -FN:7,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:7,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:1,::new -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FNDA:1,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: -FNDA:0,::fmt +FN:7,<::deserialize::__Visitor as serde::de::Visitor>::expecting +FN:7,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> +FN:7,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::> +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_> +FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FNDA:0,::fmt -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> FNDA:0,::new -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> -FNDA:1,::new +FNDA:0,::new FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> +FNDA:0,::fmt +FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FNDA:1,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> +FNDA:0,::fmt FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FNDA:1,<::deserialize::__Field as serde::de::Deserialize>::deserialize::> -FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::expecting FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_> FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::> +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::> -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::> -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::> -FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FNDA:0,::fmt FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNF:38 -FNH:5 +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::expecting +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::> +FNF:24 +FNH:0 BRF:0 BRH:0 -DA:7,650 -DA:13,138 -DA:14,138 -DA:15,138 +DA:7,0 +DA:13,0 +DA:14,0 +DA:15,0 DA:19,0 DA:20,0 DA:21,0 @@ -2804,145 +2288,34 @@ DA:32,0 DA:35,0 DA:38,0 LF:19 -LH:4 -end_of_record -SF:solvers/chuffed/tests/chuffed_cpp_run.rs -FN:4,chuffed_cpp_run::run_cpp_problem -FNDA:1,chuffed_cpp_run::run_cpp_problem -FNF:1 -FNH:1 -BRF:0 -BRH:0 -DA:4,1 -DA:5,1 -DA:6,1 -DA:7,1 -DA:8,1 -DA:9,1 -DA:10,1 -DA:11,1 -DA:12,1 -DA:14,1 -LF:10 -LH:10 -end_of_record -SF:solvers/minion/src/lib.rs -FN:29,rust_out::main::_doctest_main_solvers_minion_src_lib_rs_28_0 -FN:40,rust_out::main::_doctest_main_solvers_minion_src_lib_rs_28_0::callback -FN:29,rust_out::main -FNDA:1,rust_out::main::_doctest_main_solvers_minion_src_lib_rs_28_0 -FNDA:1,rust_out::main::_doctest_main_solvers_minion_src_lib_rs_28_0::callback -FNDA:1,rust_out::main -FNF:3 -FNH:3 -BRF:0 -BRH:0 -DA:29,1 -DA:30,1 -DA:31,1 -DA:32,1 -DA:33,1 -DA:34,1 -DA:35,1 -DA:36,1 -DA:37,1 -DA:38,1 -DA:39,1 -DA:40,1 -DA:41,1 -DA:42,1 -DA:43,1 -DA:44,1 -DA:45,1 -DA:46,1 -DA:47,1 -DA:48,1 -DA:49,1 -DA:50,1 -DA:51,1 -DA:52,1 -DA:53,1 -DA:54,1 -DA:55,1 -DA:56,1 -DA:57,1 -DA:58,1 -DA:59,1 -DA:60,1 -DA:61,1 -DA:62,1 -DA:63,1 -DA:64,1 -DA:65,1 -DA:66,1 -DA:67,1 -DA:68,1 -DA:69,1 -DA:70,1 -DA:71,1 -DA:72,1 -DA:73,1 -DA:74,1 -DA:75,1 -DA:76,1 -DA:77,1 -DA:78,1 -DA:79,1 -DA:80,1 -DA:81,1 -DA:82,1 -DA:83,1 -DA:84,1 -DA:85,1 -DA:86,1 -DA:87,1 -DA:88,1 -DA:89,1 -DA:90,1 -DA:91,1 -DA:92,1 -DA:93,1 -DA:94,1 -DA:95,1 -DA:96,1 -DA:97,1 -DA:98,1 -DA:99,1 -DA:100,1 -DA:101,1 -LF:73 -LH:73 +LH:0 end_of_record SF:conjure_oxide/src/find_conjure.rs -FN:9,conjure_oxide::find_conjure::conjure_executable -FN:9,conjure_oxide::find_conjure::conjure_executable -FN:25,conjure_oxide::find_conjure::conjure_executable::{closure#0} FN:25,conjure_oxide::find_conjure::conjure_executable::{closure#0} +FN:9,conjure_oxide::find_conjure::conjure_executable FN:25,conjure_oxide::find_conjure::conjure_executable::{closure#0} FN:9,conjure_oxide::find_conjure::conjure_executable -FNDA:1,conjure_oxide::find_conjure::conjure_executable -FNDA:0,conjure_oxide::find_conjure::conjure_executable -FNDA:0,conjure_oxide::find_conjure::conjure_executable::{closure#0} FNDA:0,conjure_oxide::find_conjure::conjure_executable::{closure#0} +FNDA:0,conjure_oxide::find_conjure::conjure_executable FNDA:0,conjure_oxide::find_conjure::conjure_executable::{closure#0} FNDA:0,conjure_oxide::find_conjure::conjure_executable -FNF:6 -FNH:1 +FNF:4 +FNH:0 BRF:0 BRH:0 -DA:9,5 -DA:10,5 -DA:11,5 -DA:12,5 -DA:13,5 -DA:15,5 +DA:9,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:15,0 DA:16,0 -DA:17,5 -DA:18,5 -DA:19,5 -DA:20,5 -DA:21,5 -DA:22,5 +DA:17,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:21,0 +DA:22,0 DA:23,0 DA:24,0 DA:25,0 @@ -2952,13 +2325,13 @@ DA:28,0 DA:29,0 DA:30,0 DA:32,0 -DA:34,5 -DA:35,5 -DA:36,5 -DA:37,5 -DA:38,5 -DA:40,5 -DA:41,5 +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:40,0 +DA:41,0 DA:42,0 DA:44,0 DA:45,0 @@ -2969,56 +2342,44 @@ DA:49,0 DA:50,0 DA:51,0 DA:53,0 -DA:55,5 +DA:55,0 DA:56,0 DA:57,0 DA:58,0 DA:59,0 DA:60,0 -DA:61,5 -DA:62,5 -DA:63,5 +DA:61,0 +DA:62,0 +DA:63,0 LF:48 -LH:23 +LH:0 end_of_record SF:solvers/minion/src/error.rs -FN:8,::fmt FN:47,>::from -FN:8,>::from -FN:31,::fmt +FN:8,::source FN:8,::fmt FN:8,>::from -FN:31,::fmt -FN:8,>::from -FN:8,>::from -FN:8,::source FN:8,>::from FN:8,>::from +FN:8,::source FN:8,::fmt -FN:47,>::from +FN:8,>::from FN:31,::fmt FN:47,>::from -FN:8,::source -FN:8,::source -FNDA:0,::fmt +FN:31,::fmt FNDA:0,>::from -FNDA:0,>::from -FNDA:0,::fmt +FNDA:0,::source FNDA:0,::fmt FNDA:0,>::from -FNDA:0,::fmt -FNDA:0,>::from -FNDA:0,>::from -FNDA:0,::source FNDA:0,>::from FNDA:0,>::from +FNDA:0,::source FNDA:0,::fmt -FNDA:0,>::from +FNDA:0,>::from FNDA:0,::fmt FNDA:0,>::from -FNDA:0,::source -FNDA:0,::source -FNF:18 +FNDA:0,::fmt +FNF:12 FNH:0 BRF:0 BRH:0 @@ -3035,11 +2396,9 @@ end_of_record SF:conjure_oxide/src/utils/misc.rs FN:5,conjure_oxide::utils::misc::to_set::<_> FN:5,conjure_oxide::utils::misc::to_set::<_> -FN:5,conjure_oxide::utils::misc::to_set::<_> FNDA:0,conjure_oxide::utils::misc::to_set::<_> FNDA:0,conjure_oxide::utils::misc::to_set::<_> -FNDA:0,conjure_oxide::utils::misc::to_set::<_> -FNF:3 +FNF:2 FNH:0 BRF:0 BRH:0 @@ -3054,68 +2413,48 @@ LF:7 LH:0 end_of_record SF:crates/conjure_core/src/rule_engine/rule_set.rs -FN:148,::hash:: -FN:148,::hash:: -FN:47,::get_rules +FN:114,::resolve_dependencies FN:140,::eq +FN:29,::new +FN:148,::hash:: FN:65,::get_dependencies FN:47,::get_rules -FN:114,::resolve_dependencies -FN:154,::fmt FN:159,::fmt::{closure#0} -FN:148,::hash::<_> -FN:82,::with_dependencies -FN:89,::resolve_rules -FN:140,::eq -FN:140,::eq +FN:154,::fmt +FN:65,::get_dependencies FN:154,::fmt FN:29,::new -FN:89,::resolve_rules FN:114,::resolve_dependencies -FN:65,::get_dependencies -FN:89,::resolve_rules -FN:82,::with_dependencies FN:47,::get_rules -FN:114,::resolve_dependencies +FN:148,::hash::<_> FN:82,::with_dependencies -FN:29,::new -FN:65,::get_dependencies -FN:29,::new FN:159,::fmt::{closure#0} -FN:154,::fmt -FN:159,::fmt::{closure#0} -FNDA:0,::hash:: -FNDA:1,::hash:: -FNDA:1,::get_rules +FN:82,::with_dependencies +FN:140,::eq +FN:89,::resolve_rules +FN:89,::resolve_rules +FNDA:0,::resolve_dependencies FNDA:0,::eq +FNDA:0,::new +FNDA:0,::hash:: FNDA:0,::get_dependencies FNDA:0,::get_rules -FNDA:0,::resolve_dependencies -FNDA:0,::fmt FNDA:0,::fmt::{closure#0} -FNDA:0,::hash::<_> -FNDA:1,::with_dependencies -FNDA:0,::resolve_rules -FNDA:0,::eq -FNDA:1,::eq FNDA:0,::fmt -FNDA:0,::new -FNDA:0,::resolve_rules -FNDA:1,::resolve_dependencies FNDA:0,::get_dependencies -FNDA:1,::resolve_rules -FNDA:0,::with_dependencies -FNDA:0,::get_rules +FNDA:0,::fmt +FNDA:0,::new FNDA:0,::resolve_dependencies +FNDA:0,::get_rules +FNDA:0,::hash::<_> FNDA:0,::with_dependencies -FNDA:0,::new -FNDA:1,::get_dependencies -FNDA:0,::new -FNDA:0,::fmt::{closure#0} -FNDA:0,::fmt FNDA:0,::fmt::{closure#0} -FNF:30 -FNH:7 +FNDA:0,::with_dependencies +FNDA:0,::eq +FNDA:0,::resolve_rules +FNDA:0,::resolve_rules +FNF:20 +FNH:0 BRF:0 BRH:0 DA:29,0 @@ -3133,70 +2472,70 @@ DA:40,0 DA:41,0 DA:42,0 DA:43,0 -DA:47,1290 -DA:48,1290 -DA:50,150 -DA:51,150 -DA:52,150 -DA:53,150 -DA:54,150 -DA:55,150 -DA:56,150 -DA:58,1140 -DA:60,1290 -DA:65,750 -DA:66,750 -DA:68,105 -DA:69,105 -DA:70,105 -DA:71,105 -DA:72,105 -DA:73,105 -DA:74,105 -DA:76,645 -DA:78,750 -DA:82,270 -DA:83,270 -DA:84,270 -DA:85,270 -DA:86,270 -DA:89,150 -DA:90,150 -DA:92,5100 -DA:93,4950 -DA:94,4950 -DA:96,8505 -DA:97,4950 -DA:98,1395 -DA:99,1395 -DA:100,1395 -DA:101,3555 -DA:104,4950 -DA:105,1395 -DA:106,3555 -DA:109,150 -DA:110,150 -DA:114,165 -DA:115,165 -DA:117,225 -DA:118,60 +DA:47,0 +DA:48,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:58,0 +DA:60,0 +DA:65,0 +DA:66,0 +DA:68,0 +DA:69,0 +DA:70,0 +DA:71,0 +DA:72,0 +DA:73,0 +DA:74,0 +DA:76,0 +DA:78,0 +DA:82,0 +DA:83,0 +DA:84,0 +DA:85,0 +DA:86,0 +DA:89,0 +DA:90,0 +DA:92,0 +DA:93,0 +DA:94,0 +DA:96,0 +DA:97,0 +DA:98,0 +DA:99,0 +DA:100,0 +DA:101,0 +DA:104,0 +DA:105,0 +DA:106,0 +DA:109,0 +DA:110,0 +DA:114,0 +DA:115,0 +DA:117,0 +DA:118,0 DA:120,0 DA:121,0 DA:122,0 -DA:125,60 -DA:126,60 -DA:127,60 -DA:128,60 -DA:129,60 -DA:130,60 -DA:135,165 -DA:136,165 -DA:140,225 -DA:141,225 -DA:142,225 -DA:148,2670 -DA:149,2670 -DA:150,2670 +DA:125,0 +DA:126,0 +DA:127,0 +DA:128,0 +DA:129,0 +DA:130,0 +DA:135,0 +DA:136,0 +DA:140,0 +DA:141,0 +DA:142,0 +DA:148,0 +DA:149,0 +DA:150,0 DA:154,0 DA:155,0 DA:156,0 @@ -3217,512 +2556,325 @@ DA:170,0 DA:171,0 DA:172,0 LF:98 -LH:61 +LH:0 end_of_record SF:crates/conjure_core/src/rules/base.rs -FN:155,conjure_core::rules::base::CONJURE_GEN_RULE_FLATTEN_NESTED_SUM::__typecheck -FN:296,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_OR::__typecheck::{closure#0} -FN:108,conjure_core::rules::base::CONJURE_GEN_RULE_SUM_CONSTANTS::__typecheck -FN:191,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_OR::__typecheck::{closure#0}::{closure#0} -FN:142,conjure_core::rules::base::unwrap_sum -FN:156,conjure_core::rules::base::flatten_nested_sum -FN:355,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_AND::__typecheck +FN:417,conjure_core::rules::base::CONJURE_GEN_RULE_MIN_TO_VAR::__typecheck::{closure#0} FN:277,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_AND::__typecheck::{closure#0} -FN:397,conjure_core::rules::base::CONJURE_GEN_RULE_EVALUATE_CONSTANT_NOT::__typecheck -FN:23,rust_out::main::_doctest_main_crates_conjure_core_src_rules_base_rs_23_0 -FN:26,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_NOTHINGS::__typecheck -FN:277,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_AND::__typecheck::{closure#0}::{closure#0} -FN:512,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_AND::__typecheck::{closure#0}::{closure#0} -FN:462,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_OR_OVER_AND::__typecheck -FN:105,rust_out::main::_doctest_main_crates_conjure_core_src_rules_base_rs_105_0 -FN:260,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_DOUBLE_NEGATION::__typecheck::{closure#0}::{closure#0} -FN:296,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_OR::__typecheck -FN:297,conjure_core::rules::base::remove_trivial_or -FN:86,conjure_core::rules::base::CONJURE_GEN_RULE_EMPTY_TO_NOTHING::__typecheck::{closure#0}::{closure#0} -FN:296,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_OR::__typecheck::{closure#0} -FN:141,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_SUM::__typecheck::{closure#0}::{closure#0} +FN:317,conjure_core::rules::base::remove_constants_from_or +FN:86,conjure_core::rules::base::CONJURE_GEN_RULE_EMPTY_TO_NOTHING::__typecheck +FN:109,conjure_core::rules::base::sum_constants +FN:15,conjure_core::rules::base::CONJURE_GEN_RULE_SET_BASE::__typecheck::{closure#0}::{closure#0} +FN:397,conjure_core::rules::base::CONJURE_GEN_RULE_EVALUATE_CONSTANT_NOT::__typecheck::{closure#0} +FN:462,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_OR_OVER_AND::__typecheck::{closure#0}::{closure#0} +FN:192,conjure_core::rules::base::unwrap_nested_or +FN:398,conjure_core::rules::base::evaluate_constant_not +FN:26,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_NOTHINGS::__typecheck::{closure#0}::{closure#0} +FN:28,conjure_core::rules::base::remove_nothings::remove_nothings +FN:463,conjure_core::rules::base::distribute_or_over_and FN:155,conjure_core::rules::base::CONJURE_GEN_RULE_FLATTEN_NESTED_SUM::__typecheck::{closure#0} -FN:543,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_OR::__typecheck -FN:191,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_OR::__typecheck::{closure#0}::{closure#0} -FN:108,conjure_core::rules::base::CONJURE_GEN_RULE_SUM_CONSTANTS::__typecheck -FN:260,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_DOUBLE_NEGATION::__typecheck -FN:191,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_OR::__typecheck -FN:224,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_AND::__typecheck -FN:296,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_OR::__typecheck::{closure#0}::{closure#0} -FN:83,rust_out::main::_doctest_main_crates_conjure_core_src_rules_base_rs_83_0 -FN:544,conjure_core::rules::base::distribute_not_over_or -FN:543,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_OR::__typecheck -FN:26,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_NOTHINGS::__typecheck -FN:316,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_OR::__typecheck FN:317,conjure_core::rules::base::remove_constants_from_or FN:155,conjure_core::rules::base::CONJURE_GEN_RULE_FLATTEN_NESTED_SUM::__typecheck::{closure#0}::{closure#0} -FN:316,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_OR::__typecheck +FN:191,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_OR::__typecheck::{closure#0} +FN:260,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_DOUBLE_NEGATION::__typecheck::{closure#0} +FN:397,conjure_core::rules::base::CONJURE_GEN_RULE_EVALUATE_CONSTANT_NOT::__typecheck::{closure#0}::{closure#0} +FN:296,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_OR::__typecheck::{closure#0}::{closure#0} +FN:224,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_AND::__typecheck::{closure#0} +FN:296,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_OR::__typecheck::{closure#0}::{closure#0} +FN:87,conjure_core::rules::base::empty_to_nothing +FN:417,conjure_core::rules::base::CONJURE_GEN_RULE_MIN_TO_VAR::__typecheck +FN:224,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_AND::__typecheck +FN:26,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_NOTHINGS::__typecheck::{closure#0} FN:48,conjure_core::rules::base::remove_nothings::get_lhs_rhs -FN:26,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_NOTHINGS::__typecheck::{closure#0}::{closure#0} -FN:261,conjure_core::rules::base::remove_double_negation FN:277,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_AND::__typecheck::{closure#0}::{closure#0} -FN:221,rust_out::main::_doctest_main_crates_conjure_core_src_rules_base_rs_221_0 -FN:86,conjure_core::rules::base::CONJURE_GEN_RULE_EMPTY_TO_NOTHING::__typecheck::{closure#0} +FN:108,conjure_core::rules::base::CONJURE_GEN_RULE_SUM_CONSTANTS::__typecheck::{closure#0}::{closure#0} +FN:543,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_OR::__typecheck::{closure#0}::{closure#0} +FN:261,conjure_core::rules::base::remove_double_negation +FN:191,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_OR::__typecheck::{closure#0}::{closure#0} +FN:26,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_NOTHINGS::__typecheck::{closure#0}::{closure#0} +FN:356,conjure_core::rules::base::remove_constants_from_and +FN:463,conjure_core::rules::base::distribute_or_over_and FN:224,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_AND::__typecheck -FN:26,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_NOTHINGS::__typecheck +FN:543,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_OR::__typecheck::{closure#0} FN:141,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_SUM::__typecheck -FN:191,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_OR::__typecheck +FN:191,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_OR::__typecheck::{closure#0}::{closure#0} +FN:297,conjure_core::rules::base::remove_trivial_or +FN:355,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_AND::__typecheck +FN:86,conjure_core::rules::base::CONJURE_GEN_RULE_EMPTY_TO_NOTHING::__typecheck::{closure#0} FN:191,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_OR::__typecheck::{closure#0} -FN:352,rust_out::main::_doctest_main_crates_conjure_core_src_rules_base_rs_352_0 -FN:15,conjure_core::rules::base::CONJURE_GEN_RULE_SET_BASE::__typecheck::{closure#0} -FN:257,rust_out::main::_doctest_main_crates_conjure_core_src_rules_base_rs_257_0 +FN:512,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_AND::__typecheck +FN:26,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_NOTHINGS::__typecheck::{closure#0} +FN:296,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_OR::__typecheck::{closure#0} +FN:512,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_AND::__typecheck::{closure#0} +FN:142,conjure_core::rules::base::unwrap_sum +FN:464,conjure_core::rules::base::distribute_or_over_and::find_and +FN:316,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_OR::__typecheck +FN:462,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_OR_OVER_AND::__typecheck +FN:544,conjure_core::rules::base::distribute_not_over_or +FN:277,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_AND::__typecheck +FN:397,conjure_core::rules::base::CONJURE_GEN_RULE_EVALUATE_CONSTANT_NOT::__typecheck +FN:316,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_OR::__typecheck::{closure#0}::{closure#0} FN:316,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_OR::__typecheck -FN:296,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_OR::__typecheck::{closure#0}::{closure#0} -FN:152,rust_out::main::_doctest_main_crates_conjure_core_src_rules_base_rs_152_0 -FN:296,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_OR::__typecheck -FN:417,conjure_core::rules::base::CONJURE_GEN_RULE_MIN_TO_VAR::__typecheck::{closure#0}::{closure#0} -FN:27,conjure_core::rules::base::remove_nothings -FN:355,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_AND::__typecheck::{closure#0}::{closure#0} -FN:414,rust_out::main::_doctest_main_crates_conjure_core_src_rules_base_rs_414_0 FN:192,conjure_core::rules::base::unwrap_nested_or -FN:297,conjure_core::rules::base::remove_trivial_or -FN:463,conjure_core::rules::base::distribute_or_over_and +FN:87,conjure_core::rules::base::empty_to_nothing +FN:398,conjure_core::rules::base::evaluate_constant_not FN:464,conjure_core::rules::base::distribute_or_over_and::find_and -FN:141,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_SUM::__typecheck::{closure#0} -FN:26,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_NOTHINGS::__typecheck::{closure#0}::{closure#0} -FN:317,conjure_core::rules::base::remove_constants_from_or -FN:317,conjure_core::rules::base::remove_constants_from_or -FN:142,conjure_core::rules::base::unwrap_sum -FN:313,rust_out::main::_doctest_main_crates_conjure_core_src_rules_base_rs_313_0 -FN:260,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_DOUBLE_NEGATION::__typecheck::{closure#0}::{closure#0} -FN:543,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_OR::__typecheck::{closure#0} -FN:296,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_OR::__typecheck::{closure#0}::{closure#0} +FN:28,conjure_core::rules::base::remove_nothings::remove_nothings +FN:108,conjure_core::rules::base::CONJURE_GEN_RULE_SUM_CONSTANTS::__typecheck +FN:15,conjure_core::rules::base::CONJURE_GEN_RULE_SET_BASE::__typecheck::{closure#0} +FN:108,conjure_core::rules::base::CONJURE_GEN_RULE_SUM_CONSTANTS::__typecheck::{closure#0}::{closure#0} +FN:108,conjure_core::rules::base::CONJURE_GEN_RULE_SUM_CONSTANTS::__typecheck::{closure#0} +FN:156,conjure_core::rules::base::flatten_nested_sum +FN:86,conjure_core::rules::base::CONJURE_GEN_RULE_EMPTY_TO_NOTHING::__typecheck +FN:27,conjure_core::rules::base::remove_nothings FN:109,conjure_core::rules::base::sum_constants -FN:224,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_AND::__typecheck::{closure#0} +FN:356,conjure_core::rules::base::remove_constants_from_and +FN:277,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_AND::__typecheck::{closure#0} +FN:15,conjure_core::rules::base::CONJURE_GEN_RULE_SET_BASE::__typecheck +FN:26,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_NOTHINGS::__typecheck FN:155,conjure_core::rules::base::CONJURE_GEN_RULE_FLATTEN_NESTED_SUM::__typecheck::{closure#0}::{closure#0} -FN:316,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_OR::__typecheck::{closure#0}::{closure#0} -FN:355,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_AND::__typecheck::{closure#0} -FN:355,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_AND::__typecheck::{closure#0}::{closure#0} -FN:397,conjure_core::rules::base::CONJURE_GEN_RULE_EVALUATE_CONSTANT_NOT::__typecheck::{closure#0}::{closure#0} -FN:397,conjure_core::rules::base::CONJURE_GEN_RULE_EVALUATE_CONSTANT_NOT::__typecheck -FN:224,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_AND::__typecheck -FN:512,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_AND::__typecheck::{closure#0} -FN:417,conjure_core::rules::base::CONJURE_GEN_RULE_MIN_TO_VAR::__typecheck -FN:543,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_OR::__typecheck::{closure#0} -FN:86,conjure_core::rules::base::CONJURE_GEN_RULE_EMPTY_TO_NOTHING::__typecheck::{closure#0} -FN:191,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_OR::__typecheck -FN:86,conjure_core::rules::base::CONJURE_GEN_RULE_EMPTY_TO_NOTHING::__typecheck::{closure#0}::{closure#0} +FN:26,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_NOTHINGS::__typecheck +FN:141,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_SUM::__typecheck::{closure#0} +FN:417,conjure_core::rules::base::CONJURE_GEN_RULE_MIN_TO_VAR::__typecheck::{closure#0} +FN:155,conjure_core::rules::base::CONJURE_GEN_RULE_FLATTEN_NESTED_SUM::__typecheck FN:224,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_AND::__typecheck::{closure#0}::{closure#0} -FN:260,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_DOUBLE_NEGATION::__typecheck -FN:462,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_OR_OVER_AND::__typecheck::{closure#0}::{closure#0} -FN:397,conjure_core::rules::base::CONJURE_GEN_RULE_EVALUATE_CONSTANT_NOT::__typecheck::{closure#0}::{closure#0} -FN:191,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_OR::__typecheck::{closure#0}::{closure#0} -FN:274,rust_out::main::_doctest_main_crates_conjure_core_src_rules_base_rs_274_0 -FN:462,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_OR_OVER_AND::__typecheck -FN:15,conjure_core::rules::base::CONJURE_GEN_RULE_SET_BASE::__typecheck::{closure#0}::{closure#0} -FN:356,conjure_core::rules::base::remove_constants_from_and -FN:192,conjure_core::rules::base::unwrap_nested_or -FN:462,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_OR_OVER_AND::__typecheck::{closure#0} -FN:394,rust_out::main::_doctest_main_crates_conjure_core_src_rules_base_rs_394_0 -FN:155,conjure_core::rules::base::CONJURE_GEN_RULE_FLATTEN_NESTED_SUM::__typecheck::{closure#0}::{closure#0} -FN:86,conjure_core::rules::base::CONJURE_GEN_RULE_EMPTY_TO_NOTHING::__typecheck::{closure#0} -FN:417,conjure_core::rules::base::CONJURE_GEN_RULE_MIN_TO_VAR::__typecheck -FN:260,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_DOUBLE_NEGATION::__typecheck::{closure#0} -FN:356,conjure_core::rules::base::remove_constants_from_and FN:108,conjure_core::rules::base::CONJURE_GEN_RULE_SUM_CONSTANTS::__typecheck::{closure#0} -FN:417,conjure_core::rules::base::CONJURE_GEN_RULE_MIN_TO_VAR::__typecheck -FN:397,conjure_core::rules::base::CONJURE_GEN_RULE_EVALUATE_CONSTANT_NOT::__typecheck::{closure#0} -FN:28,conjure_core::rules::base::remove_nothings::remove_nothings FN:316,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_OR::__typecheck::{closure#0} -FN:463,conjure_core::rules::base::distribute_or_over_and -FN:155,conjure_core::rules::base::CONJURE_GEN_RULE_FLATTEN_NESTED_SUM::__typecheck -FN:277,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_AND::__typecheck::{closure#0} -FN:277,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_AND::__typecheck::{closure#0} -FN:316,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_OR::__typecheck::{closure#0}::{closure#0} -FN:543,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_OR::__typecheck::{closure#0}::{closure#0} -FN:356,conjure_core::rules::base::remove_constants_from_and +FN:417,conjure_core::rules::base::CONJURE_GEN_RULE_MIN_TO_VAR::__typecheck::{closure#0}::{closure#0} +FN:543,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_OR::__typecheck +FN:417,conjure_core::rules::base::CONJURE_GEN_RULE_MIN_TO_VAR::__typecheck +FN:141,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_SUM::__typecheck::{closure#0}::{closure#0} +FN:15,conjure_core::rules::base::CONJURE_GEN_RULE_SET_BASE::__typecheck +FN:296,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_OR::__typecheck +FN:225,conjure_core::rules::base::unwrap_nested_and +FN:543,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_OR::__typecheck::{closure#0} FN:462,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_OR_OVER_AND::__typecheck +FN:260,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_DOUBLE_NEGATION::__typecheck::{closure#0}::{closure#0} +FN:512,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_AND::__typecheck::{closure#0}::{closure#0} FN:15,conjure_core::rules::base::CONJURE_GEN_RULE_SET_BASE::__typecheck::{closure#0}::{closure#0} +FN:15,conjure_core::rules::base::CONJURE_GEN_RULE_SET_BASE::__typecheck::{closure#0} +FN:462,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_OR_OVER_AND::__typecheck::{closure#0}::{closure#0} +FN:86,conjure_core::rules::base::CONJURE_GEN_RULE_EMPTY_TO_NOTHING::__typecheck::{closure#0}::{closure#0} +FN:260,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_DOUBLE_NEGATION::__typecheck::{closure#0} +FN:355,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_AND::__typecheck +FN:141,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_SUM::__typecheck::{closure#0} +FN:418,conjure_core::rules::base::min_to_var FN:512,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_AND::__typecheck FN:397,conjure_core::rules::base::CONJURE_GEN_RULE_EVALUATE_CONSTANT_NOT::__typecheck::{closure#0}::{closure#0} -FN:544,conjure_core::rules::base::distribute_not_over_or -FN:141,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_SUM::__typecheck::{closure#0} -FN:462,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_OR_OVER_AND::__typecheck::{closure#0} -FN:87,conjure_core::rules::base::empty_to_nothing +FN:543,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_OR::__typecheck +FN:141,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_SUM::__typecheck::{closure#0}::{closure#0} FN:225,conjure_core::rules::base::unwrap_nested_and +FN:296,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_OR::__typecheck::{closure#0} +FN:86,conjure_core::rules::base::CONJURE_GEN_RULE_EMPTY_TO_NOTHING::__typecheck::{closure#0} +FN:278,conjure_core::rules::base::remove_trivial_and +FN:544,conjure_core::rules::base::distribute_not_over_or FN:141,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_SUM::__typecheck -FN:355,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_AND::__typecheck -FN:225,conjure_core::rules::base::unwrap_nested_and -FN:86,conjure_core::rules::base::CONJURE_GEN_RULE_EMPTY_TO_NOTHING::__typecheck::{closure#0}::{closure#0} +FN:260,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_DOUBLE_NEGATION::__typecheck +FN:277,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_AND::__typecheck +FN:27,conjure_core::rules::base::remove_nothings FN:512,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_AND::__typecheck::{closure#0}::{closure#0} -FN:459,rust_out::main::_doctest_main_crates_conjure_core_src_rules_base_rs_459_0 +FN:224,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_AND::__typecheck::{closure#0} +FN:142,conjure_core::rules::base::unwrap_sum +FN:355,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_AND::__typecheck::{closure#0} FN:261,conjure_core::rules::base::remove_double_negation -FN:260,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_DOUBLE_NEGATION::__typecheck::{closure#0} -FN:26,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_NOTHINGS::__typecheck::{closure#0} -FN:278,conjure_core::rules::base::remove_trivial_and -FN:462,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_OR_OVER_AND::__typecheck::{closure#0}::{closure#0} +FN:191,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_OR::__typecheck +FN:462,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_OR_OVER_AND::__typecheck::{closure#0} +FN:260,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_DOUBLE_NEGATION::__typecheck::{closure#0}::{closure#0} +FN:155,conjure_core::rules::base::CONJURE_GEN_RULE_FLATTEN_NESTED_SUM::__typecheck::{closure#0} +FN:397,conjure_core::rules::base::CONJURE_GEN_RULE_EVALUATE_CONSTANT_NOT::__typecheck::{closure#0} +FN:191,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_OR::__typecheck +FN:417,conjure_core::rules::base::CONJURE_GEN_RULE_MIN_TO_VAR::__typecheck::{closure#0}::{closure#0} +FN:316,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_OR::__typecheck::{closure#0}::{closure#0} +FN:355,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_AND::__typecheck::{closure#0}::{closure#0} +FN:397,conjure_core::rules::base::CONJURE_GEN_RULE_EVALUATE_CONSTANT_NOT::__typecheck FN:155,conjure_core::rules::base::CONJURE_GEN_RULE_FLATTEN_NESTED_SUM::__typecheck -FN:513,conjure_core::rules::base::distribute_not_over_and -FN:277,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_AND::__typecheck FN:355,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_AND::__typecheck::{closure#0}::{closure#0} FN:418,conjure_core::rules::base::min_to_var -FN:543,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_OR::__typecheck::{closure#0}::{closure#0} -FN:15,conjure_core::rules::base::CONJURE_GEN_RULE_SET_BASE::__typecheck::{closure#0} -FN:418,conjure_core::rules::base::min_to_var -FN:108,conjure_core::rules::base::CONJURE_GEN_RULE_SUM_CONSTANTS::__typecheck::{closure#0} -FN:15,conjure_core::rules::base::CONJURE_GEN_RULE_SET_BASE::__typecheck::{closure#0} -FN:224,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_AND::__typecheck::{closure#0} -FN:108,conjure_core::rules::base::CONJURE_GEN_RULE_SUM_CONSTANTS::__typecheck::{closure#0}::{closure#0} -FN:464,conjure_core::rules::base::distribute_or_over_and::find_and -FN:225,conjure_core::rules::base::unwrap_nested_and -FN:86,conjure_core::rules::base::CONJURE_GEN_RULE_EMPTY_TO_NOTHING::__typecheck -FN:156,conjure_core::rules::base::flatten_nested_sum -FN:138,rust_out::main::_doctest_main_crates_conjure_core_src_rules_base_rs_138_0 -FN:27,conjure_core::rules::base::remove_nothings -FN:293,rust_out::main::_doctest_main_crates_conjure_core_src_rules_base_rs_293_0 -FN:355,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_AND::__typecheck -FN:296,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_OR::__typecheck::{closure#0} -FN:316,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_OR::__typecheck::{closure#0} -FN:15,conjure_core::rules::base::CONJURE_GEN_RULE_SET_BASE::__typecheck -FN:28,conjure_core::rules::base::remove_nothings::remove_nothings +FN:48,conjure_core::rules::base::remove_nothings::get_lhs_rhs +FN:462,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_OR_OVER_AND::__typecheck::{closure#0} +FN:108,conjure_core::rules::base::CONJURE_GEN_RULE_SUM_CONSTANTS::__typecheck +FN:260,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_DOUBLE_NEGATION::__typecheck +FN:513,conjure_core::rules::base::distribute_not_over_and FN:355,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_AND::__typecheck::{closure#0} +FN:278,conjure_core::rules::base::remove_trivial_and FN:512,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_AND::__typecheck::{closure#0} +FN:316,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_OR::__typecheck::{closure#0} FN:224,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_AND::__typecheck::{closure#0}::{closure#0} -FN:397,conjure_core::rules::base::CONJURE_GEN_RULE_EVALUATE_CONSTANT_NOT::__typecheck::{closure#0} -FN:192,conjure_core::rules::base::unwrap_nested_or -FN:278,conjure_core::rules::base::remove_trivial_and -FN:278,conjure_core::rules::base::remove_trivial_and -FN:296,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_OR::__typecheck -FN:512,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_AND::__typecheck -FN:513,conjure_core::rules::base::distribute_not_over_and -FN:155,conjure_core::rules::base::CONJURE_GEN_RULE_FLATTEN_NESTED_SUM::__typecheck::{closure#0} +FN:86,conjure_core::rules::base::CONJURE_GEN_RULE_EMPTY_TO_NOTHING::__typecheck::{closure#0}::{closure#0} FN:277,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_AND::__typecheck::{closure#0}::{closure#0} -FN:109,conjure_core::rules::base::sum_constants -FN:512,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_AND::__typecheck -FN:297,conjure_core::rules::base::remove_trivial_or -FN:355,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_AND::__typecheck::{closure#0} -FN:87,conjure_core::rules::base::empty_to_nothing -FN:316,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_OR::__typecheck::{closure#0} -FN:462,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_OR_OVER_AND::__typecheck::{closure#0}::{closure#0} -FN:417,conjure_core::rules::base::CONJURE_GEN_RULE_MIN_TO_VAR::__typecheck::{closure#0}::{closure#0} -FN:26,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_NOTHINGS::__typecheck::{closure#0} -FN:108,conjure_core::rules::base::CONJURE_GEN_RULE_SUM_CONSTANTS::__typecheck::{closure#0}::{closure#0} -FN:398,conjure_core::rules::base::evaluate_constant_not -FN:417,conjure_core::rules::base::CONJURE_GEN_RULE_MIN_TO_VAR::__typecheck::{closure#0}::{closure#0} -FN:86,conjure_core::rules::base::CONJURE_GEN_RULE_EMPTY_TO_NOTHING::__typecheck -FN:26,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_NOTHINGS::__typecheck::{closure#0} -FN:398,conjure_core::rules::base::evaluate_constant_not -FN:156,conjure_core::rules::base::flatten_nested_sum -FN:108,conjure_core::rules::base::CONJURE_GEN_RULE_SUM_CONSTANTS::__typecheck::{closure#0}::{closure#0} -FN:261,conjure_core::rules::base::remove_double_negation -FN:108,conjure_core::rules::base::CONJURE_GEN_RULE_SUM_CONSTANTS::__typecheck::{closure#0} -FN:260,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_DOUBLE_NEGATION::__typecheck -FN:109,conjure_core::rules::base::sum_constants -FN:191,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_OR::__typecheck::{closure#0} -FN:87,conjure_core::rules::base::empty_to_nothing -FN:414,rust_out::main -FN:48,conjure_core::rules::base::remove_nothings::get_lhs_rhs -FN:418,conjure_core::rules::base::min_to_var -FN:15,conjure_core::rules::base::CONJURE_GEN_RULE_SET_BASE::__typecheck -FN:26,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_NOTHINGS::__typecheck::{closure#0}::{closure#0} -FN:316,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_OR::__typecheck::{closure#0}::{closure#0} -FN:462,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_OR_OVER_AND::__typecheck::{closure#0} -FN:141,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_SUM::__typecheck::{closure#0} -FN:141,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_SUM::__typecheck -FN:141,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_SUM::__typecheck::{closure#0}::{closure#0} -FN:463,conjure_core::rules::base::distribute_or_over_and -FN:260,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_DOUBLE_NEGATION::__typecheck::{closure#0}::{closure#0} -FN:27,conjure_core::rules::base::remove_nothings -FN:512,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_AND::__typecheck::{closure#0} -FN:398,conjure_core::rules::base::evaluate_constant_not -FN:191,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_OR::__typecheck::{closure#0} -FN:188,rust_out::main::_doctest_main_crates_conjure_core_src_rules_base_rs_188_0 -FN:417,conjure_core::rules::base::CONJURE_GEN_RULE_MIN_TO_VAR::__typecheck::{closure#0} -FN:540,rust_out::main::_doctest_main_crates_conjure_core_src_rules_base_rs_540_0 -FN:15,conjure_core::rules::base::CONJURE_GEN_RULE_SET_BASE::__typecheck::{closure#0}::{closure#0} -FN:543,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_OR::__typecheck -FN:464,conjure_core::rules::base::distribute_or_over_and::find_and -FN:277,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_AND::__typecheck -FN:544,conjure_core::rules::base::distribute_not_over_or -FN:108,conjure_core::rules::base::CONJURE_GEN_RULE_SUM_CONSTANTS::__typecheck -FN:543,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_OR::__typecheck::{closure#0} -FN:48,conjure_core::rules::base::remove_nothings::get_lhs_rhs -FN:509,rust_out::main::_doctest_main_crates_conjure_core_src_rules_base_rs_509_0 -FN:397,conjure_core::rules::base::CONJURE_GEN_RULE_EVALUATE_CONSTANT_NOT::__typecheck -FN:28,conjure_core::rules::base::remove_nothings::remove_nothings -FN:277,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_AND::__typecheck -FN:397,conjure_core::rules::base::CONJURE_GEN_RULE_EVALUATE_CONSTANT_NOT::__typecheck::{closure#0} -FN:155,conjure_core::rules::base::CONJURE_GEN_RULE_FLATTEN_NESTED_SUM::__typecheck::{closure#0} -FN:15,conjure_core::rules::base::CONJURE_GEN_RULE_SET_BASE::__typecheck -FN:142,conjure_core::rules::base::unwrap_sum -FN:86,conjure_core::rules::base::CONJURE_GEN_RULE_EMPTY_TO_NOTHING::__typecheck -FN:417,conjure_core::rules::base::CONJURE_GEN_RULE_MIN_TO_VAR::__typecheck::{closure#0} -FN:224,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_AND::__typecheck::{closure#0} FN:543,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_OR::__typecheck::{closure#0}::{closure#0} -FN:260,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_DOUBLE_NEGATION::__typecheck::{closure#0} -FN:512,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_AND::__typecheck::{closure#0}::{closure#0} -FN:141,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_SUM::__typecheck::{closure#0}::{closure#0} -FN:224,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_AND::__typecheck::{closure#0}::{closure#0} -FN:417,conjure_core::rules::base::CONJURE_GEN_RULE_MIN_TO_VAR::__typecheck::{closure#0} +FN:156,conjure_core::rules::base::flatten_nested_sum +FN:296,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_OR::__typecheck FN:513,conjure_core::rules::base::distribute_not_over_and -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_FLATTEN_NESTED_SUM::__typecheck -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_OR::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_SUM_CONSTANTS::__typecheck -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_OR::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::unwrap_sum -FNDA:0,conjure_core::rules::base::flatten_nested_sum -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_AND::__typecheck +FN:297,conjure_core::rules::base::remove_trivial_or +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_MIN_TO_VAR::__typecheck::{closure#0} FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_AND::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_EVALUATE_CONSTANT_NOT::__typecheck -FNDA:1,rust_out::main::_doctest_main_crates_conjure_core_src_rules_base_rs_23_0 -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_NOTHINGS::__typecheck -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_AND::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_AND::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_OR_OVER_AND::__typecheck -FNDA:1,rust_out::main::_doctest_main_crates_conjure_core_src_rules_base_rs_105_0 -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_DOUBLE_NEGATION::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_OR::__typecheck -FNDA:1,conjure_core::rules::base::remove_trivial_or -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_EMPTY_TO_NOTHING::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_OR::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_SUM::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_FLATTEN_NESTED_SUM::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_OR::__typecheck -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_OR::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_SUM_CONSTANTS::__typecheck -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_DOUBLE_NEGATION::__typecheck -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_OR::__typecheck -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_AND::__typecheck -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_OR::__typecheck::{closure#0}::{closure#0} -FNDA:1,rust_out::main::_doctest_main_crates_conjure_core_src_rules_base_rs_83_0 -FNDA:1,conjure_core::rules::base::distribute_not_over_or -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_OR::__typecheck -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_NOTHINGS::__typecheck -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_OR::__typecheck FNDA:0,conjure_core::rules::base::remove_constants_from_or -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_FLATTEN_NESTED_SUM::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_OR::__typecheck -FNDA:0,conjure_core::rules::base::remove_nothings::get_lhs_rhs +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_EMPTY_TO_NOTHING::__typecheck +FNDA:0,conjure_core::rules::base::sum_constants +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_SET_BASE::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_EVALUATE_CONSTANT_NOT::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_OR_OVER_AND::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::base::unwrap_nested_or +FNDA:0,conjure_core::rules::base::evaluate_constant_not FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_NOTHINGS::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::remove_double_negation -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_AND::__typecheck::{closure#0}::{closure#0} -FNDA:1,rust_out::main::_doctest_main_crates_conjure_core_src_rules_base_rs_221_0 -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_EMPTY_TO_NOTHING::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_AND::__typecheck -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_NOTHINGS::__typecheck -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_SUM::__typecheck -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_OR::__typecheck -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_OR::__typecheck::{closure#0} -FNDA:1,rust_out::main::_doctest_main_crates_conjure_core_src_rules_base_rs_352_0 -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_SET_BASE::__typecheck::{closure#0} -FNDA:1,rust_out::main::_doctest_main_crates_conjure_core_src_rules_base_rs_257_0 -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_OR::__typecheck -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_OR::__typecheck::{closure#0}::{closure#0} -FNDA:1,rust_out::main::_doctest_main_crates_conjure_core_src_rules_base_rs_152_0 -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_OR::__typecheck -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_MIN_TO_VAR::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::remove_nothings -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_AND::__typecheck::{closure#0}::{closure#0} -FNDA:1,rust_out::main::_doctest_main_crates_conjure_core_src_rules_base_rs_414_0 -FNDA:1,conjure_core::rules::base::unwrap_nested_or -FNDA:0,conjure_core::rules::base::remove_trivial_or +FNDA:0,conjure_core::rules::base::remove_nothings::remove_nothings FNDA:0,conjure_core::rules::base::distribute_or_over_and -FNDA:0,conjure_core::rules::base::distribute_or_over_and::find_and -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_SUM::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_NOTHINGS::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_FLATTEN_NESTED_SUM::__typecheck::{closure#0} FNDA:0,conjure_core::rules::base::remove_constants_from_or -FNDA:1,conjure_core::rules::base::remove_constants_from_or -FNDA:1,conjure_core::rules::base::unwrap_sum -FNDA:1,rust_out::main::_doctest_main_crates_conjure_core_src_rules_base_rs_313_0 -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_DOUBLE_NEGATION::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_OR::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_OR::__typecheck::{closure#0}::{closure#0} -FNDA:1,conjure_core::rules::base::sum_constants -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_AND::__typecheck::{closure#0} FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_FLATTEN_NESTED_SUM::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_OR::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_AND::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_AND::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_OR::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_DOUBLE_NEGATION::__typecheck::{closure#0} FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_EVALUATE_CONSTANT_NOT::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_EVALUATE_CONSTANT_NOT::__typecheck -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_AND::__typecheck -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_AND::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_OR::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_AND::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_OR::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::base::empty_to_nothing FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_MIN_TO_VAR::__typecheck -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_OR::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_EMPTY_TO_NOTHING::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_OR::__typecheck -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_EMPTY_TO_NOTHING::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_AND::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_DOUBLE_NEGATION::__typecheck -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_OR_OVER_AND::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_EVALUATE_CONSTANT_NOT::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_AND::__typecheck +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_NOTHINGS::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::base::remove_nothings::get_lhs_rhs +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_AND::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_SUM_CONSTANTS::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_OR::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::base::remove_double_negation FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_OR::__typecheck::{closure#0}::{closure#0} -FNDA:1,rust_out::main::_doctest_main_crates_conjure_core_src_rules_base_rs_274_0 -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_OR_OVER_AND::__typecheck -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_SET_BASE::__typecheck::{closure#0}::{closure#0} -FNDA:1,conjure_core::rules::base::remove_constants_from_and -FNDA:0,conjure_core::rules::base::unwrap_nested_or -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_OR_OVER_AND::__typecheck::{closure#0} -FNDA:1,rust_out::main::_doctest_main_crates_conjure_core_src_rules_base_rs_394_0 -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_FLATTEN_NESTED_SUM::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_EMPTY_TO_NOTHING::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_MIN_TO_VAR::__typecheck -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_DOUBLE_NEGATION::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_NOTHINGS::__typecheck::{closure#0}::{closure#0} FNDA:0,conjure_core::rules::base::remove_constants_from_and -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_SUM_CONSTANTS::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_MIN_TO_VAR::__typecheck -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_EVALUATE_CONSTANT_NOT::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::base::remove_nothings::remove_nothings -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_OR::__typecheck::{closure#0} FNDA:0,conjure_core::rules::base::distribute_or_over_and -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_FLATTEN_NESTED_SUM::__typecheck -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_AND::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_AND::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_OR::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_OR::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::remove_constants_from_and -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_OR_OVER_AND::__typecheck -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_SET_BASE::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_AND::__typecheck -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_EVALUATE_CONSTANT_NOT::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::distribute_not_over_or -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_SUM::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_OR_OVER_AND::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::base::empty_to_nothing -FNDA:0,conjure_core::rules::base::unwrap_nested_and +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_AND::__typecheck +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_OR::__typecheck::{closure#0} FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_SUM::__typecheck +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_OR::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::base::remove_trivial_or FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_AND::__typecheck -FNDA:0,conjure_core::rules::base::unwrap_nested_and -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_EMPTY_TO_NOTHING::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_AND::__typecheck::{closure#0}::{closure#0} -FNDA:1,rust_out::main::_doctest_main_crates_conjure_core_src_rules_base_rs_459_0 -FNDA:0,conjure_core::rules::base::remove_double_negation -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_DOUBLE_NEGATION::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_EMPTY_TO_NOTHING::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_OR::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_AND::__typecheck FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_NOTHINGS::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::base::remove_trivial_and -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_OR_OVER_AND::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_FLATTEN_NESTED_SUM::__typecheck -FNDA:0,conjure_core::rules::base::distribute_not_over_and -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_AND::__typecheck -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_AND::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::min_to_var -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_OR::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_SET_BASE::__typecheck::{closure#0} -FNDA:1,conjure_core::rules::base::min_to_var -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_SUM_CONSTANTS::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_SET_BASE::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_AND::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_SUM_CONSTANTS::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::distribute_or_over_and::find_and -FNDA:1,conjure_core::rules::base::unwrap_nested_and -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_EMPTY_TO_NOTHING::__typecheck -FNDA:0,conjure_core::rules::base::flatten_nested_sum -FNDA:1,rust_out::main::_doctest_main_crates_conjure_core_src_rules_base_rs_138_0 -FNDA:1,conjure_core::rules::base::remove_nothings -FNDA:1,rust_out::main::_doctest_main_crates_conjure_core_src_rules_base_rs_293_0 -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_AND::__typecheck FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_OR::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_OR::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_SET_BASE::__typecheck -FNDA:1,conjure_core::rules::base::remove_nothings::remove_nothings -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_AND::__typecheck::{closure#0} FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_AND::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_AND::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_EVALUATE_CONSTANT_NOT::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::base::unwrap_sum +FNDA:0,conjure_core::rules::base::distribute_or_over_and::find_and +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_OR::__typecheck +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_OR_OVER_AND::__typecheck +FNDA:0,conjure_core::rules::base::distribute_not_over_or +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_AND::__typecheck +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_EVALUATE_CONSTANT_NOT::__typecheck +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_OR::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_OR::__typecheck FNDA:0,conjure_core::rules::base::unwrap_nested_or -FNDA:0,conjure_core::rules::base::remove_trivial_and -FNDA:1,conjure_core::rules::base::remove_trivial_and -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_OR::__typecheck -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_AND::__typecheck -FNDA:1,conjure_core::rules::base::distribute_not_over_and -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_FLATTEN_NESTED_SUM::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_AND::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::sum_constants -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_AND::__typecheck -FNDA:0,conjure_core::rules::base::remove_trivial_or -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_AND::__typecheck::{closure#0} -FNDA:1,conjure_core::rules::base::empty_to_nothing -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_OR::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_OR_OVER_AND::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_MIN_TO_VAR::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_NOTHINGS::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_SUM_CONSTANTS::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::evaluate_constant_not -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_MIN_TO_VAR::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_EMPTY_TO_NOTHING::__typecheck -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_NOTHINGS::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::base::empty_to_nothing FNDA:0,conjure_core::rules::base::evaluate_constant_not -FNDA:1,conjure_core::rules::base::flatten_nested_sum +FNDA:0,conjure_core::rules::base::distribute_or_over_and::find_and +FNDA:0,conjure_core::rules::base::remove_nothings::remove_nothings +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_SUM_CONSTANTS::__typecheck +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_SET_BASE::__typecheck::{closure#0} FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_SUM_CONSTANTS::__typecheck::{closure#0}::{closure#0} -FNDA:1,conjure_core::rules::base::remove_double_negation FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_SUM_CONSTANTS::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_DOUBLE_NEGATION::__typecheck +FNDA:0,conjure_core::rules::base::flatten_nested_sum +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_EMPTY_TO_NOTHING::__typecheck +FNDA:0,conjure_core::rules::base::remove_nothings FNDA:0,conjure_core::rules::base::sum_constants -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_OR::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::base::empty_to_nothing -FNDA:1,rust_out::main -FNDA:0,conjure_core::rules::base::remove_nothings::get_lhs_rhs -FNDA:0,conjure_core::rules::base::min_to_var +FNDA:0,conjure_core::rules::base::remove_constants_from_and +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_AND::__typecheck::{closure#0} FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_SET_BASE::__typecheck -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_NOTHINGS::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_OR::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_OR_OVER_AND::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_NOTHINGS::__typecheck +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_FLATTEN_NESTED_SUM::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_NOTHINGS::__typecheck FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_SUM::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_SUM::__typecheck +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_MIN_TO_VAR::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_FLATTEN_NESTED_SUM::__typecheck +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_AND::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_SUM_CONSTANTS::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_OR::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_MIN_TO_VAR::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_OR::__typecheck +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_MIN_TO_VAR::__typecheck FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_SUM::__typecheck::{closure#0}::{closure#0} -FNDA:1,conjure_core::rules::base::distribute_or_over_and +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_SET_BASE::__typecheck +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_OR::__typecheck +FNDA:0,conjure_core::rules::base::unwrap_nested_and +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_OR::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_OR_OVER_AND::__typecheck FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_DOUBLE_NEGATION::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::remove_nothings -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_AND::__typecheck::{closure#0} -FNDA:1,conjure_core::rules::base::evaluate_constant_not -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_OR::__typecheck::{closure#0} -FNDA:1,rust_out::main::_doctest_main_crates_conjure_core_src_rules_base_rs_188_0 -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_MIN_TO_VAR::__typecheck::{closure#0} -FNDA:1,rust_out::main::_doctest_main_crates_conjure_core_src_rules_base_rs_540_0 +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_AND::__typecheck::{closure#0}::{closure#0} FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_SET_BASE::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_SET_BASE::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_OR_OVER_AND::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_EMPTY_TO_NOTHING::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_DOUBLE_NEGATION::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_AND::__typecheck +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_SUM::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::base::min_to_var +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_AND::__typecheck +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_EVALUATE_CONSTANT_NOT::__typecheck::{closure#0}::{closure#0} FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_OR::__typecheck -FNDA:1,conjure_core::rules::base::distribute_or_over_and::find_and -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_AND::__typecheck +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_SUM::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::base::unwrap_nested_and +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_OR::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_EMPTY_TO_NOTHING::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::base::remove_trivial_and FNDA:0,conjure_core::rules::base::distribute_not_over_or -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_SUM_CONSTANTS::__typecheck -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_OR::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::base::remove_nothings::get_lhs_rhs -FNDA:1,rust_out::main::_doctest_main_crates_conjure_core_src_rules_base_rs_509_0 -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_EVALUATE_CONSTANT_NOT::__typecheck -FNDA:0,conjure_core::rules::base::remove_nothings::remove_nothings +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_SUM::__typecheck +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_DOUBLE_NEGATION::__typecheck FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_AND::__typecheck -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_EVALUATE_CONSTANT_NOT::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_FLATTEN_NESTED_SUM::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_SET_BASE::__typecheck -FNDA:0,conjure_core::rules::base::unwrap_sum -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_EMPTY_TO_NOTHING::__typecheck -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_MIN_TO_VAR::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_AND::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_OR::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_DOUBLE_NEGATION::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::base::remove_nothings FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_AND::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_SUM::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_AND::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::base::unwrap_sum +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_AND::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::base::remove_double_negation +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_OR::__typecheck +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_OR_OVER_AND::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_DOUBLE_NEGATION::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_FLATTEN_NESTED_SUM::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_EVALUATE_CONSTANT_NOT::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_OR::__typecheck +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_MIN_TO_VAR::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_OR::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_AND::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_EVALUATE_CONSTANT_NOT::__typecheck +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_FLATTEN_NESTED_SUM::__typecheck +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_AND::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::base::min_to_var +FNDA:0,conjure_core::rules::base::remove_nothings::get_lhs_rhs +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_OR_OVER_AND::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_SUM_CONSTANTS::__typecheck +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_DOUBLE_NEGATION::__typecheck +FNDA:0,conjure_core::rules::base::distribute_not_over_and +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_AND::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::base::remove_trivial_and +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_AND::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_CONSTANTS_FROM_OR::__typecheck::{closure#0} FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_UNWRAP_NESTED_AND::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_MIN_TO_VAR::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_EMPTY_TO_NOTHING::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_AND::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_DISTRIBUTE_NOT_OVER_OR::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::base::flatten_nested_sum +FNDA:0,conjure_core::rules::base::CONJURE_GEN_RULE_REMOVE_TRIVIAL_OR::__typecheck FNDA:0,conjure_core::rules::base::distribute_not_over_and -FNF:240 -FNH:37 +FNDA:0,conjure_core::rules::base::remove_trivial_or +FNF:148 +FNH:0 BRF:0 BRH:0 DA:15,0 -DA:23,1 -DA:24,1 -DA:25,1 DA:26,0 -DA:27,7242060 -DA:28,7242060 -DA:29,7242060 -DA:30,7242060 -DA:32,14662305 -DA:33,7420245 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:32,0 +DA:33,0 DA:34,0 DA:35,0 DA:36,0 -DA:37,7420245 -DA:41,7242060 +DA:37,0 +DA:41,0 DA:42,0 -DA:44,7242060 -DA:46,7242060 +DA:44,0 +DA:46,0 DA:48,0 DA:49,0 DA:50,0 @@ -3732,7 +2884,7 @@ DA:53,0 DA:54,0 DA:55,0 DA:56,0 -DA:58,7242060 +DA:58,0 DA:60,0 DA:61,0 DA:62,0 @@ -3747,411 +2899,347 @@ DA:72,0 DA:73,0 DA:74,0 DA:76,0 -DA:78,7242060 -DA:83,1 -DA:84,1 -DA:85,1 +DA:78,0 DA:86,0 -DA:87,7242060 -DA:88,7242060 -DA:90,5408265 -DA:93,1833795 +DA:87,0 +DA:88,0 +DA:90,0 +DA:93,0 DA:94,0 -DA:96,1833795 -DA:100,7242060 -DA:105,1 -DA:106,1 -DA:107,1 +DA:96,0 +DA:100,0 DA:108,0 -DA:109,7242105 -DA:110,7242105 -DA:111,60 -DA:112,60 -DA:113,60 -DA:114,60 -DA:115,225 -DA:116,120 -DA:117,120 -DA:118,120 -DA:119,120 -DA:120,120 -DA:121,45 -DA:124,60 -DA:125,15 -DA:126,45 -DA:127,45 -DA:128,45 -DA:129,45 -DA:131,7242045 -DA:133,7242105 -DA:138,1 -DA:139,1 -DA:140,1 +DA:109,0 +DA:110,0 +DA:111,0 +DA:112,0 +DA:113,0 +DA:114,0 +DA:115,0 +DA:116,0 +DA:117,0 +DA:118,0 +DA:119,0 +DA:120,0 +DA:121,0 +DA:124,0 +DA:125,0 +DA:126,0 +DA:127,0 +DA:128,0 +DA:129,0 +DA:131,0 +DA:133,0 DA:141,0 -DA:142,7242090 -DA:143,45 -DA:144,45 -DA:145,7242060 -DA:147,7242090 -DA:152,1 -DA:153,1 -DA:154,1 +DA:142,0 +DA:143,0 +DA:144,0 +DA:145,0 +DA:147,0 DA:155,0 -DA:156,7242060 -DA:157,7242060 -DA:158,15 -DA:159,15 -DA:160,15 -DA:161,45 -DA:162,30 -DA:163,15 -DA:164,15 -DA:165,45 -DA:166,30 -DA:167,30 -DA:169,15 -DA:172,15 +DA:156,0 +DA:157,0 +DA:158,0 +DA:159,0 +DA:160,0 +DA:161,0 +DA:162,0 +DA:163,0 +DA:164,0 +DA:165,0 +DA:166,0 +DA:167,0 +DA:169,0 +DA:172,0 DA:173,0 -DA:174,15 -DA:175,15 -DA:176,15 -DA:177,15 -DA:178,15 -DA:180,7242045 -DA:182,7242060 -DA:188,1 -DA:189,1 -DA:190,1 +DA:174,0 +DA:175,0 +DA:176,0 +DA:177,0 +DA:178,0 +DA:180,0 +DA:182,0 DA:191,0 -DA:192,7242090 -DA:193,7242090 -DA:194,377400 -DA:195,377400 -DA:196,377400 -DA:197,1845210 -DA:198,1467810 -DA:199,15 -DA:200,15 -DA:201,45 -DA:202,30 -DA:203,30 -DA:205,1467795 -DA:208,377400 -DA:209,377385 -DA:210,15 -DA:211,15 -DA:213,6864690 -DA:215,7242090 -DA:221,1 -DA:222,1 -DA:223,1 +DA:192,0 +DA:193,0 +DA:194,0 +DA:195,0 +DA:196,0 +DA:197,0 +DA:198,0 +DA:199,0 +DA:200,0 +DA:201,0 +DA:202,0 +DA:203,0 +DA:205,0 +DA:208,0 +DA:209,0 +DA:210,0 +DA:211,0 +DA:213,0 +DA:215,0 DA:224,0 -DA:225,7242090 -DA:226,7242090 -DA:227,15855 -DA:228,15855 -DA:229,15855 -DA:230,536700 -DA:231,520845 -DA:232,3585 -DA:233,3585 -DA:234,10725 -DA:235,7140 -DA:236,7140 -DA:238,517260 -DA:241,15855 -DA:242,12270 -DA:243,3585 -DA:244,3585 -DA:245,3585 -DA:246,3585 -DA:247,3585 -DA:249,7226235 -DA:251,7242090 -DA:257,1 -DA:258,1 -DA:259,1 +DA:225,0 +DA:226,0 +DA:227,0 +DA:228,0 +DA:229,0 +DA:230,0 +DA:231,0 +DA:232,0 +DA:233,0 +DA:234,0 +DA:235,0 +DA:236,0 +DA:238,0 +DA:241,0 +DA:242,0 +DA:243,0 +DA:244,0 +DA:245,0 +DA:246,0 +DA:247,0 +DA:249,0 +DA:251,0 DA:260,0 -DA:261,7242075 -DA:262,7242075 -DA:263,135 -DA:264,15 -DA:265,120 -DA:267,7241940 -DA:269,7242075 -DA:274,1 -DA:275,1 -DA:276,1 +DA:261,0 +DA:262,0 +DA:263,0 +DA:264,0 +DA:265,0 +DA:267,0 +DA:269,0 DA:277,0 -DA:278,7242075 -DA:279,7242075 -DA:280,15840 -DA:281,15840 -DA:282,15 -DA:283,15825 -DA:284,15825 -DA:286,7226235 -DA:288,7242075 -DA:293,1 -DA:294,1 -DA:295,1 +DA:278,0 +DA:279,0 +DA:280,0 +DA:281,0 +DA:282,0 +DA:283,0 +DA:284,0 +DA:286,0 +DA:288,0 DA:296,0 -DA:297,7242075 -DA:298,7242075 -DA:299,377385 -DA:300,377385 -DA:301,105 -DA:302,377280 -DA:303,377280 -DA:305,6864690 -DA:307,7242075 -DA:313,1 -DA:314,1 -DA:315,1 +DA:297,0 +DA:298,0 +DA:299,0 +DA:300,0 +DA:301,0 +DA:302,0 +DA:303,0 +DA:305,0 +DA:307,0 DA:316,0 -DA:317,7242090 -DA:318,7242090 -DA:319,377400 -DA:320,377400 -DA:321,377400 -DA:322,1845180 -DA:323,15 -DA:324,15 -DA:325,15 -DA:327,15 -DA:328,15 -DA:329,15 -DA:330,15 +DA:317,0 +DA:318,0 +DA:319,0 +DA:320,0 +DA:321,0 +DA:322,0 +DA:323,0 +DA:324,0 +DA:325,0 +DA:327,0 +DA:328,0 +DA:329,0 +DA:330,0 DA:331,0 DA:332,0 DA:333,0 DA:334,0 -DA:336,1467780 -DA:339,377385 -DA:340,377385 +DA:336,0 +DA:339,0 +DA:340,0 DA:341,0 DA:342,0 -DA:344,6864690 -DA:346,7242090 -DA:352,1 -DA:353,1 -DA:354,1 +DA:344,0 +DA:346,0 DA:355,0 -DA:356,7242090 -DA:357,7242090 -DA:358,15855 -DA:359,15855 -DA:360,15855 -DA:361,536685 -DA:362,30 -DA:363,30 -DA:364,30 -DA:366,15 -DA:367,15 -DA:368,15 -DA:369,15 -DA:370,15 -DA:371,15 -DA:372,15 -DA:373,15 -DA:375,520815 -DA:378,15840 -DA:379,15840 +DA:356,0 +DA:357,0 +DA:358,0 +DA:359,0 +DA:360,0 +DA:361,0 +DA:362,0 +DA:363,0 +DA:364,0 +DA:366,0 +DA:367,0 +DA:368,0 +DA:369,0 +DA:370,0 +DA:371,0 +DA:372,0 +DA:373,0 +DA:375,0 +DA:378,0 +DA:379,0 DA:380,0 DA:381,0 DA:382,0 DA:383,0 DA:384,0 -DA:386,7226235 -DA:388,7242090 -DA:394,1 -DA:395,1 -DA:396,1 +DA:386,0 +DA:388,0 DA:397,0 -DA:398,7242060 -DA:399,7242060 -DA:400,120 +DA:398,0 +DA:399,0 +DA:400,0 DA:401,0 DA:402,0 DA:403,0 DA:404,0 -DA:405,120 -DA:407,7241940 -DA:409,7242060 -DA:414,1 -DA:415,1 -DA:416,1 +DA:405,0 +DA:407,0 +DA:409,0 DA:417,0 -DA:418,7242060 -DA:419,7242060 -DA:420,75 -DA:421,75 -DA:422,75 -DA:423,75 -DA:424,75 -DA:425,225 -DA:426,150 -DA:427,150 -DA:428,150 -DA:429,150 -DA:430,150 -DA:431,150 -DA:432,150 -DA:433,150 -DA:434,150 -DA:435,150 -DA:436,150 -DA:437,75 -DA:438,75 -DA:439,75 -DA:440,75 -DA:441,75 -DA:442,75 -DA:443,75 -DA:444,75 -DA:445,75 -DA:446,75 -DA:447,75 -DA:448,75 -DA:449,75 -DA:451,7241985 -DA:453,7242060 -DA:459,1 -DA:460,1 -DA:461,1 +DA:418,0 +DA:419,0 +DA:420,0 +DA:421,0 +DA:422,0 +DA:423,0 +DA:424,0 +DA:425,0 +DA:426,0 +DA:427,0 +DA:428,0 +DA:429,0 +DA:430,0 +DA:431,0 +DA:432,0 +DA:433,0 +DA:434,0 +DA:435,0 +DA:436,0 +DA:437,0 +DA:438,0 +DA:439,0 +DA:440,0 +DA:441,0 +DA:442,0 +DA:443,0 +DA:444,0 +DA:445,0 +DA:446,0 +DA:447,0 +DA:448,0 +DA:449,0 +DA:451,0 +DA:453,0 DA:462,0 -DA:463,7242075 -DA:464,7242075 -DA:465,7242075 -DA:466,7242075 -DA:467,7242075 -DA:468,7242075 -DA:469,7242075 -DA:470,7242075 -DA:471,7242075 -DA:472,7242075 -DA:473,7242075 -DA:474,7242075 -DA:475,377385 -DA:476,3465 -DA:477,3465 -DA:478,3465 -DA:479,3465 -DA:480,3465 -DA:481,3465 -DA:482,3465 -DA:484,10395 -DA:486,6930 -DA:487,6930 -DA:488,6930 -DA:491,3465 -DA:492,3465 -DA:493,3465 -DA:494,3465 +DA:463,0 +DA:464,0 +DA:465,0 +DA:466,0 +DA:467,0 +DA:468,0 +DA:469,0 +DA:470,0 +DA:471,0 +DA:472,0 +DA:473,0 +DA:474,0 +DA:475,0 +DA:476,0 +DA:477,0 +DA:478,0 +DA:479,0 +DA:480,0 +DA:481,0 +DA:482,0 +DA:484,0 +DA:486,0 +DA:487,0 +DA:488,0 +DA:491,0 +DA:492,0 +DA:493,0 +DA:494,0 DA:496,0 -DA:499,373920 -DA:501,6864690 -DA:503,7242075 -DA:509,1 -DA:510,1 -DA:511,1 +DA:499,0 +DA:501,0 +DA:503,0 DA:512,0 -DA:513,7242090 -DA:514,7242090 -DA:515,150 -DA:516,45 -DA:517,45 -DA:518,15 -DA:519,15 -DA:520,15 -DA:521,15 -DA:522,15 -DA:523,30 -DA:524,30 -DA:525,90 -DA:526,60 -DA:527,60 -DA:528,30 -DA:530,105 -DA:532,7241940 -DA:534,7242090 -DA:540,1 -DA:541,1 -DA:542,1 +DA:513,0 +DA:514,0 +DA:515,0 +DA:516,0 +DA:517,0 +DA:518,0 +DA:519,0 +DA:520,0 +DA:521,0 +DA:522,0 +DA:523,0 +DA:524,0 +DA:525,0 +DA:526,0 +DA:527,0 +DA:528,0 +DA:530,0 +DA:532,0 +DA:534,0 DA:543,0 -DA:544,7242090 -DA:545,7242090 -DA:546,150 -DA:547,15 -DA:548,15 +DA:544,0 +DA:545,0 +DA:546,0 +DA:547,0 +DA:548,0 DA:549,0 DA:550,0 DA:551,0 DA:552,0 DA:553,0 -DA:554,15 -DA:555,15 -DA:556,45 -DA:557,30 -DA:558,30 -DA:559,15 -DA:561,135 -DA:563,7241940 -DA:565,7242090 -LF:394 -LH:326 +DA:554,0 +DA:555,0 +DA:556,0 +DA:557,0 +DA:558,0 +DA:559,0 +DA:561,0 +DA:563,0 +DA:565,0 +LF:343 +LH:0 end_of_record SF:conjure_oxide/src/utils/testing.rs -FN:20,conjure_oxide::utils::testing::assert_eq_any_order::<_> -FN:41,conjure_oxide::utils::testing::serialise_model -FN:20,conjure_oxide::utils::testing::assert_eq_any_order::<_> -FN:148,conjure_oxide::utils::testing::save_minion_solutions_json -FN:20,conjure_oxide::utils::testing::assert_eq_any_order::<_> FN:53,conjure_oxide::utils::testing::save_model_json -FN:77,conjure_oxide::utils::testing::save_stats_json -FN:95,conjure_oxide::utils::testing::read_model_json -FN:95,conjure_oxide::utils::testing::read_model_json -FN:173,conjure_oxide::utils::testing::read_minion_solutions_json -FN:77,conjure_oxide::utils::testing::save_stats_json -FN:77,conjure_oxide::utils::testing::save_stats_json FN:110,conjure_oxide::utils::testing::minion_solutions_from_json -FN:41,conjure_oxide::utils::testing::serialise_model -FN:110,conjure_oxide::utils::testing::minion_solutions_from_json -FN:148,conjure_oxide::utils::testing::save_minion_solutions_json +FN:173,conjure_oxide::utils::testing::read_minion_solutions_json FN:95,conjure_oxide::utils::testing::read_model_json -FN:53,conjure_oxide::utils::testing::save_model_json +FN:148,conjure_oxide::utils::testing::save_minion_solutions_json FN:110,conjure_oxide::utils::testing::minion_solutions_from_json FN:173,conjure_oxide::utils::testing::read_minion_solutions_json +FN:20,conjure_oxide::utils::testing::assert_eq_any_order::<_> +FN:95,conjure_oxide::utils::testing::read_model_json +FN:148,conjure_oxide::utils::testing::save_minion_solutions_json +FN:41,conjure_oxide::utils::testing::serialise_model FN:41,conjure_oxide::utils::testing::serialise_model +FN:77,conjure_oxide::utils::testing::save_stats_json +FN:20,conjure_oxide::utils::testing::assert_eq_any_order::<_> FN:53,conjure_oxide::utils::testing::save_model_json -FN:173,conjure_oxide::utils::testing::read_minion_solutions_json -FN:148,conjure_oxide::utils::testing::save_minion_solutions_json -FNDA:0,conjure_oxide::utils::testing::assert_eq_any_order::<_> -FNDA:0,conjure_oxide::utils::testing::serialise_model -FNDA:0,conjure_oxide::utils::testing::assert_eq_any_order::<_> -FNDA:1,conjure_oxide::utils::testing::save_minion_solutions_json -FNDA:0,conjure_oxide::utils::testing::assert_eq_any_order::<_> +FN:77,conjure_oxide::utils::testing::save_stats_json FNDA:0,conjure_oxide::utils::testing::save_model_json -FNDA:1,conjure_oxide::utils::testing::save_stats_json -FNDA:0,conjure_oxide::utils::testing::read_model_json -FNDA:0,conjure_oxide::utils::testing::read_model_json -FNDA:0,conjure_oxide::utils::testing::read_minion_solutions_json -FNDA:0,conjure_oxide::utils::testing::save_stats_json -FNDA:0,conjure_oxide::utils::testing::save_stats_json -FNDA:0,conjure_oxide::utils::testing::minion_solutions_from_json -FNDA:0,conjure_oxide::utils::testing::serialise_model FNDA:0,conjure_oxide::utils::testing::minion_solutions_from_json +FNDA:0,conjure_oxide::utils::testing::read_minion_solutions_json +FNDA:0,conjure_oxide::utils::testing::read_model_json FNDA:0,conjure_oxide::utils::testing::save_minion_solutions_json -FNDA:1,conjure_oxide::utils::testing::read_model_json -FNDA:1,conjure_oxide::utils::testing::save_model_json FNDA:0,conjure_oxide::utils::testing::minion_solutions_from_json -FNDA:1,conjure_oxide::utils::testing::read_minion_solutions_json -FNDA:1,conjure_oxide::utils::testing::serialise_model -FNDA:0,conjure_oxide::utils::testing::save_model_json FNDA:0,conjure_oxide::utils::testing::read_minion_solutions_json +FNDA:0,conjure_oxide::utils::testing::assert_eq_any_order::<_> +FNDA:0,conjure_oxide::utils::testing::read_model_json FNDA:0,conjure_oxide::utils::testing::save_minion_solutions_json -FNF:24 -FNH:6 +FNDA:0,conjure_oxide::utils::testing::serialise_model +FNDA:0,conjure_oxide::utils::testing::serialise_model +FNDA:0,conjure_oxide::utils::testing::save_stats_json +FNDA:0,conjure_oxide::utils::testing::assert_eq_any_order::<_> +FNDA:0,conjure_oxide::utils::testing::save_model_json +FNDA:0,conjure_oxide::utils::testing::save_stats_json +FNF:16 +FNH:0 BRF:0 BRH:0 DA:20,0 @@ -4170,56 +3258,56 @@ DA:35,0 DA:36,0 DA:37,0 DA:39,0 -DA:41,140 -DA:45,140 -DA:48,140 -DA:50,140 -DA:51,140 -DA:53,140 -DA:54,140 -DA:55,140 -DA:56,140 -DA:57,140 -DA:58,140 -DA:59,140 -DA:60,140 -DA:62,140 -DA:63,140 -DA:64,140 -DA:65,140 -DA:67,140 +DA:41,0 +DA:45,0 +DA:48,0 +DA:50,0 +DA:51,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:59,0 +DA:60,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:67,0 DA:68,0 DA:69,0 DA:70,0 DA:71,0 -DA:72,140 -DA:74,140 -DA:75,140 -DA:77,110 -DA:78,110 -DA:79,110 -DA:80,110 -DA:81,110 -DA:82,110 -DA:83,110 -DA:84,110 -DA:87,110 -DA:89,110 -DA:90,110 -DA:92,110 -DA:93,110 -DA:95,140 -DA:96,140 -DA:97,140 -DA:98,140 -DA:99,140 -DA:100,140 -DA:101,140 -DA:102,140 -DA:103,140 -DA:105,140 -DA:107,140 -DA:108,140 +DA:72,0 +DA:74,0 +DA:75,0 +DA:77,0 +DA:78,0 +DA:79,0 +DA:80,0 +DA:81,0 +DA:82,0 +DA:83,0 +DA:84,0 +DA:87,0 +DA:89,0 +DA:90,0 +DA:92,0 +DA:93,0 +DA:95,0 +DA:96,0 +DA:97,0 +DA:98,0 +DA:99,0 +DA:100,0 +DA:101,0 +DA:102,0 +DA:103,0 +DA:105,0 +DA:107,0 +DA:108,0 DA:110,0 DA:111,0 DA:112,0 @@ -4246,384 +3334,249 @@ DA:139,0 DA:142,0 DA:145,0 DA:146,0 -DA:148,70 -DA:149,70 -DA:150,70 -DA:151,70 -DA:152,70 -DA:153,70 -DA:154,70 -DA:156,70 -DA:158,70 -DA:159,70 -DA:160,70 -DA:161,70 -DA:163,70 +DA:148,0 +DA:149,0 +DA:150,0 +DA:151,0 +DA:152,0 +DA:153,0 +DA:154,0 +DA:156,0 +DA:158,0 +DA:159,0 +DA:160,0 +DA:161,0 +DA:163,0 DA:164,0 DA:165,0 DA:166,0 DA:167,0 -DA:168,70 -DA:170,70 -DA:171,70 -DA:173,70 -DA:174,70 -DA:175,70 -DA:176,70 -DA:177,70 -DA:178,70 -DA:179,70 -DA:181,70 -DA:182,70 -DA:184,70 -DA:185,70 +DA:168,0 +DA:170,0 +DA:171,0 +DA:173,0 +DA:174,0 +DA:175,0 +DA:176,0 +DA:177,0 +DA:178,0 +DA:179,0 +DA:181,0 +DA:182,0 +DA:184,0 +DA:185,0 LF:123 -LH:73 +LH:0 end_of_record SF:crates/conjure_core/src/solver/mod.rs FN:215,<_ as conjure_core::solver::SolverAdaptor>::init_solver -FN:128,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> -FN:120,::len -FN:357,>::save_stats_to_context -FN:226,::add_adaptor_info_to_stats -FN:119,::from_str -FN:226,::add_adaptor_info_to_stats -FN:267,>::get_family -FN:120,::iter -FN:119,::from_str +FN:317,>::solve_mut +FN:215,::init_solver +FN:120,::get +FN:317,>::solve_mut FN:376,::fmt -FN:273,>::load_model FN:128,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> +FN:284,>::solve +FN:128,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> +FN:352,>::stats +FN:128,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> FN:119,>::try_from -FN:128,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FN:215,<_ as conjure_core::solver::SolverAdaptor>::init_solver -FN:128,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> -FN:352,>::stats -FN:273,>::load_model -FN:357,>::save_stats_to_context -FN:120,::get -FN:273,>::load_model -FN:284,>::solve -FN:120,::len -FN:221,<_ as conjure_core::solver::SolverAdaptor>::get_name -FN:369,>::wall_time_s FN:128,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FN:357,>::save_stats_to_context -FN:256,>::new -FN:128,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FN:25,rust_out::main::_doctest_main_crates_conjure_core_src_solver_mod_rs_24_0 -FN:120,::nth -FN:284,>::solve -FN:120,::clone -FN:128,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> -FN:128,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> -FN:120,::size_hint FN:119,>::try_from -FN:273,>::load_model +FN:376,::fmt +FN:267,>::get_family +FN:273,>::load_model FN:369,>::wall_time_s -FN:120,::iter -FN:256,>::new -FN:256,>::new -FN:352,>::stats -FN:121,::fmt -FN:317,>::solve_mut -FN:120,::fmt -FN:120,::nth -FN:317,>::solve_mut FN:357,>::save_stats_to_context -FN:128,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FN:120,::next -FN:273,>::load_model -FN:226,<_ as conjure_core::solver::SolverAdaptor>::add_adaptor_info_to_stats -FN:267,>::get_family -FN:352,>::stats -FN:215,<_ as conjure_core::solver::SolverAdaptor>::init_solver -FN:256,>::new +FN:120,::iter +FN:221,<_ as conjure_core::solver::SolverAdaptor>::get_name +FN:128,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> +FN:120,::size_hint +FN:226,::add_adaptor_info_to_stats FN:273,>::load_model -FN:352,>::stats -FN:120,::clone -FN:120,::get -FN:226,<_ as conjure_core::solver::SolverAdaptor>::add_adaptor_info_to_stats -FN:121,::fmt -FN:25,rust_out::main -FN:128,<::deserialize::__Visitor as serde::de::Visitor>::expecting FN:357,>::save_stats_to_context +FN:120,::clone FN:120,::fmt -FN:352,>::stats -FN:221,<_ as conjure_core::solver::SolverAdaptor>::get_name -FN:128,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> -FN:128,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FN:215,::init_solver -FN:376,::fmt -FN:256,>::new -FN:128,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FN:120,::get -FN:119,>::try_from +FN:120,::next +FN:128,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting +FN:120,::len +FN:121,::fmt +FN:352,>::stats FN:120,::nth -FN:376,::fmt -FN:128,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> FN:284,>::solve -FN:121,::fmt -FN:256,>::new -FN:284,>::solve -FN:59,rust_out::main::_doctest_main_crates_conjure_core_src_solver_mod_rs_24_0::{closure#0} +FN:221,<_ as conjure_core::solver::SolverAdaptor>::get_name FN:120,::iter +FN:284,>::solve +FN:121,::fmt +FN:128,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> FN:120,::next FN:119,::from_str +FN:369,>::wall_time_s +FN:120,::nth +FN:273,>::load_model FN:128,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FN:317,>::solve_mut +FN:128,<::deserialize::__Visitor as serde::de::Visitor>::expecting +FN:120,::get +FN:357,>::save_stats_to_context +FN:128,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> +FN:128,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> +FN:120,::size_hint FN:120,::fmt +FN:267,>::get_family FN:226,<_ as conjure_core::solver::SolverAdaptor>::add_adaptor_info_to_stats -FN:128,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FN:221,<_ as conjure_core::solver::SolverAdaptor>::get_name -FN:120,::len FN:120,::next_back -FN:128,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FN:369,>::wall_time_s -FN:226,::add_adaptor_info_to_stats -FN:120,::next_back -FN:267,>::get_family -FN:128,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FN:120,::size_hint -FN:215,::init_solver -FN:128,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> +FN:256,>::new +FN:352,>::stats +FN:120,::len FN:120,::clone -FN:128,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FN:215,::init_solver -FN:120,::size_hint +FN:226,<_ as conjure_core::solver::SolverAdaptor>::add_adaptor_info_to_stats +FN:128,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting FN:120,::next_back -FN:120,::next -FN:284,>::solve -FN:284,>::solve -FN:128,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> +FN:215,<_ as conjure_core::solver::SolverAdaptor>::init_solver +FN:256,>::new +FN:128,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> +FN:128,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> +FN:256,>::new +FN:119,::from_str FNDA:0,<_ as conjure_core::solver::SolverAdaptor>::init_solver +FNDA:0,>::solve_mut +FNDA:0,::init_solver +FNDA:0,::get +FNDA:0,>::solve_mut +FNDA:0,::fmt +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> +FNDA:0,>::solve FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> -FNDA:0,::len -FNDA:0,>::save_stats_to_context -FNDA:1,::add_adaptor_info_to_stats -FNDA:0,::from_str -FNDA:1,::add_adaptor_info_to_stats -FNDA:0,>::get_family -FNDA:0,::iter -FNDA:0,::from_str +FNDA:0,>::stats +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> +FNDA:0,>::try_from +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> +FNDA:0,>::try_from FNDA:0,::fmt +FNDA:0,>::get_family FNDA:0,>::load_model -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> -FNDA:0,>::try_from -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FNDA:0,<_ as conjure_core::solver::SolverAdaptor>::init_solver -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> -FNDA:0,>::stats -FNDA:1,>::load_model +FNDA:0,>::wall_time_s FNDA:0,>::save_stats_to_context -FNDA:0,::get -FNDA:1,>::load_model -FNDA:0,>::solve -FNDA:0,::len +FNDA:0,::iter FNDA:0,<_ as conjure_core::solver::SolverAdaptor>::get_name -FNDA:0,>::wall_time_s -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> +FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> +FNDA:0,::size_hint +FNDA:0,::add_adaptor_info_to_stats +FNDA:0,>::load_model FNDA:0,>::save_stats_to_context -FNDA:0,>::new -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FNDA:1,rust_out::main::_doctest_main_crates_conjure_core_src_solver_mod_rs_24_0 -FNDA:0,::nth -FNDA:0,>::solve FNDA:0,::clone -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> -FNDA:0,::size_hint -FNDA:0,>::try_from -FNDA:0,>::load_model -FNDA:0,>::wall_time_s -FNDA:0,::iter -FNDA:1,>::new -FNDA:0,>::new -FNDA:0,>::stats -FNDA:0,::fmt -FNDA:0,>::solve_mut FNDA:0,::fmt -FNDA:0,::nth -FNDA:0,>::solve_mut -FNDA:1,>::save_stats_to_context -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> FNDA:0,::next -FNDA:0,>::load_model -FNDA:0,<_ as conjure_core::solver::SolverAdaptor>::add_adaptor_info_to_stats -FNDA:0,>::get_family -FNDA:0,>::stats -FNDA:0,<_ as conjure_core::solver::SolverAdaptor>::init_solver -FNDA:0,>::new -FNDA:0,>::load_model -FNDA:1,>::stats -FNDA:0,::clone -FNDA:0,::get -FNDA:0,<_ as conjure_core::solver::SolverAdaptor>::add_adaptor_info_to_stats +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting +FNDA:0,::len FNDA:0,::fmt -FNDA:1,rust_out::main -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FNDA:0,>::save_stats_to_context -FNDA:0,::fmt -FNDA:0,>::stats -FNDA:0,<_ as conjure_core::solver::SolverAdaptor>::get_name -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> -FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FNDA:0,::init_solver -FNDA:0,::fmt -FNDA:1,>::new -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FNDA:0,::get -FNDA:0,>::try_from +FNDA:0,>::stats FNDA:0,::nth -FNDA:0,::fmt -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> -FNDA:1,>::solve -FNDA:0,::fmt -FNDA:0,>::new -FNDA:0,>::solve -FNDA:1,rust_out::main::_doctest_main_crates_conjure_core_src_solver_mod_rs_24_0::{closure#0} +FNDA:0,>::solve +FNDA:0,<_ as conjure_core::solver::SolverAdaptor>::get_name FNDA:0,::iter +FNDA:0,>::solve +FNDA:0,::fmt +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> FNDA:0,::next FNDA:0,::from_str +FNDA:0,>::wall_time_s +FNDA:0,::nth +FNDA:0,>::load_model FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FNDA:0,>::solve_mut +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::expecting +FNDA:0,::get +FNDA:0,>::save_stats_to_context +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> +FNDA:0,::size_hint FNDA:0,::fmt +FNDA:0,>::get_family FNDA:0,<_ as conjure_core::solver::SolverAdaptor>::add_adaptor_info_to_stats -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FNDA:0,<_ as conjure_core::solver::SolverAdaptor>::get_name -FNDA:0,::len -FNDA:0,::next_back -FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FNDA:0,>::wall_time_s -FNDA:0,::add_adaptor_info_to_stats FNDA:0,::next_back -FNDA:0,>::get_family -FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FNDA:0,::size_hint -FNDA:1,::init_solver -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> +FNDA:0,>::new +FNDA:0,>::stats +FNDA:0,::len FNDA:0,::clone -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FNDA:1,::init_solver -FNDA:0,::size_hint +FNDA:0,<_ as conjure_core::solver::SolverAdaptor>::add_adaptor_info_to_stats +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting FNDA:0,::next_back -FNDA:0,::next -FNDA:1,>::solve -FNDA:0,>::solve -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> -FNF:115 -FNH:15 +FNDA:0,<_ as conjure_core::solver::SolverAdaptor>::init_solver +FNDA:0,>::new +FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> +FNDA:0,>::new +FNDA:0,::from_str +FNF:69 +FNH:0 BRF:0 BRH:0 -DA:25,1 -DA:26,1 -DA:27,1 -DA:28,1 -DA:29,1 -DA:30,1 -DA:31,1 -DA:32,1 -DA:33,1 -DA:34,1 -DA:35,1 -DA:36,1 -DA:37,1 -DA:38,1 -DA:39,1 -DA:40,1 -DA:41,1 -DA:42,1 -DA:43,1 -DA:44,1 -DA:45,1 -DA:46,1 -DA:47,1 -DA:48,1 -DA:49,1 -DA:50,1 -DA:51,1 -DA:52,1 -DA:53,1 -DA:54,1 -DA:55,1 -DA:56,1 -DA:57,1 -DA:58,1 -DA:59,2 -DA:60,2 -DA:61,2 -DA:62,2 -DA:63,2 -DA:64,1 -DA:65,1 -DA:66,1 -DA:67,1 DA:119,0 DA:120,0 DA:121,0 DA:128,0 -DA:215,121 +DA:215,0 DA:221,0 DA:222,0 DA:223,0 -DA:226,121 -DA:227,121 -DA:228,121 -DA:229,121 -DA:230,121 -DA:231,121 -DA:232,121 -DA:256,121 -DA:257,121 -DA:258,121 -DA:259,121 -DA:260,121 -DA:261,121 -DA:262,121 -DA:263,121 -DA:264,121 -DA:265,121 +DA:226,0 +DA:227,0 +DA:228,0 +DA:229,0 +DA:230,0 +DA:231,0 +DA:232,0 +DA:256,0 +DA:257,0 +DA:258,0 +DA:259,0 +DA:260,0 +DA:261,0 +DA:262,0 +DA:263,0 +DA:264,0 +DA:265,0 DA:267,0 DA:268,0 DA:269,0 -DA:273,121 -DA:274,121 -DA:275,121 -DA:276,121 -DA:277,121 -DA:278,121 -DA:279,121 -DA:280,121 -DA:284,121 -DA:285,121 -DA:286,121 -DA:287,121 -DA:288,121 -DA:289,121 -DA:290,121 -DA:291,121 -DA:292,121 -DA:293,121 -DA:294,121 -DA:295,121 -DA:296,121 -DA:297,121 -DA:298,121 -DA:299,121 -DA:300,121 -DA:301,121 -DA:302,121 -DA:303,121 -DA:304,121 -DA:305,121 -DA:306,121 -DA:307,121 -DA:308,121 -DA:309,121 -DA:310,121 -DA:311,121 +DA:273,0 +DA:274,0 +DA:275,0 +DA:276,0 +DA:277,0 +DA:278,0 +DA:279,0 +DA:280,0 +DA:284,0 +DA:285,0 +DA:286,0 +DA:287,0 +DA:288,0 +DA:289,0 +DA:290,0 +DA:291,0 +DA:292,0 +DA:293,0 +DA:294,0 +DA:295,0 +DA:296,0 +DA:297,0 +DA:298,0 +DA:299,0 +DA:300,0 +DA:301,0 +DA:302,0 +DA:303,0 +DA:304,0 +DA:305,0 +DA:306,0 +DA:307,0 +DA:308,0 +DA:309,0 +DA:310,0 +DA:311,0 DA:313,0 -DA:315,121 +DA:315,0 DA:317,0 DA:318,0 DA:319,0 @@ -4654,161 +3607,117 @@ DA:343,0 DA:344,0 DA:346,0 DA:348,0 -DA:352,70 -DA:353,70 -DA:354,70 -DA:357,70 -DA:358,70 -DA:359,70 -DA:360,70 -DA:361,70 -DA:362,70 -DA:363,70 -DA:364,70 -DA:365,70 -DA:366,70 -DA:367,70 +DA:352,0 +DA:353,0 +DA:354,0 +DA:357,0 +DA:358,0 +DA:359,0 +DA:360,0 +DA:361,0 +DA:362,0 +DA:363,0 +DA:364,0 +DA:365,0 +DA:366,0 +DA:367,0 DA:369,0 DA:370,0 DA:371,0 DA:376,0 -LF:157 -LH:112 +LF:114 +LH:0 end_of_record SF:crates/conjure_core/src/solver/adaptors/sat_common.rs FN:315,::has_variable +FN:218,::handle_or FN:289,::fmt -FN:289,::fmt -FN:249,::handle_and -FN:102,::add_variable -FN:315,::has_variable -FN:315,::has_variable FN:154,::clause_to_expression -FN:37,::from_conjure -FN:284,::default +FN:85,::get_index +FN:29,::new +FN:130,::add_expression +FN:315,::has_variable +FN:205,::handle_not +FN:249,::handle_and FN:186,::get_reference_index -FN:321,<&conjure_core::ast::symbol_table::Name as conjure_core::solver::adaptors::sat_common::HasVariable>::has_variable -FN:117,::add_clause -FN:321,<&conjure_core::ast::symbol_table::Name as conjure_core::solver::adaptors::sat_common::HasVariable>::has_variable +FN:154,::clause_to_expression FN:218,::handle_or +FN:74,::get_variables +FN:272,::handle_expression FN:102,::add_variable +FN:90,::get_name +FN:249,::handle_and FN:284,::default -FN:198,::handle_reference -FN:110,::has_variable::<_> -FN:130,::add_expression -FN:141,::as_expression FN:234,::handle_flat_expression -FN:37,::from_conjure FN:284,::default -FN:272,::handle_expression -FN:186,::get_reference_index -FN:272,::handle_expression -FN:186,::get_reference_index -FN:74,::get_variables -FN:154,::clause_to_expression -FN:29,::new -FN:85,::get_index -FN:321,<&conjure_core::ast::symbol_table::Name as conjure_core::solver::adaptors::sat_common::HasVariable>::has_variable -FN:85,::get_index -FN:272,::handle_expression -FN:117,::add_clause FN:141,::as_expression -FN:154,::clause_to_expression -FN:205,::handle_not FN:37,::from_conjure FN:198,::handle_reference -FN:90,::get_name -FN:29,::new -FN:198,::handle_reference +FN:110,::has_variable:: FN:102,::add_variable +FN:74,::get_variables +FN:117,::add_clause +FN:37,::from_conjure +FN:29,::new FN:85,::get_index FN:234,::handle_flat_expression -FN:90,::get_name -FN:130,::add_expression -FN:234,::handle_flat_expression -FN:110,::has_variable:: -FN:249,::handle_and -FN:218,::handle_or -FN:29,::new +FN:186,::get_reference_index +FN:198,::handle_reference +FN:272,::handle_expression +FN:321,<&conjure_core::ast::symbol_table::Name as conjure_core::solver::adaptors::sat_common::HasVariable>::has_variable FN:130,::add_expression -FN:90,::get_name -FN:289,::fmt -FN:205,::handle_not -FN:249,::handle_and -FN:74,::get_variables -FN:117,::add_clause -FN:218,::handle_or -FN:141,::as_expression -FN:110,::has_variable:: -FN:74,::get_variables +FN:117,::add_clause +FN:289,::fmt FN:205,::handle_not +FN:90,::get_name +FN:110,::has_variable::<_> +FN:321,<&conjure_core::ast::symbol_table::Name as conjure_core::solver::adaptors::sat_common::HasVariable>::has_variable +FN:141,::as_expression FNDA:0,::has_variable +FNDA:0,::handle_or FNDA:0,::fmt -FNDA:0,::fmt -FNDA:0,::handle_and -FNDA:0,::add_variable -FNDA:0,::has_variable -FNDA:0,::has_variable FNDA:0,::clause_to_expression -FNDA:0,::from_conjure -FNDA:0,::default +FNDA:0,::get_index +FNDA:0,::new +FNDA:0,::add_expression +FNDA:0,::has_variable +FNDA:0,::handle_not +FNDA:0,::handle_and FNDA:0,::get_reference_index -FNDA:0,<&conjure_core::ast::symbol_table::Name as conjure_core::solver::adaptors::sat_common::HasVariable>::has_variable -FNDA:0,::add_clause -FNDA:0,<&conjure_core::ast::symbol_table::Name as conjure_core::solver::adaptors::sat_common::HasVariable>::has_variable +FNDA:0,::clause_to_expression FNDA:0,::handle_or +FNDA:0,::get_variables +FNDA:0,::handle_expression FNDA:0,::add_variable +FNDA:0,::get_name +FNDA:0,::handle_and FNDA:0,::default -FNDA:0,::handle_reference -FNDA:0,::has_variable::<_> -FNDA:0,::add_expression -FNDA:0,::as_expression FNDA:0,::handle_flat_expression -FNDA:0,::from_conjure FNDA:0,::default -FNDA:0,::handle_expression -FNDA:0,::get_reference_index -FNDA:0,::handle_expression -FNDA:0,::get_reference_index -FNDA:0,::get_variables -FNDA:0,::clause_to_expression -FNDA:0,::new -FNDA:0,::get_index -FNDA:0,<&conjure_core::ast::symbol_table::Name as conjure_core::solver::adaptors::sat_common::HasVariable>::has_variable -FNDA:0,::get_index -FNDA:0,::handle_expression -FNDA:0,::add_clause FNDA:0,::as_expression -FNDA:0,::clause_to_expression -FNDA:0,::handle_not FNDA:0,::from_conjure FNDA:0,::handle_reference -FNDA:0,::get_name -FNDA:0,::new -FNDA:0,::handle_reference +FNDA:0,::has_variable:: FNDA:0,::add_variable +FNDA:0,::get_variables +FNDA:0,::add_clause +FNDA:0,::from_conjure +FNDA:0,::new FNDA:0,::get_index FNDA:0,::handle_flat_expression -FNDA:0,::get_name -FNDA:0,::add_expression -FNDA:0,::handle_flat_expression -FNDA:0,::has_variable:: -FNDA:0,::handle_and -FNDA:0,::handle_or -FNDA:0,::new +FNDA:0,::get_reference_index +FNDA:0,::handle_reference +FNDA:0,::handle_expression +FNDA:0,<&conjure_core::ast::symbol_table::Name as conjure_core::solver::adaptors::sat_common::HasVariable>::has_variable FNDA:0,::add_expression -FNDA:0,::get_name +FNDA:0,::add_clause FNDA:0,::fmt FNDA:0,::handle_not -FNDA:0,::handle_and -FNDA:0,::get_variables -FNDA:0,::add_clause -FNDA:0,::handle_or +FNDA:0,::get_name +FNDA:0,::has_variable::<_> +FNDA:0,<&conjure_core::ast::symbol_table::Name as conjure_core::solver::adaptors::sat_common::HasVariable>::has_variable FNDA:0,::as_expression -FNDA:0,::has_variable:: -FNDA:0,::get_variables -FNDA:0,::handle_not -FNF:66 +FNF:44 FNH:0 BRF:0 BRH:0 @@ -4974,234 +3883,168 @@ LF:158 LH:0 end_of_record SF:crates/conjure_core/src/model.rs -FN:40,::new_empty -FN:40,::new_empty -FN:51,::get_domain::{closure#0} -FN:14,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> -FN:14,<::serialize::__SerializeWith as serde::ser::Serialize>::serialize:: -FN:14,<<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> -FN:14,::eq -FN:14,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> -FN:14,::eq -FN:14,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FN:77,::set_context -FN:14,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FN:14,<::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_> -FN:67,::set_constraints -FN:14,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: +FN:14,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0} FN:89,::add_constraints -FN:14,<<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_> -FN:67,::set_constraints -FN:50,::get_domain -FN:14,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::>::{closure#0} -FN:27,::new -FN:14,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::> -FN:14,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FN:14,<::serialize::__SerializeWith as serde::ser::Serialize>::serialize:: -FN:96,::gensym -FN:14,<<::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_> -FN:44,::update_domain +FN:14,::eq FN:14,<<::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> -FN:14,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::> -FN:44,::update_domain +FN:14,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting FN:14,<::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_> -FN:55,::add_variable -FN:89,::add_constraints FN:14,<::deserialize::__Field as serde::de::Deserialize>::deserialize::> -FN:14,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> +FN:14,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::> +FN:14,<<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_> +FN:14,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::> FN:14,<<::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_> -FN:96,::gensym -FN:14,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FN:14,::eq -FN:14,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0} -FN:77,::set_context -FN:14,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FN:81,::add_constraint -FN:14,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting FN:27,::new -FN:14,<<::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_> -FN:55,::add_variable -FN:96,::gensym -FN:14,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_> +FN:14,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> +FN:14,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> +FN:67,::set_constraints FN:14,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FN:14,<<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_> -FN:14,<<::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> -FN:89,::add_constraints -FN:55,::add_variable -FN:59,::get_constraints_vec +FN:14,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: FN:50,::get_domain FN:67,::set_constraints +FN:14,<::deserialize::__Visitor as serde::de::Visitor>::expecting +FN:44,::update_domain +FN:50,::get_domain FN:59,::get_constraints_vec -FN:14,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> +FN:14,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_> +FN:14,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> +FN:55,::add_variable FN:14,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> +FN:81,::add_constraint +FN:40,::new_empty +FN:77,::set_context FN:44,::update_domain -FN:14,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FN:51,::get_domain::{closure#0} +FN:14,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_> +FN:55,::add_variable FN:81,::add_constraint -FN:14,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FN:14,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0} FN:51,::get_domain::{closure#0} -FN:14,<::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_> -FN:14,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0} -FN:14,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:50,::get_domain -FN:40,::new_empty FN:77,::set_context +FN:14,<<::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_> FN:14,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> +FN:14,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> +FN:51,::get_domain::{closure#0} +FN:96,::gensym +FN:14,<::serialize::__SerializeWith as serde::ser::Serialize>::serialize:: +FN:96,::gensym FN:27,::new +FN:14,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting +FN:14,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> FN:14,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_> -FN:14,<::deserialize::__Field as serde::de::Deserialize>::deserialize::> -FN:14,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::> +FN:59,::get_constraints_vec +FN:89,::add_constraints +FN:40,::new_empty FN:14,<<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_> -FN:14,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: -FN:14,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::> -FN:14,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_> -FN:14,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_> FN:14,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::>::{closure#0} -FN:14,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_> -FN:59,::get_constraints_vec +FN:14,<::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_> +FN:14,::eq FN:14,<<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> -FN:14,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FN:14,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FN:81,::add_constraint -FN:14,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> -FNDA:0,::new_empty -FNDA:0,::new_empty -FNDA:0,::get_domain::{closure#0} -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> -FNDA:0,<::serialize::__SerializeWith as serde::ser::Serialize>::serialize:: -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> -FNDA:1,::eq -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> +FN:14,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> +FN:14,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_> +FN:14,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0} +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0} +FNDA:0,::add_constraints FNDA:0,::eq -FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FNDA:0,::set_context -FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> +FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting FNDA:0,<::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_> -FNDA:0,::set_constraints -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: -FNDA:0,::add_constraints +FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::> +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::> FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_> +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::> +FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_> +FNDA:0,::new +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> FNDA:0,::set_constraints +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::expecting +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: FNDA:0,::get_domain -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::>::{closure#0} -FNDA:1,::new -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::> +FNDA:0,::set_constraints FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FNDA:1,<::serialize::__SerializeWith as serde::ser::Serialize>::serialize:: -FNDA:1,::gensym -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_> FNDA:0,::update_domain -FNDA:1,<<::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::> -FNDA:1,::update_domain -FNDA:0,<::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_> -FNDA:0,::add_variable -FNDA:0,::add_constraints -FNDA:1,<::deserialize::__Field as serde::de::Deserialize>::deserialize::> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_> -FNDA:0,::gensym -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FNDA:0,::eq -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0} -FNDA:0,::set_context -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FNDA:0,::add_constraint -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FNDA:0,::new -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_> -FNDA:0,::add_variable -FNDA:0,::gensym -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_> -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_> -FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> -FNDA:1,::add_constraints -FNDA:1,::add_variable -FNDA:1,::get_constraints_vec FNDA:0,::get_domain -FNDA:1,::set_constraints FNDA:0,::get_constraints_vec -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_> +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> +FNDA:0,::add_variable FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> +FNDA:0,::add_constraint +FNDA:0,::new_empty +FNDA:0,::set_context FNDA:0,::update_domain -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FNDA:0,::get_domain::{closure#0} +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_> +FNDA:0,::add_variable FNDA:0,::add_constraint -FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0} -FNDA:0,::get_domain::{closure#0} -FNDA:0,<::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_> -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0} -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,::get_domain -FNDA:1,::new_empty +FNDA:0,::get_domain::{closure#0} FNDA:0,::set_context +FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_map::__DeserializeWith as serde::de::Deserialize>::deserialize::<_> FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> +FNDA:0,::get_domain::{closure#0} +FNDA:0,::gensym +FNDA:0,<::serialize::__SerializeWith as serde::ser::Serialize>::serialize:: +FNDA:0,::gensym FNDA:0,::new +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting +FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_> -FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::> -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::> +FNDA:0,::get_constraints_vec +FNDA:0,::add_constraints +FNDA:0,::new_empty FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<_> -FNDA:1,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: -FNDA:1,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::> -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_map::<_> -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_> FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::>::{closure#0} -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_> -FNDA:0,::get_constraints_vec +FNDA:0,<::serialize::__SerializeWith as serde::ser::Serialize>::serialize::<_> +FNDA:0,::eq FNDA:0,<<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::__DeserializeWith as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FNDA:0,::add_constraint -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> -FNF:91 -FNH:14 +FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_> +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_seq::<_>::{closure#0} +FNF:58 +FNH:0 BRF:0 BRH:0 -DA:14,980 -DA:27,2096250 -DA:28,2096250 -DA:29,2096250 -DA:30,2096250 -DA:31,2096250 -DA:32,2096250 -DA:33,2096250 -DA:34,2096250 -DA:35,2096250 -DA:36,2096250 -DA:37,2096250 -DA:38,2096250 -DA:40,2095950 -DA:41,2095950 -DA:42,2095950 -DA:44,15 -DA:45,15 -DA:46,15 -DA:47,15 -DA:48,15 +DA:14,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:48,0 DA:50,0 DA:51,0 DA:52,0 -DA:55,540 -DA:56,540 -DA:57,540 -DA:59,645 -DA:60,645 -DA:61,300 -DA:62,255 -DA:63,90 -DA:65,645 -DA:67,270 -DA:68,270 +DA:55,0 +DA:56,0 +DA:57,0 +DA:59,0 +DA:60,0 +DA:61,0 +DA:62,0 +DA:63,0 +DA:65,0 +DA:67,0 +DA:68,0 DA:69,0 -DA:70,270 -DA:71,225 -DA:72,225 -DA:73,45 -DA:74,45 -DA:75,270 +DA:70,0 +DA:71,0 +DA:72,0 +DA:73,0 +DA:74,0 +DA:75,0 DA:77,0 DA:78,0 DA:79,0 @@ -5212,79 +4055,79 @@ DA:84,0 DA:85,0 DA:86,0 DA:87,0 -DA:89,270 -DA:90,270 -DA:91,270 -DA:92,270 -DA:93,270 -DA:96,135 -DA:97,135 -DA:98,135 -DA:99,135 -DA:100,135 +DA:89,0 +DA:90,0 +DA:91,0 +DA:92,0 +DA:93,0 +DA:96,0 +DA:97,0 +DA:98,0 +DA:99,0 +DA:100,0 LF:62 -LH:48 +LH:0 end_of_record SF:crates/uniplate/src/biplate.rs -FN:70,::universe -FN:79,::children -FN:52,<_ as uniplate::biplate::Biplate<_>>::transform_bi -FN:48,<_ as uniplate::biplate::Biplate<_>>::children_bi -FN:48,>::children_bi +FN:79,<_ as uniplate::biplate::Uniplate>::children +FN:54,<_ as uniplate::biplate::Biplate<_>>::transform_bi::{closure#0} FN:43,>::universe_bi::{closure#0} -FN:28,<_ as uniplate::biplate::Biplate<_>>::descend_bi FN:106,<_ as uniplate::biplate::Uniplate>::transform +FN:70,<_ as uniplate::biplate::Uniplate>::universe +FN:40,<_ as uniplate::biplate::Biplate<_>>::universe_bi FN:43,<_ as uniplate::biplate::Biplate<_>>::universe_bi::{closure#0} FN:110,<_ as uniplate::biplate::Uniplate>::transform::{closure#0} -FN:142,<_ as uniplate::biplate::Uniplate>::cata::<_>::{closure#0} +FN:115,<_ as uniplate::biplate::Uniplate>::rewrite +FN:28,<_ as uniplate::biplate::Biplate<_>>::descend_bi +FN:138,<_ as uniplate::biplate::Uniplate>::cata::<_> FN:64,<_ as uniplate::biplate::Uniplate>::descend -FN:40,<_ as uniplate::biplate::Biplate<_>>::universe_bi +FN:48,<_ as uniplate::biplate::Biplate<_>>::children_bi FN:119,<_ as uniplate::biplate::Uniplate>::rewrite::{closure#0} -FN:70,<_ as uniplate::biplate::Uniplate>::universe +FN:79,::children +FN:48,>::children_bi +FN:70,::universe FN:90,<_ as uniplate::biplate::Uniplate>::with_children -FN:54,<_ as uniplate::biplate::Biplate<_>>::transform_bi::{closure#0} FN:40,>::universe_bi -FN:138,<_ as uniplate::biplate::Uniplate>::cata::<_> -FN:79,<_ as uniplate::biplate::Uniplate>::children -FN:115,<_ as uniplate::biplate::Uniplate>::rewrite -FNDA:1,::universe -FNDA:1,::children -FNDA:0,<_ as uniplate::biplate::Biplate<_>>::transform_bi -FNDA:0,<_ as uniplate::biplate::Biplate<_>>::children_bi -FNDA:1,>::children_bi -FNDA:1,>::universe_bi::{closure#0} -FNDA:0,<_ as uniplate::biplate::Biplate<_>>::descend_bi +FN:142,<_ as uniplate::biplate::Uniplate>::cata::<_>::{closure#0} +FN:52,<_ as uniplate::biplate::Biplate<_>>::transform_bi +FNDA:0,<_ as uniplate::biplate::Uniplate>::children +FNDA:0,<_ as uniplate::biplate::Biplate<_>>::transform_bi::{closure#0} +FNDA:0,>::universe_bi::{closure#0} FNDA:0,<_ as uniplate::biplate::Uniplate>::transform +FNDA:0,<_ as uniplate::biplate::Uniplate>::universe +FNDA:0,<_ as uniplate::biplate::Biplate<_>>::universe_bi FNDA:0,<_ as uniplate::biplate::Biplate<_>>::universe_bi::{closure#0} FNDA:0,<_ as uniplate::biplate::Uniplate>::transform::{closure#0} -FNDA:0,<_ as uniplate::biplate::Uniplate>::cata::<_>::{closure#0} +FNDA:0,<_ as uniplate::biplate::Uniplate>::rewrite +FNDA:0,<_ as uniplate::biplate::Biplate<_>>::descend_bi +FNDA:0,<_ as uniplate::biplate::Uniplate>::cata::<_> FNDA:0,<_ as uniplate::biplate::Uniplate>::descend -FNDA:0,<_ as uniplate::biplate::Biplate<_>>::universe_bi +FNDA:0,<_ as uniplate::biplate::Biplate<_>>::children_bi FNDA:0,<_ as uniplate::biplate::Uniplate>::rewrite::{closure#0} -FNDA:0,<_ as uniplate::biplate::Uniplate>::universe +FNDA:0,::children +FNDA:0,>::children_bi +FNDA:0,::universe FNDA:0,<_ as uniplate::biplate::Uniplate>::with_children -FNDA:0,<_ as uniplate::biplate::Biplate<_>>::transform_bi::{closure#0} -FNDA:1,>::universe_bi -FNDA:0,<_ as uniplate::biplate::Uniplate>::cata::<_> -FNDA:0,<_ as uniplate::biplate::Uniplate>::children -FNDA:0,<_ as uniplate::biplate::Uniplate>::rewrite +FNDA:0,>::universe_bi +FNDA:0,<_ as uniplate::biplate::Uniplate>::cata::<_>::{closure#0} +FNDA:0,<_ as uniplate::biplate::Biplate<_>>::transform_bi FNF:21 -FNH:5 +FNH:0 BRF:0 BRH:0 DA:28,0 DA:29,0 DA:30,0 DA:31,0 -DA:40,1 -DA:41,1 -DA:42,1 -DA:43,4 -DA:44,1 -DA:45,1 -DA:48,2 -DA:49,2 -DA:50,2 +DA:40,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:48,0 +DA:49,0 +DA:50,0 DA:52,0 DA:53,0 DA:54,0 @@ -5293,17 +4136,17 @@ DA:64,0 DA:65,0 DA:66,0 DA:67,0 -DA:70,8 -DA:71,8 -DA:72,8 -DA:73,4 -DA:74,4 -DA:75,8 -DA:76,8 -DA:79,8 -DA:80,8 -DA:81,8 -DA:82,8 +DA:70,0 +DA:71,0 +DA:72,0 +DA:73,0 +DA:74,0 +DA:75,0 +DA:76,0 +DA:79,0 +DA:80,0 +DA:81,0 +DA:82,0 DA:90,0 DA:91,0 DA:92,0 @@ -5342,28 +4185,22 @@ DA:142,0 DA:143,0 DA:144,0 LF:69 -LH:20 +LH:0 end_of_record SF:crates/conjure_core/src/rules/cnf.rs -FN:12,conjure_core::rules::cnf::CONJURE_GEN_RULE_SET_CNF::__typecheck FN:12,conjure_core::rules::cnf::CONJURE_GEN_RULE_SET_CNF::__typecheck::{closure#0} FN:12,conjure_core::rules::cnf::CONJURE_GEN_RULE_SET_CNF::__typecheck::{closure#0} +FN:12,conjure_core::rules::cnf::CONJURE_GEN_RULE_SET_CNF::__typecheck::{closure#0}::{closure#0} FN:12,conjure_core::rules::cnf::CONJURE_GEN_RULE_SET_CNF::__typecheck FN:12,conjure_core::rules::cnf::CONJURE_GEN_RULE_SET_CNF::__typecheck -FN:12,conjure_core::rules::cnf::CONJURE_GEN_RULE_SET_CNF::__typecheck::{closure#0} FN:12,conjure_core::rules::cnf::CONJURE_GEN_RULE_SET_CNF::__typecheck::{closure#0}::{closure#0} -FN:12,conjure_core::rules::cnf::CONJURE_GEN_RULE_SET_CNF::__typecheck::{closure#0}::{closure#0} -FN:12,conjure_core::rules::cnf::CONJURE_GEN_RULE_SET_CNF::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::cnf::CONJURE_GEN_RULE_SET_CNF::__typecheck FNDA:0,conjure_core::rules::cnf::CONJURE_GEN_RULE_SET_CNF::__typecheck::{closure#0} FNDA:0,conjure_core::rules::cnf::CONJURE_GEN_RULE_SET_CNF::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::cnf::CONJURE_GEN_RULE_SET_CNF::__typecheck::{closure#0}::{closure#0} FNDA:0,conjure_core::rules::cnf::CONJURE_GEN_RULE_SET_CNF::__typecheck FNDA:0,conjure_core::rules::cnf::CONJURE_GEN_RULE_SET_CNF::__typecheck -FNDA:0,conjure_core::rules::cnf::CONJURE_GEN_RULE_SET_CNF::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::cnf::CONJURE_GEN_RULE_SET_CNF::__typecheck::{closure#0}::{closure#0} FNDA:0,conjure_core::rules::cnf::CONJURE_GEN_RULE_SET_CNF::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::cnf::CONJURE_GEN_RULE_SET_CNF::__typecheck::{closure#0}::{closure#0} -FNF:9 +FNF:6 FNH:0 BRF:0 BRH:0 @@ -5372,109 +4209,77 @@ LF:1 LH:0 end_of_record SF:crates/conjure_core/src/ast/constants.rs -FN:5,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FN:14,>::try_from -FN:5,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FN:5,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> -FN:5,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: -FN:5,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> -FN:5,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FN:14,>::try_from -FN:33,>::from -FN:39,>::from -FN:39,>::from -FN:5,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FN:5,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> -FN:5,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FN:5,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting FN:24,>::try_from FN:5,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> FN:14,>::try_from -FN:5,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: -FN:5,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> FN:45,::fmt -FN:5,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FN:33,>::from -FN:5,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> FN:5,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FN:45,::fmt -FN:5,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> -FN:5,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FN:5,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> FN:5,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FN:5,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> -FN:33,>::from -FN:5,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> -FN:24,>::try_from FN:24,>::try_from -FN:5,<::deserialize::__Visitor as serde::de::Visitor>::expecting FN:5,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FN:5,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> -FN:5,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> FN:5,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> +FN:33,>::from FN:39,>::from +FN:5,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> +FN:5,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> +FN:5,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting +FN:5,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> +FN:5,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> FN:5,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> -FN:45,::fmt +FN:5,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: +FN:5,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> +FN:33,>::from +FN:5,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> +FN:14,>::try_from FN:5,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> -FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FNDA:1,>::try_from -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FNDA:1,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: +FN:5,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> +FN:5,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting +FN:5,<::deserialize::__Visitor as serde::de::Visitor>::expecting +FN:45,::fmt +FN:39,>::from +FNDA:0,>::try_from FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting FNDA:0,>::try_from +FNDA:0,::fmt +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::expecting +FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> +FNDA:0,>::try_from +FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> FNDA:0,>::from FNDA:0,>::from -FNDA:0,>::from +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FNDA:0,>::try_from -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> -FNDA:1,>::try_from -FNDA:1,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> -FNDA:0,::fmt -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FNDA:0,>::from -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FNDA:0,::fmt -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> -FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> FNDA:0,>::from -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> -FNDA:0,>::try_from -FNDA:1,>::try_from -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> +FNDA:0,>::try_from +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> -FNDA:0,>::from -FNDA:1,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::expecting FNDA:0,::fmt -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> -FNF:44 -FNH:6 +FNDA:0,>::from +FNF:28 +FNH:0 BRF:0 BRH:0 -DA:5,430 -DA:14,632 -DA:15,632 -DA:16,587 -DA:17,45 -DA:19,632 -DA:24,255 -DA:25,255 -DA:26,105 -DA:27,150 -DA:29,255 +DA:5,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:19,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:29,0 DA:33,0 DA:34,0 DA:35,0 @@ -5487,844 +4292,585 @@ DA:47,0 DA:48,0 DA:50,0 LF:22 -LH:11 +LH:0 end_of_record SF:solvers/minion/src/scoped_ptr.rs -FN:24, as core::ops::drop::Drop>::drop FN:24, as core::ops::drop::Drop>::drop -FN:17,>::new -FN:24, as core::ops::drop::Drop>::drop -FN:17,>::new -FN:24, as core::ops::drop::Drop>::drop FN:17,>::new +FN:24, as core::ops::drop::Drop>::drop FN:24, as core::ops::drop::Drop>::drop -FN:17,>::new -FN:24, as core::ops::drop::Drop>::drop -FN:17,>::new FN:17,>::new -FN:24, as core::ops::drop::Drop>::drop FN:17,>::new -FNDA:1, as core::ops::drop::Drop>::drop -FNDA:1, as core::ops::drop::Drop>::drop -FNDA:1,>::new -FNDA:1, as core::ops::drop::Drop>::drop -FNDA:0,>::new -FNDA:0, as core::ops::drop::Drop>::drop +FN:24, as core::ops::drop::Drop>::drop +FN:17,>::new +FNDA:0, as core::ops::drop::Drop>::drop FNDA:0,>::new +FNDA:0, as core::ops::drop::Drop>::drop FNDA:0, as core::ops::drop::Drop>::drop -FNDA:1,>::new -FNDA:0, as core::ops::drop::Drop>::drop -FNDA:1,>::new FNDA:0,>::new -FNDA:0, as core::ops::drop::Drop>::drop FNDA:0,>::new -FNF:14 -FNH:6 +FNDA:0, as core::ops::drop::Drop>::drop +FNDA:0,>::new +FNF:8 +FNH:0 BRF:0 BRH:0 -DA:17,61940 -DA:18,61940 -DA:19,61940 -DA:24,61940 -DA:25,61940 -DA:26,61940 +DA:17,0 +DA:18,0 +DA:19,0 +DA:24,0 +DA:25,0 +DA:26,0 LF:6 -LH:6 +LH:0 end_of_record SF:solvers/minion/src/ffi.rs -FN:16,hello_from_rust FN:26,minion_rs::ffi::tests::xyz_raw -FNDA:1,hello_from_rust -FNDA:1,minion_rs::ffi::tests::xyz_raw +FN:16,hello_from_rust +FNDA:0,minion_rs::ffi::tests::xyz_raw +FNDA:0,hello_from_rust FNF:2 -FNH:2 +FNH:0 BRF:0 BRH:0 -DA:16,1 -DA:17,1 -DA:18,1 -DA:19,1 -DA:20,1 -DA:21,1 -DA:22,1 -DA:23,1 -DA:26,1 -DA:27,1 -DA:28,1 -DA:29,1 -DA:30,1 -DA:31,1 -DA:32,1 -DA:33,1 -DA:34,1 -DA:35,1 -DA:36,1 -DA:37,1 -DA:38,1 -DA:39,1 -DA:40,1 -DA:41,1 -DA:42,1 -DA:43,1 -DA:44,1 -DA:45,1 -DA:46,1 -DA:47,1 -DA:48,1 -DA:49,1 -DA:50,1 -DA:51,1 -DA:52,1 -DA:53,1 -DA:54,1 -DA:55,1 -DA:56,1 -DA:57,1 -DA:58,1 -DA:59,1 -DA:60,1 -DA:61,1 -DA:62,1 -DA:63,1 -DA:64,1 -DA:65,1 -DA:66,1 -DA:67,1 -DA:68,1 -DA:69,1 -DA:70,1 -DA:71,1 -DA:72,1 -DA:73,1 -DA:74,1 -DA:75,1 -DA:76,1 -DA:77,1 -DA:78,1 -DA:79,1 -DA:80,1 -DA:81,1 -DA:82,1 -DA:83,1 -DA:84,1 -DA:85,1 -DA:86,1 -DA:87,1 -DA:88,1 -DA:89,1 -DA:90,1 -DA:91,1 -DA:92,1 -DA:93,1 -DA:94,1 -DA:95,1 -DA:96,1 -DA:97,1 -DA:100,1 -DA:101,1 -DA:102,1 -DA:104,1 +DA:16,0 +DA:17,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:21,0 +DA:22,0 +DA:23,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:59,0 +DA:60,0 +DA:61,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:68,0 +DA:69,0 +DA:70,0 +DA:71,0 +DA:72,0 +DA:73,0 +DA:74,0 +DA:75,0 +DA:76,0 +DA:77,0 +DA:78,0 +DA:79,0 +DA:80,0 +DA:81,0 +DA:82,0 +DA:83,0 +DA:84,0 +DA:85,0 +DA:86,0 +DA:87,0 +DA:88,0 +DA:89,0 +DA:90,0 +DA:91,0 +DA:92,0 +DA:93,0 +DA:94,0 +DA:95,0 +DA:96,0 +DA:97,0 +DA:100,0 +DA:101,0 +DA:102,0 +DA:104,0 LF:84 -LH:84 +LH:0 end_of_record SF:crates/conjure_core/src/rules/minion.rs -FN:335,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_NEQ_TO_EQ::__typecheck::{closure#0} +FN:71,conjure_core::rules::minion::flatten_sum_geq FN:335,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_NEQ_TO_EQ::__typecheck::{closure#0}::{closure#0} +FN:213,conjure_core::rules::minion::geq_to_ineq +FN:112,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_EQ_TO_SUMEQ::__typecheck FN:232,conjure_core::rules::minion::CONJURE_GEN_RULE_LEQ_TO_INEQ::__typecheck::{closure#0}::{closure#0} FN:31,conjure_core::rules::minion::sum_to_vector -FN:172,conjure_core::rules::minion::CONJURE_GEN_RULE_LT_TO_INEQ::__typecheck::{closure#0}::{closure#0} -FN:232,conjure_core::rules::minion::CONJURE_GEN_RULE_LEQ_TO_INEQ::__typecheck::{closure#0} -FN:335,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_NEQ_TO_EQ::__typecheck::{closure#0}::{closure#0} -FN:70,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SUM_GEQ::__typecheck::{closure#0} -FN:19,conjure_core::rules::minion::is_nested_sum -FN:192,conjure_core::rules::minion::CONJURE_GEN_RULE_GT_TO_INEQ::__typecheck -FN:192,conjure_core::rules::minion::CONJURE_GEN_RULE_GT_TO_INEQ::__typecheck::{closure#0} -FN:212,conjure_core::rules::minion::CONJURE_GEN_RULE_GEQ_TO_INEQ::__typecheck::{closure#0}::{closure#0} -FN:92,conjure_core::rules::minion::sum_leq_to_sumleq -FN:232,conjure_core::rules::minion::CONJURE_GEN_RULE_LEQ_TO_INEQ::__typecheck::{closure#0} -FN:91,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_LEQ_TO_SUMLEQ::__typecheck -FN:213,conjure_core::rules::minion::geq_to_ineq -FN:265,conjure_core::rules::minion::flatten_safediv -FN:264,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SAFEDIV::__typecheck::{closure#0}::{closure#0} -FN:172,conjure_core::rules::minion::CONJURE_GEN_RULE_LT_TO_INEQ::__typecheck::{closure#0} -FN:335,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_NEQ_TO_EQ::__typecheck -FN:264,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SAFEDIV::__typecheck::{closure#0} -FN:172,conjure_core::rules::minion::CONJURE_GEN_RULE_LT_TO_INEQ::__typecheck::{closure#0} -FN:151,conjure_core::rules::minion::CONJURE_GEN_RULE_SUMEQ_TO_MINION::__typecheck::{closure#0} -FN:336,conjure_core::rules::minion::negated_neq_to_eq -FN:356,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_EQ_TO_NEQ::__typecheck::{closure#0}::{closure#0} -FN:91,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_LEQ_TO_SUMLEQ::__typecheck -FN:335,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_NEQ_TO_EQ::__typecheck::{closure#0} -FN:335,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_NEQ_TO_EQ::__typecheck -FN:212,conjure_core::rules::minion::CONJURE_GEN_RULE_GEQ_TO_INEQ::__typecheck -FN:335,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_NEQ_TO_EQ::__typecheck -FN:88,rust_out::main::_doctest_main_crates_conjure_core_src_rules_minion_rs_88_0 -FN:113,conjure_core::rules::minion::sum_eq_to_sumeq -FN:113,conjure_core::rules::minion::sum_eq_to_sumeq +FN:212,conjure_core::rules::minion::CONJURE_GEN_RULE_GEQ_TO_INEQ::__typecheck::{closure#0} FN:91,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_LEQ_TO_SUMLEQ::__typecheck::{closure#0} +FN:172,conjure_core::rules::minion::CONJURE_GEN_RULE_LT_TO_INEQ::__typecheck +FN:17,conjure_core::rules::minion::CONJURE_GEN_RULE_SET_MINION::__typecheck +FN:112,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_EQ_TO_SUMEQ::__typecheck::{closure#0}::{closure#0} +FN:151,conjure_core::rules::minion::CONJURE_GEN_RULE_SUMEQ_TO_MINION::__typecheck::{closure#0} +FN:335,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_NEQ_TO_EQ::__typecheck::{closure#0}::{closure#0} FN:212,conjure_core::rules::minion::CONJURE_GEN_RULE_GEQ_TO_INEQ::__typecheck::{closure#0}::{closure#0} -FN:232,conjure_core::rules::minion::CONJURE_GEN_RULE_LEQ_TO_INEQ::__typecheck -FN:213,conjure_core::rules::minion::geq_to_ineq -FN:303,conjure_core::rules::minion::CONJURE_GEN_RULE_DIV_EQ_TO_DIVEQ::__typecheck -FN:212,conjure_core::rules::minion::CONJURE_GEN_RULE_GEQ_TO_INEQ::__typecheck::{closure#0} -FN:265,conjure_core::rules::minion::flatten_safediv FN:303,conjure_core::rules::minion::CONJURE_GEN_RULE_DIV_EQ_TO_DIVEQ::__typecheck -FN:70,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SUM_GEQ::__typecheck -FN:152,conjure_core::rules::minion::sumeq_to_minion -FN:335,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_NEQ_TO_EQ::__typecheck::{closure#0} FN:91,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_LEQ_TO_SUMLEQ::__typecheck -FN:356,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_EQ_TO_NEQ::__typecheck::{closure#0} +FN:192,conjure_core::rules::minion::CONJURE_GEN_RULE_GT_TO_INEQ::__typecheck::{closure#0} FN:193,conjure_core::rules::minion::gt_to_ineq -FN:113,conjure_core::rules::minion::sum_eq_to_sumeq -FN:212,conjure_core::rules::minion::CONJURE_GEN_RULE_GEQ_TO_INEQ::__typecheck -FN:264,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SAFEDIV::__typecheck FN:172,conjure_core::rules::minion::CONJURE_GEN_RULE_LT_TO_INEQ::__typecheck::{closure#0}::{closure#0} -FN:193,conjure_core::rules::minion::gt_to_ineq -FN:232,conjure_core::rules::minion::CONJURE_GEN_RULE_LEQ_TO_INEQ::__typecheck -FN:233,conjure_core::rules::minion::leq_to_ineq -FN:209,rust_out::main::_doctest_main_crates_conjure_core_src_rules_minion_rs_209_0 -FN:70,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SUM_GEQ::__typecheck::{closure#0}::{closure#0} -FN:172,conjure_core::rules::minion::CONJURE_GEN_RULE_LT_TO_INEQ::__typecheck::{closure#0} -FN:193,conjure_core::rules::minion::gt_to_ineq -FN:112,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_EQ_TO_SUMEQ::__typecheck::{closure#0} -FN:192,conjure_core::rules::minion::CONJURE_GEN_RULE_GT_TO_INEQ::__typecheck::{closure#0}::{closure#0} -FN:17,conjure_core::rules::minion::CONJURE_GEN_RULE_SET_MINION::__typecheck -FN:152,conjure_core::rules::minion::sumeq_to_minion -FN:71,conjure_core::rules::minion::flatten_sum_geq -FN:151,conjure_core::rules::minion::CONJURE_GEN_RULE_SUMEQ_TO_MINION::__typecheck -FN:67,rust_out::main::_doctest_main_crates_conjure_core_src_rules_minion_rs_67_0 -FN:172,conjure_core::rules::minion::CONJURE_GEN_RULE_LT_TO_INEQ::__typecheck -FN:213,conjure_core::rules::minion::geq_to_ineq -FN:212,conjure_core::rules::minion::CONJURE_GEN_RULE_GEQ_TO_INEQ::__typecheck -FN:303,conjure_core::rules::minion::CONJURE_GEN_RULE_DIV_EQ_TO_DIVEQ::__typecheck::{closure#0}::{closure#0} -FN:303,conjure_core::rules::minion::CONJURE_GEN_RULE_DIV_EQ_TO_DIVEQ::__typecheck::{closure#0}::{closure#0} -FN:17,conjure_core::rules::minion::CONJURE_GEN_RULE_SET_MINION::__typecheck::{closure#0}::{closure#0} -FN:303,conjure_core::rules::minion::CONJURE_GEN_RULE_DIV_EQ_TO_DIVEQ::__typecheck::{closure#0}::{closure#0} -FN:91,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_LEQ_TO_SUMLEQ::__typecheck::{closure#0}::{closure#0} -FN:232,conjure_core::rules::minion::CONJURE_GEN_RULE_LEQ_TO_INEQ::__typecheck -FN:192,conjure_core::rules::minion::CONJURE_GEN_RULE_GT_TO_INEQ::__typecheck::{closure#0}::{closure#0} -FN:357,conjure_core::rules::minion::negated_eq_to_neq -FN:192,conjure_core::rules::minion::CONJURE_GEN_RULE_GT_TO_INEQ::__typecheck::{closure#0} +FN:264,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SAFEDIV::__typecheck::{closure#0} +FN:92,conjure_core::rules::minion::sum_leq_to_sumleq +FN:70,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SUM_GEQ::__typecheck::{closure#0} FN:304,conjure_core::rules::minion::div_eq_to_diveq -FN:17,conjure_core::rules::minion::CONJURE_GEN_RULE_SET_MINION::__typecheck::{closure#0} -FN:151,conjure_core::rules::minion::CONJURE_GEN_RULE_SUMEQ_TO_MINION::__typecheck::{closure#0}::{closure#0} FN:151,conjure_core::rules::minion::CONJURE_GEN_RULE_SUMEQ_TO_MINION::__typecheck::{closure#0}::{closure#0} -FN:212,conjure_core::rules::minion::CONJURE_GEN_RULE_GEQ_TO_INEQ::__typecheck::{closure#0} -FN:151,conjure_core::rules::minion::CONJURE_GEN_RULE_SUMEQ_TO_MINION::__typecheck::{closure#0} -FN:112,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_EQ_TO_SUMEQ::__typecheck -FN:233,conjure_core::rules::minion::leq_to_ineq -FN:229,rust_out::main::_doctest_main_crates_conjure_core_src_rules_minion_rs_229_0 -FN:303,conjure_core::rules::minion::CONJURE_GEN_RULE_DIV_EQ_TO_DIVEQ::__typecheck::{closure#0} -FN:357,conjure_core::rules::minion::negated_eq_to_neq FN:92,conjure_core::rules::minion::sum_leq_to_sumleq -FN:192,conjure_core::rules::minion::CONJURE_GEN_RULE_GT_TO_INEQ::__typecheck -FN:172,conjure_core::rules::minion::CONJURE_GEN_RULE_LT_TO_INEQ::__typecheck::{closure#0}::{closure#0} -FN:151,conjure_core::rules::minion::CONJURE_GEN_RULE_SUMEQ_TO_MINION::__typecheck FN:112,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_EQ_TO_SUMEQ::__typecheck::{closure#0} -FN:335,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_NEQ_TO_EQ::__typecheck::{closure#0}::{closure#0} -FN:192,conjure_core::rules::minion::CONJURE_GEN_RULE_GT_TO_INEQ::__typecheck -FN:70,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SUM_GEQ::__typecheck::{closure#0} -FN:232,conjure_core::rules::minion::CONJURE_GEN_RULE_LEQ_TO_INEQ::__typecheck::{closure#0}::{closure#0} -FN:71,conjure_core::rules::minion::flatten_sum_geq -FN:17,conjure_core::rules::minion::CONJURE_GEN_RULE_SET_MINION::__typecheck +FN:233,conjure_core::rules::minion::leq_to_ineq +FN:113,conjure_core::rules::minion::sum_eq_to_sumeq +FN:232,conjure_core::rules::minion::CONJURE_GEN_RULE_LEQ_TO_INEQ::__typecheck::{closure#0} FN:19,conjure_core::rules::minion::is_nested_sum -FN:70,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SUM_GEQ::__typecheck::{closure#0} -FN:192,conjure_core::rules::minion::CONJURE_GEN_RULE_GT_TO_INEQ::__typecheck::{closure#0}::{closure#0} -FN:172,conjure_core::rules::minion::CONJURE_GEN_RULE_LT_TO_INEQ::__typecheck -FN:109,rust_out::main::_doctest_main_crates_conjure_core_src_rules_minion_rs_109_0 -FN:356,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_EQ_TO_NEQ::__typecheck -FN:70,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SUM_GEQ::__typecheck -FN:303,conjure_core::rules::minion::CONJURE_GEN_RULE_DIV_EQ_TO_DIVEQ::__typecheck::{closure#0} -FN:31,conjure_core::rules::minion::sum_to_vector -FN:112,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_EQ_TO_SUMEQ::__typecheck -FN:169,rust_out::main -FN:31,conjure_core::rules::minion::sum_to_vector +FN:17,conjure_core::rules::minion::CONJURE_GEN_RULE_SET_MINION::__typecheck::{closure#0} +FN:192,conjure_core::rules::minion::CONJURE_GEN_RULE_GT_TO_INEQ::__typecheck FN:264,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SAFEDIV::__typecheck::{closure#0}::{closure#0} +FN:31,conjure_core::rules::minion::sum_to_vector +FN:335,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_NEQ_TO_EQ::__typecheck::{closure#0} +FN:17,conjure_core::rules::minion::CONJURE_GEN_RULE_SET_MINION::__typecheck::{closure#0}::{closure#0} +FN:91,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_LEQ_TO_SUMLEQ::__typecheck FN:173,conjure_core::rules::minion::lt_to_ineq -FN:151,conjure_core::rules::minion::CONJURE_GEN_RULE_SUMEQ_TO_MINION::__typecheck::{closure#0} -FN:152,conjure_core::rules::minion::sumeq_to_minion -FN:233,conjure_core::rules::minion::leq_to_ineq -FN:232,conjure_core::rules::minion::CONJURE_GEN_RULE_LEQ_TO_INEQ::__typecheck::{closure#0} -FN:264,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SAFEDIV::__typecheck -FN:356,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_EQ_TO_NEQ::__typecheck FN:91,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_LEQ_TO_SUMLEQ::__typecheck::{closure#0} -FN:189,rust_out::main::_doctest_main_crates_conjure_core_src_rules_minion_rs_189_0 -FN:212,conjure_core::rules::minion::CONJURE_GEN_RULE_GEQ_TO_INEQ::__typecheck::{closure#0}::{closure#0} +FN:233,conjure_core::rules::minion::leq_to_ineq +FN:212,conjure_core::rules::minion::CONJURE_GEN_RULE_GEQ_TO_INEQ::__typecheck +FN:172,conjure_core::rules::minion::CONJURE_GEN_RULE_LT_TO_INEQ::__typecheck::{closure#0}::{closure#0} +FN:113,conjure_core::rules::minion::sum_eq_to_sumeq +FN:70,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SUM_GEQ::__typecheck::{closure#0}::{closure#0} +FN:152,conjure_core::rules::minion::sumeq_to_minion +FN:303,conjure_core::rules::minion::CONJURE_GEN_RULE_DIV_EQ_TO_DIVEQ::__typecheck::{closure#0}::{closure#0} +FN:112,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_EQ_TO_SUMEQ::__typecheck::{closure#0} +FN:336,conjure_core::rules::minion::negated_neq_to_eq +FN:356,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_EQ_TO_NEQ::__typecheck::{closure#0}::{closure#0} +FN:172,conjure_core::rules::minion::CONJURE_GEN_RULE_LT_TO_INEQ::__typecheck::{closure#0} FN:91,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_LEQ_TO_SUMLEQ::__typecheck::{closure#0}::{closure#0} +FN:172,conjure_core::rules::minion::CONJURE_GEN_RULE_LT_TO_INEQ::__typecheck::{closure#0} +FN:192,conjure_core::rules::minion::CONJURE_GEN_RULE_GT_TO_INEQ::__typecheck +FN:357,conjure_core::rules::minion::negated_eq_to_neq +FN:335,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_NEQ_TO_EQ::__typecheck::{closure#0} +FN:151,conjure_core::rules::minion::CONJURE_GEN_RULE_SUMEQ_TO_MINION::__typecheck::{closure#0} +FN:192,conjure_core::rules::minion::CONJURE_GEN_RULE_GT_TO_INEQ::__typecheck::{closure#0}::{closure#0} +FN:265,conjure_core::rules::minion::flatten_safediv +FN:304,conjure_core::rules::minion::div_eq_to_diveq +FN:264,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SAFEDIV::__typecheck::{closure#0} +FN:172,conjure_core::rules::minion::CONJURE_GEN_RULE_LT_TO_INEQ::__typecheck +FN:335,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_NEQ_TO_EQ::__typecheck +FN:112,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_EQ_TO_SUMEQ::__typecheck::{closure#0}::{closure#0} FN:336,conjure_core::rules::minion::negated_neq_to_eq +FN:151,conjure_core::rules::minion::CONJURE_GEN_RULE_SUMEQ_TO_MINION::__typecheck::{closure#0}::{closure#0} +FN:212,conjure_core::rules::minion::CONJURE_GEN_RULE_GEQ_TO_INEQ::__typecheck::{closure#0} +FN:356,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_EQ_TO_NEQ::__typecheck::{closure#0} +FN:213,conjure_core::rules::minion::geq_to_ineq +FN:91,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_LEQ_TO_SUMLEQ::__typecheck::{closure#0}::{closure#0} +FN:192,conjure_core::rules::minion::CONJURE_GEN_RULE_GT_TO_INEQ::__typecheck::{closure#0}::{closure#0} FN:265,conjure_core::rules::minion::flatten_safediv +FN:70,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SUM_GEQ::__typecheck::{closure#0}::{closure#0} +FN:303,conjure_core::rules::minion::CONJURE_GEN_RULE_DIV_EQ_TO_DIVEQ::__typecheck::{closure#0} +FN:264,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SAFEDIV::__typecheck +FN:17,conjure_core::rules::minion::CONJURE_GEN_RULE_SET_MINION::__typecheck +FN:17,conjure_core::rules::minion::CONJURE_GEN_RULE_SET_MINION::__typecheck::{closure#0}::{closure#0} +FN:232,conjure_core::rules::minion::CONJURE_GEN_RULE_LEQ_TO_INEQ::__typecheck +FN:264,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SAFEDIV::__typecheck::{closure#0}::{closure#0} +FN:303,conjure_core::rules::minion::CONJURE_GEN_RULE_DIV_EQ_TO_DIVEQ::__typecheck::{closure#0} +FN:335,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_NEQ_TO_EQ::__typecheck FN:356,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_EQ_TO_NEQ::__typecheck::{closure#0}::{closure#0} FN:357,conjure_core::rules::minion::negated_eq_to_neq -FN:151,conjure_core::rules::minion::CONJURE_GEN_RULE_SUMEQ_TO_MINION::__typecheck::{closure#0}::{closure#0} -FN:303,conjure_core::rules::minion::CONJURE_GEN_RULE_DIV_EQ_TO_DIVEQ::__typecheck::{closure#0} +FN:232,conjure_core::rules::minion::CONJURE_GEN_RULE_LEQ_TO_INEQ::__typecheck::{closure#0}::{closure#0} +FN:70,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SUM_GEQ::__typecheck::{closure#0} +FN:173,conjure_core::rules::minion::lt_to_ineq +FN:212,conjure_core::rules::minion::CONJURE_GEN_RULE_GEQ_TO_INEQ::__typecheck::{closure#0}::{closure#0} +FN:193,conjure_core::rules::minion::gt_to_ineq +FN:19,conjure_core::rules::minion::is_nested_sum +FN:151,conjure_core::rules::minion::CONJURE_GEN_RULE_SUMEQ_TO_MINION::__typecheck +FN:232,conjure_core::rules::minion::CONJURE_GEN_RULE_LEQ_TO_INEQ::__typecheck::{closure#0} FN:303,conjure_core::rules::minion::CONJURE_GEN_RULE_DIV_EQ_TO_DIVEQ::__typecheck -FN:336,conjure_core::rules::minion::negated_neq_to_eq -FN:304,conjure_core::rules::minion::div_eq_to_diveq FN:151,conjure_core::rules::minion::CONJURE_GEN_RULE_SUMEQ_TO_MINION::__typecheck -FN:264,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SAFEDIV::__typecheck::{closure#0} -FN:91,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_LEQ_TO_SUMLEQ::__typecheck::{closure#0}::{closure#0} -FN:169,rust_out::main::_doctest_main_crates_conjure_core_src_rules_minion_rs_169_0 +FN:152,conjure_core::rules::minion::sumeq_to_minion +FN:70,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SUM_GEQ::__typecheck +FN:303,conjure_core::rules::minion::CONJURE_GEN_RULE_DIV_EQ_TO_DIVEQ::__typecheck::{closure#0}::{closure#0} +FN:70,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SUM_GEQ::__typecheck FN:192,conjure_core::rules::minion::CONJURE_GEN_RULE_GT_TO_INEQ::__typecheck::{closure#0} -FN:356,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_EQ_TO_NEQ::__typecheck::{closure#0} -FN:356,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_EQ_TO_NEQ::__typecheck::{closure#0}::{closure#0} -FN:212,conjure_core::rules::minion::CONJURE_GEN_RULE_GEQ_TO_INEQ::__typecheck::{closure#0} -FN:173,conjure_core::rules::minion::lt_to_ineq -FN:232,conjure_core::rules::minion::CONJURE_GEN_RULE_LEQ_TO_INEQ::__typecheck::{closure#0}::{closure#0} FN:264,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SAFEDIV::__typecheck -FN:112,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_EQ_TO_SUMEQ::__typecheck::{closure#0}::{closure#0} -FN:112,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_EQ_TO_SUMEQ::__typecheck::{closure#0}::{closure#0} -FN:17,conjure_core::rules::minion::CONJURE_GEN_RULE_SET_MINION::__typecheck::{closure#0} -FN:173,conjure_core::rules::minion::lt_to_ineq -FN:71,conjure_core::rules::minion::flatten_sum_geq +FN:356,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_EQ_TO_NEQ::__typecheck +FN:232,conjure_core::rules::minion::CONJURE_GEN_RULE_LEQ_TO_INEQ::__typecheck FN:17,conjure_core::rules::minion::CONJURE_GEN_RULE_SET_MINION::__typecheck::{closure#0} -FN:17,conjure_core::rules::minion::CONJURE_GEN_RULE_SET_MINION::__typecheck::{closure#0}::{closure#0} -FN:112,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_EQ_TO_SUMEQ::__typecheck::{closure#0}::{closure#0} -FN:264,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SAFEDIV::__typecheck::{closure#0}::{closure#0} -FN:112,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_EQ_TO_SUMEQ::__typecheck::{closure#0} -FN:70,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SUM_GEQ::__typecheck::{closure#0}::{closure#0} -FN:172,conjure_core::rules::minion::CONJURE_GEN_RULE_LT_TO_INEQ::__typecheck -FN:264,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SAFEDIV::__typecheck::{closure#0} -FN:17,conjure_core::rules::minion::CONJURE_GEN_RULE_SET_MINION::__typecheck::{closure#0}::{closure#0} -FN:148,rust_out::main::_doctest_main_crates_conjure_core_src_rules_minion_rs_148_0 -FN:112,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_EQ_TO_SUMEQ::__typecheck -FN:304,conjure_core::rules::minion::div_eq_to_diveq -FN:91,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_LEQ_TO_SUMLEQ::__typecheck::{closure#0} -FN:70,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SUM_GEQ::__typecheck::{closure#0}::{closure#0} FN:356,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_EQ_TO_NEQ::__typecheck -FN:70,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SUM_GEQ::__typecheck -FN:143,rust_out::main::_doctest_main_crates_conjure_core_src_rules_minion_rs_143_0 -FN:17,conjure_core::rules::minion::CONJURE_GEN_RULE_SET_MINION::__typecheck +FN:71,conjure_core::rules::minion::flatten_sum_geq +FN:212,conjure_core::rules::minion::CONJURE_GEN_RULE_GEQ_TO_INEQ::__typecheck FN:356,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_EQ_TO_NEQ::__typecheck::{closure#0} -FN:92,conjure_core::rules::minion::sum_leq_to_sumleq -FN:19,conjure_core::rules::minion::is_nested_sum -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_NEQ_TO_EQ::__typecheck::{closure#0} +FN:112,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_EQ_TO_SUMEQ::__typecheck +FNDA:0,conjure_core::rules::minion::flatten_sum_geq FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_NEQ_TO_EQ::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::minion::geq_to_ineq +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_EQ_TO_SUMEQ::__typecheck FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_LEQ_TO_INEQ::__typecheck::{closure#0}::{closure#0} FNDA:0,conjure_core::rules::minion::sum_to_vector -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_LT_TO_INEQ::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_LEQ_TO_INEQ::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_GEQ_TO_INEQ::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_LEQ_TO_SUMLEQ::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_LT_TO_INEQ::__typecheck +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SET_MINION::__typecheck +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_EQ_TO_SUMEQ::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUMEQ_TO_MINION::__typecheck::{closure#0} FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_NEQ_TO_EQ::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SUM_GEQ::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::minion::is_nested_sum -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_GT_TO_INEQ::__typecheck -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_GT_TO_INEQ::__typecheck::{closure#0} FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_GEQ_TO_INEQ::__typecheck::{closure#0}::{closure#0} -FNDA:1,conjure_core::rules::minion::sum_leq_to_sumleq -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_LEQ_TO_INEQ::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_DIV_EQ_TO_DIVEQ::__typecheck FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_LEQ_TO_SUMLEQ::__typecheck -FNDA:0,conjure_core::rules::minion::geq_to_ineq -FNDA:0,conjure_core::rules::minion::flatten_safediv -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SAFEDIV::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_LT_TO_INEQ::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_NEQ_TO_EQ::__typecheck +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_GT_TO_INEQ::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::minion::gt_to_ineq +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_LT_TO_INEQ::__typecheck::{closure#0}::{closure#0} FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SAFEDIV::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_LT_TO_INEQ::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUMEQ_TO_MINION::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::minion::negated_neq_to_eq -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_EQ_TO_NEQ::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_LEQ_TO_SUMLEQ::__typecheck -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_NEQ_TO_EQ::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_NEQ_TO_EQ::__typecheck -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_GEQ_TO_INEQ::__typecheck -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_NEQ_TO_EQ::__typecheck -FNDA:1,rust_out::main::_doctest_main_crates_conjure_core_src_rules_minion_rs_88_0 -FNDA:0,conjure_core::rules::minion::sum_eq_to_sumeq +FNDA:0,conjure_core::rules::minion::sum_leq_to_sumleq +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SUM_GEQ::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::minion::div_eq_to_diveq +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUMEQ_TO_MINION::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::minion::sum_leq_to_sumleq +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_EQ_TO_SUMEQ::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::minion::leq_to_ineq FNDA:0,conjure_core::rules::minion::sum_eq_to_sumeq -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_LEQ_TO_SUMLEQ::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_GEQ_TO_INEQ::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_LEQ_TO_INEQ::__typecheck -FNDA:0,conjure_core::rules::minion::geq_to_ineq -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_DIV_EQ_TO_DIVEQ::__typecheck -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_GEQ_TO_INEQ::__typecheck::{closure#0} -FNDA:1,conjure_core::rules::minion::flatten_safediv -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_DIV_EQ_TO_DIVEQ::__typecheck -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SUM_GEQ::__typecheck -FNDA:0,conjure_core::rules::minion::sumeq_to_minion +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_LEQ_TO_INEQ::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::minion::is_nested_sum +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SET_MINION::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_GT_TO_INEQ::__typecheck +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SAFEDIV::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::minion::sum_to_vector FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_NEQ_TO_EQ::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SET_MINION::__typecheck::{closure#0}::{closure#0} FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_LEQ_TO_SUMLEQ::__typecheck -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_EQ_TO_NEQ::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::minion::gt_to_ineq -FNDA:1,conjure_core::rules::minion::sum_eq_to_sumeq +FNDA:0,conjure_core::rules::minion::lt_to_ineq +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_LEQ_TO_SUMLEQ::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::minion::leq_to_ineq FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_GEQ_TO_INEQ::__typecheck -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SAFEDIV::__typecheck FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_LT_TO_INEQ::__typecheck::{closure#0}::{closure#0} -FNDA:1,conjure_core::rules::minion::gt_to_ineq -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_LEQ_TO_INEQ::__typecheck -FNDA:0,conjure_core::rules::minion::leq_to_ineq -FNDA:1,rust_out::main::_doctest_main_crates_conjure_core_src_rules_minion_rs_209_0 +FNDA:0,conjure_core::rules::minion::sum_eq_to_sumeq FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SUM_GEQ::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_LT_TO_INEQ::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::minion::gt_to_ineq -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_EQ_TO_SUMEQ::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_GT_TO_INEQ::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SET_MINION::__typecheck FNDA:0,conjure_core::rules::minion::sumeq_to_minion -FNDA:0,conjure_core::rules::minion::flatten_sum_geq -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUMEQ_TO_MINION::__typecheck -FNDA:1,rust_out::main::_doctest_main_crates_conjure_core_src_rules_minion_rs_67_0 -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_LT_TO_INEQ::__typecheck -FNDA:1,conjure_core::rules::minion::geq_to_ineq -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_GEQ_TO_INEQ::__typecheck -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_DIV_EQ_TO_DIVEQ::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_DIV_EQ_TO_DIVEQ::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SET_MINION::__typecheck::{closure#0}::{closure#0} FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_DIV_EQ_TO_DIVEQ::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_EQ_TO_SUMEQ::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::minion::negated_neq_to_eq +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_EQ_TO_NEQ::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_LT_TO_INEQ::__typecheck::{closure#0} FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_LEQ_TO_SUMLEQ::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_LEQ_TO_INEQ::__typecheck -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_GT_TO_INEQ::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_LT_TO_INEQ::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_GT_TO_INEQ::__typecheck FNDA:0,conjure_core::rules::minion::negated_eq_to_neq -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_GT_TO_INEQ::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_NEQ_TO_EQ::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUMEQ_TO_MINION::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_GT_TO_INEQ::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::minion::flatten_safediv FNDA:0,conjure_core::rules::minion::div_eq_to_diveq -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SET_MINION::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUMEQ_TO_MINION::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SAFEDIV::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_LT_TO_INEQ::__typecheck +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_NEQ_TO_EQ::__typecheck +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_EQ_TO_SUMEQ::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::minion::negated_neq_to_eq FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUMEQ_TO_MINION::__typecheck::{closure#0}::{closure#0} FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_GEQ_TO_INEQ::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUMEQ_TO_MINION::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_EQ_TO_SUMEQ::__typecheck -FNDA:1,conjure_core::rules::minion::leq_to_ineq -FNDA:1,rust_out::main::_doctest_main_crates_conjure_core_src_rules_minion_rs_229_0 -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_DIV_EQ_TO_DIVEQ::__typecheck::{closure#0} -FNDA:1,conjure_core::rules::minion::negated_eq_to_neq -FNDA:0,conjure_core::rules::minion::sum_leq_to_sumleq -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_GT_TO_INEQ::__typecheck -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_LT_TO_INEQ::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUMEQ_TO_MINION::__typecheck -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_EQ_TO_SUMEQ::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_NEQ_TO_EQ::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_GT_TO_INEQ::__typecheck -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SUM_GEQ::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_LEQ_TO_INEQ::__typecheck::{closure#0}::{closure#0} -FNDA:1,conjure_core::rules::minion::flatten_sum_geq -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SET_MINION::__typecheck -FNDA:1,conjure_core::rules::minion::is_nested_sum -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SUM_GEQ::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_EQ_TO_NEQ::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::minion::geq_to_ineq +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_LEQ_TO_SUMLEQ::__typecheck::{closure#0}::{closure#0} FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_GT_TO_INEQ::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_LT_TO_INEQ::__typecheck -FNDA:1,rust_out::main::_doctest_main_crates_conjure_core_src_rules_minion_rs_109_0 -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_EQ_TO_NEQ::__typecheck -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SUM_GEQ::__typecheck +FNDA:0,conjure_core::rules::minion::flatten_safediv +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SUM_GEQ::__typecheck::{closure#0}::{closure#0} FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_DIV_EQ_TO_DIVEQ::__typecheck::{closure#0} -FNDA:1,conjure_core::rules::minion::sum_to_vector -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_EQ_TO_SUMEQ::__typecheck -FNDA:1,rust_out::main -FNDA:0,conjure_core::rules::minion::sum_to_vector -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SAFEDIV::__typecheck::{closure#0}::{closure#0} -FNDA:1,conjure_core::rules::minion::lt_to_ineq -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUMEQ_TO_MINION::__typecheck::{closure#0} -FNDA:1,conjure_core::rules::minion::sumeq_to_minion -FNDA:0,conjure_core::rules::minion::leq_to_ineq -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_LEQ_TO_INEQ::__typecheck::{closure#0} FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SAFEDIV::__typecheck -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_EQ_TO_NEQ::__typecheck -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_LEQ_TO_SUMLEQ::__typecheck::{closure#0} -FNDA:1,rust_out::main::_doctest_main_crates_conjure_core_src_rules_minion_rs_189_0 -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_GEQ_TO_INEQ::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_LEQ_TO_SUMLEQ::__typecheck::{closure#0}::{closure#0} -FNDA:1,conjure_core::rules::minion::negated_neq_to_eq -FNDA:0,conjure_core::rules::minion::flatten_safediv +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SET_MINION::__typecheck +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SET_MINION::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_LEQ_TO_INEQ::__typecheck +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SAFEDIV::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_DIV_EQ_TO_DIVEQ::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_NEQ_TO_EQ::__typecheck FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_EQ_TO_NEQ::__typecheck::{closure#0}::{closure#0} FNDA:0,conjure_core::rules::minion::negated_eq_to_neq -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUMEQ_TO_MINION::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_DIV_EQ_TO_DIVEQ::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_LEQ_TO_INEQ::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SUM_GEQ::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::minion::lt_to_ineq +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_GEQ_TO_INEQ::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::minion::gt_to_ineq +FNDA:0,conjure_core::rules::minion::is_nested_sum +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUMEQ_TO_MINION::__typecheck +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_LEQ_TO_INEQ::__typecheck::{closure#0} FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_DIV_EQ_TO_DIVEQ::__typecheck -FNDA:0,conjure_core::rules::minion::negated_neq_to_eq -FNDA:0,conjure_core::rules::minion::div_eq_to_diveq FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUMEQ_TO_MINION::__typecheck -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SAFEDIV::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_LEQ_TO_SUMLEQ::__typecheck::{closure#0}::{closure#0} -FNDA:1,rust_out::main::_doctest_main_crates_conjure_core_src_rules_minion_rs_169_0 +FNDA:0,conjure_core::rules::minion::sumeq_to_minion +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SUM_GEQ::__typecheck +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_DIV_EQ_TO_DIVEQ::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SUM_GEQ::__typecheck FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_GT_TO_INEQ::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_EQ_TO_NEQ::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_EQ_TO_NEQ::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_GEQ_TO_INEQ::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::minion::lt_to_ineq -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_LEQ_TO_INEQ::__typecheck::{closure#0}::{closure#0} FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SAFEDIV::__typecheck -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_EQ_TO_SUMEQ::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_EQ_TO_SUMEQ::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SET_MINION::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::minion::lt_to_ineq -FNDA:0,conjure_core::rules::minion::flatten_sum_geq +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_EQ_TO_NEQ::__typecheck +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_LEQ_TO_INEQ::__typecheck FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SET_MINION::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SET_MINION::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_EQ_TO_SUMEQ::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SAFEDIV::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_EQ_TO_SUMEQ::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SUM_GEQ::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_LT_TO_INEQ::__typecheck -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SAFEDIV::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SET_MINION::__typecheck::{closure#0}::{closure#0} -FNDA:1,rust_out::main::_doctest_main_crates_conjure_core_src_rules_minion_rs_148_0 -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_EQ_TO_SUMEQ::__typecheck -FNDA:1,conjure_core::rules::minion::div_eq_to_diveq -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_LEQ_TO_SUMLEQ::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SUM_GEQ::__typecheck::{closure#0}::{closure#0} FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_EQ_TO_NEQ::__typecheck -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_FLATTEN_SUM_GEQ::__typecheck -FNDA:1,rust_out::main::_doctest_main_crates_conjure_core_src_rules_minion_rs_143_0 -FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SET_MINION::__typecheck +FNDA:0,conjure_core::rules::minion::flatten_sum_geq +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_GEQ_TO_INEQ::__typecheck FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_NEGATED_EQ_TO_NEQ::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::minion::sum_leq_to_sumleq -FNDA:0,conjure_core::rules::minion::is_nested_sum -FNF:169 -FNH:24 +FNDA:0,conjure_core::rules::minion::CONJURE_GEN_RULE_SUM_EQ_TO_SUMEQ::__typecheck +FNF:106 +FNH:0 BRF:0 BRH:0 DA:17,0 -DA:19,2775 -DA:20,11040 -DA:21,8280 -DA:22,15 -DA:23,8265 -DA:25,2760 -DA:26,2775 -DA:31,3705 -DA:32,3705 -DA:33,2775 -DA:34,2775 -DA:35,15 -DA:37,2760 -DA:40,930 -DA:42,3705 -DA:67,1 -DA:68,1 -DA:69,1 +DA:19,0 +DA:20,0 +DA:21,0 +DA:22,0 +DA:23,0 +DA:25,0 +DA:26,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:37,0 +DA:40,0 +DA:42,0 DA:70,0 -DA:71,7242075 -DA:72,7242075 -DA:73,75 -DA:74,75 -DA:75,15 -DA:76,15 -DA:77,15 -DA:78,15 -DA:79,15 -DA:81,7242000 -DA:83,7242075 -DA:88,1 -DA:89,1 -DA:90,1 +DA:71,0 +DA:72,0 +DA:73,0 +DA:74,0 +DA:75,0 +DA:76,0 +DA:77,0 +DA:78,0 +DA:79,0 +DA:81,0 +DA:83,0 DA:91,0 -DA:92,7242075 -DA:93,7242075 -DA:94,210 -DA:95,210 -DA:96,15 -DA:97,15 -DA:98,15 -DA:99,15 -DA:100,15 -DA:102,7241865 -DA:104,7242075 -DA:109,1 -DA:110,1 -DA:111,1 +DA:92,0 +DA:93,0 +DA:94,0 +DA:95,0 +DA:96,0 +DA:97,0 +DA:98,0 +DA:99,0 +DA:100,0 +DA:102,0 +DA:104,0 DA:112,0 -DA:113,7242060 -DA:114,7242060 -DA:115,3075 -DA:116,3075 -DA:117,2730 -DA:118,2730 -DA:119,2730 -DA:120,2730 -DA:121,2730 -DA:122,345 +DA:113,0 +DA:114,0 +DA:115,0 +DA:116,0 +DA:117,0 +DA:118,0 +DA:119,0 +DA:120,0 +DA:121,0 +DA:122,0 DA:123,0 DA:124,0 DA:125,0 DA:126,0 DA:127,0 -DA:129,345 -DA:132,7238985 -DA:134,7242060 -DA:143,1 -DA:144,1 -DA:145,1 -DA:148,1 -DA:149,1 -DA:150,1 +DA:129,0 +DA:132,0 +DA:134,0 DA:151,0 -DA:152,7242060 -DA:153,7242060 -DA:154,2730 -DA:155,2730 -DA:156,2730 -DA:157,2730 -DA:158,2730 -DA:159,2730 -DA:160,2730 -DA:161,7239330 -DA:163,7242060 -DA:169,1 -DA:170,1 -DA:171,1 +DA:152,0 +DA:153,0 +DA:154,0 +DA:155,0 +DA:156,0 +DA:157,0 +DA:158,0 +DA:159,0 +DA:160,0 +DA:161,0 +DA:163,0 DA:172,0 -DA:173,7242075 -DA:174,7242075 -DA:175,2730 -DA:176,2730 -DA:177,2730 -DA:178,2730 -DA:179,2730 -DA:180,2730 -DA:181,7239345 -DA:183,7242075 -DA:189,1 -DA:190,1 -DA:191,1 +DA:173,0 +DA:174,0 +DA:175,0 +DA:176,0 +DA:177,0 +DA:178,0 +DA:179,0 +DA:180,0 +DA:181,0 +DA:183,0 DA:192,0 -DA:193,7242060 -DA:194,7242060 +DA:193,0 +DA:194,0 DA:195,0 DA:196,0 DA:197,0 DA:198,0 DA:199,0 DA:200,0 -DA:201,7242060 -DA:203,7242060 -DA:209,1 -DA:210,1 -DA:211,1 +DA:201,0 +DA:203,0 DA:212,0 -DA:213,7242060 -DA:214,7242060 -DA:215,60 -DA:216,60 -DA:217,60 -DA:218,60 -DA:219,60 -DA:220,60 -DA:221,7242000 -DA:223,7242060 -DA:229,1 -DA:230,1 -DA:231,1 +DA:213,0 +DA:214,0 +DA:215,0 +DA:216,0 +DA:217,0 +DA:218,0 +DA:219,0 +DA:220,0 +DA:221,0 +DA:223,0 DA:232,0 -DA:233,7242060 -DA:234,7242060 -DA:235,195 -DA:236,195 -DA:237,195 -DA:238,195 -DA:239,195 -DA:240,195 -DA:241,7241865 -DA:243,7242060 +DA:233,0 +DA:234,0 +DA:235,0 +DA:236,0 +DA:237,0 +DA:238,0 +DA:239,0 +DA:240,0 +DA:241,0 +DA:243,0 DA:264,0 -DA:265,7242060 -DA:266,7242060 -DA:267,3510 -DA:268,3510 -DA:269,3510 -DA:270,3510 -DA:273,7020 -DA:274,7020 -DA:275,60 -DA:276,60 -DA:277,60 -DA:278,60 -DA:279,60 -DA:280,60 -DA:281,60 -DA:282,60 -DA:283,60 -DA:284,60 -DA:285,60 -DA:286,60 -DA:287,60 -DA:288,60 -DA:289,6960 -DA:291,3510 -DA:293,60 -DA:294,60 -DA:295,60 -DA:296,60 -DA:298,3450 -DA:299,7238550 -DA:300,7242000 -DA:301,7242060 +DA:265,0 +DA:266,0 +DA:267,0 +DA:268,0 +DA:269,0 +DA:270,0 +DA:273,0 +DA:274,0 +DA:275,0 +DA:276,0 +DA:277,0 +DA:278,0 +DA:279,0 +DA:280,0 +DA:281,0 +DA:282,0 +DA:283,0 +DA:284,0 +DA:285,0 +DA:286,0 +DA:287,0 +DA:288,0 +DA:289,0 +DA:291,0 +DA:293,0 +DA:294,0 +DA:295,0 +DA:296,0 +DA:298,0 +DA:299,0 +DA:300,0 +DA:301,0 DA:303,0 -DA:304,7242060 -DA:305,7242060 -DA:306,3075 -DA:307,3075 -DA:308,15 +DA:304,0 +DA:305,0 +DA:306,0 +DA:307,0 +DA:308,0 DA:309,0 -DA:310,15 -DA:311,15 -DA:312,15 -DA:313,15 -DA:314,15 -DA:315,15 -DA:316,15 -DA:317,3060 -DA:318,30 +DA:310,0 +DA:311,0 +DA:312,0 +DA:313,0 +DA:314,0 +DA:315,0 +DA:316,0 +DA:317,0 +DA:318,0 DA:319,0 -DA:320,30 -DA:321,30 -DA:322,30 -DA:323,30 -DA:324,30 -DA:325,30 -DA:326,30 -DA:328,3030 -DA:331,7238985 -DA:333,7242060 +DA:320,0 +DA:321,0 +DA:322,0 +DA:323,0 +DA:324,0 +DA:325,0 +DA:326,0 +DA:328,0 +DA:331,0 +DA:333,0 DA:335,0 -DA:336,7242060 -DA:337,7242060 -DA:338,120 -DA:339,15 -DA:340,15 -DA:341,15 -DA:342,15 -DA:343,15 -DA:344,15 -DA:345,15 +DA:336,0 +DA:337,0 +DA:338,0 +DA:339,0 +DA:340,0 +DA:341,0 +DA:342,0 +DA:343,0 +DA:344,0 +DA:345,0 DA:347,0 -DA:350,105 -DA:352,7241940 -DA:354,7242060 +DA:350,0 +DA:352,0 +DA:354,0 DA:356,0 -DA:357,7242060 -DA:358,7242060 -DA:359,120 -DA:360,60 -DA:361,60 -DA:362,15 -DA:363,15 -DA:364,15 -DA:365,15 -DA:366,15 -DA:368,45 -DA:371,60 -DA:373,7241940 -DA:375,7242060 -LF:232 -LH:205 -end_of_record -SF:solvers/chuffed/src/lib.rs -FN:60,chuffed_rs::wrappers::var_sym_break_wrapper -FN:16,chuffed_rs::wrappers::create_var -FN:66,chuffed_rs::wrappers::int_plus_wrapper -FN:43,chuffed_rs::wrappers::branch_wrapper -FN:53,chuffed_rs::wrappers::output_vars_wrapper -FN:26,chuffed_rs::wrappers::create_vars -FN:36,chuffed_rs::wrappers::all_different_wrapper -FN:26,chuffed_rs::wrappers::create_vars -FN:16,chuffed_rs::wrappers::create_var -FN:36,chuffed_rs::wrappers::all_different_wrapper -FN:60,chuffed_rs::wrappers::var_sym_break_wrapper -FN:66,chuffed_rs::wrappers::int_plus_wrapper -FN:43,chuffed_rs::wrappers::branch_wrapper -FN:53,chuffed_rs::wrappers::output_vars_wrapper -FNDA:0,chuffed_rs::wrappers::var_sym_break_wrapper -FNDA:0,chuffed_rs::wrappers::create_var -FNDA:0,chuffed_rs::wrappers::int_plus_wrapper -FNDA:0,chuffed_rs::wrappers::branch_wrapper -FNDA:0,chuffed_rs::wrappers::output_vars_wrapper -FNDA:0,chuffed_rs::wrappers::create_vars -FNDA:0,chuffed_rs::wrappers::all_different_wrapper -FNDA:0,chuffed_rs::wrappers::create_vars -FNDA:0,chuffed_rs::wrappers::create_var -FNDA:0,chuffed_rs::wrappers::all_different_wrapper -FNDA:0,chuffed_rs::wrappers::var_sym_break_wrapper -FNDA:0,chuffed_rs::wrappers::int_plus_wrapper -FNDA:0,chuffed_rs::wrappers::branch_wrapper -FNDA:0,chuffed_rs::wrappers::output_vars_wrapper -FNF:14 -FNH:0 -BRF:0 -BRH:0 -DA:16,0 -DA:17,0 -DA:18,0 -DA:19,0 -DA:20,0 -DA:21,0 -DA:22,0 -DA:23,0 -DA:26,0 -DA:27,0 -DA:28,0 -DA:29,0 -DA:30,0 -DA:31,0 -DA:32,0 -DA:33,0 -DA:36,0 -DA:37,0 -DA:38,0 -DA:39,0 -DA:40,0 -DA:43,0 -DA:44,0 -DA:45,0 -DA:46,0 -DA:47,0 -DA:48,0 -DA:49,0 -DA:50,0 -DA:51,0 -DA:53,0 -DA:54,0 -DA:55,0 -DA:56,0 -DA:57,0 -DA:58,0 -DA:60,0 -DA:61,0 -DA:62,0 -DA:63,0 -DA:64,0 -DA:66,0 -DA:67,0 -DA:68,0 -DA:69,0 -DA:70,0 -LF:46 +DA:357,0 +DA:358,0 +DA:359,0 +DA:360,0 +DA:361,0 +DA:362,0 +DA:363,0 +DA:364,0 +DA:365,0 +DA:366,0 +DA:368,0 +DA:371,0 +DA:373,0 +DA:375,0 +LF:205 LH:0 end_of_record SF:crates/conjure_core/src/solver/adaptors/kissat.rs FN:24,::new -FN:24,::new -FN:24,::new -FN:55,::load_model -FN:33,::default FN:55,::load_model FN:60,::get_family -FN:39,::solve -FN:39,::solve -FN:60,::get_family -FN:39,::solve +FN:24,::new FN:60,::get_family FN:55,::load_model -FN:33,::default -FN:47,::solve_mut FN:47,::solve_mut +FN:39,::solve +FN:33,::default FN:33,::default +FN:39,::solve FN:47,::solve_mut FNDA:0,::new -FNDA:0,::new -FNDA:0,::new -FNDA:0,::load_model -FNDA:0,::default FNDA:0,::load_model FNDA:0,::get_family -FNDA:0,::solve -FNDA:0,::solve -FNDA:0,::get_family -FNDA:0,::solve +FNDA:0,::new FNDA:0,::get_family FNDA:0,::load_model -FNDA:0,::default -FNDA:0,::solve_mut FNDA:0,::solve_mut +FNDA:0,::solve +FNDA:0,::default FNDA:0,::default +FNDA:0,::solve FNDA:0,::solve_mut -FNF:18 +FNF:12 FNH:0 BRF:0 BRH:0 @@ -6363,435 +4909,300 @@ LH:0 end_of_record SF:solvers/kissat/src/lib.rs FN:3,kissat_rs::test1 -FNDA:1,kissat_rs::test1 +FNDA:0,kissat_rs::test1 FNF:1 -FNH:1 +FNH:0 BRF:0 BRH:0 -DA:3,1 -DA:4,1 -DA:5,1 -DA:6,1 -DA:7,1 -DA:8,1 -DA:9,1 -DA:10,1 -DA:11,1 -DA:12,1 -DA:13,1 -DA:14,1 -DA:15,1 -DA:18,1 -DA:19,1 -DA:20,1 -DA:21,1 +DA:3,0 +DA:4,0 +DA:5,0 +DA:6,0 +DA:7,0 +DA:8,0 +DA:9,0 +DA:10,0 +DA:11,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:21,0 DA:22,0 -DA:25,1 -DA:26,1 -DA:27,1 -DA:28,1 -DA:29,1 -DA:30,1 -DA:31,1 +DA:25,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 LF:25 -LH:24 +LH:0 end_of_record SF:solvers/minion/src/run.rs -FN:688,minion_rs::run::read_constant -FN:41,rust_out::main::_doctest_main_solvers_minion_src_run_rs_28_0::callback -FN:607,minion_rs::run::read_list::{closure#1} FN:598,minion_rs::run::read_list -FN:626,minion_rs::run::read_var -FN:750,minion_rs::run::read_constraint_list::{closure#0} -FN:285,minion_rs::run::convert_model_to_raw::{closure#3} -FN:659,minion_rs::run::read_2_vars::{closure#0} -FN:735,minion_rs::run::read_constraint::{closure#0} -FN:285,minion_rs::run::convert_model_to_raw::{closure#3} -FN:204,minion_rs::run::convert_model_to_raw -FN:285,minion_rs::run::convert_model_to_raw::{closure#3} -FN:162,minion_rs::run::run_minion +FN:708,minion_rs::run::read_constant_list::{closure#0} FN:229,minion_rs::run::convert_model_to_raw::{closure#1} -FN:29,rust_out::main -FN:384,minion_rs::run::constraint_add_args -FN:221,minion_rs::run::convert_model_to_raw::{closure#0} -FN:729,minion_rs::run::read_constraint +FN:285,minion_rs::run::convert_model_to_raw::{closure#3} +FN:634,minion_rs::run::read_var::{closure#1} FN:729,minion_rs::run::read_constraint +FN:704,minion_rs::run::read_constant_list FN:688,minion_rs::run::read_constant +FN:651,minion_rs::run::read_2_vars +FN:598,minion_rs::run::read_list +FN:755,minion_rs::run::read_constraint_list::{closure#1} +FN:168,minion_rs::run::run_minion::{closure#0} FN:607,minion_rs::run::read_list::{closure#1} +FN:671,minion_rs::run::read_2_vars::{closure#1} +FN:659,minion_rs::run::read_2_vars::{closure#0} FN:626,minion_rs::run::read_var -FN:729,minion_rs::run::read_constraint -FN:634,minion_rs::run::read_var::{closure#1} -FN:708,minion_rs::run::read_constant_list::{closure#0} -FN:204,minion_rs::run::convert_model_to_raw -FN:735,minion_rs::run::read_constraint::{closure#0} -FN:626,minion_rs::run::read_var -FN:634,minion_rs::run::read_var::{closure#1} +FN:270,minion_rs::run::convert_model_to_raw::{closure#2} FN:631,minion_rs::run::read_var::{closure#0} -FN:384,minion_rs::run::constraint_add_args +FN:229,minion_rs::run::convert_model_to_raw::{closure#1} +FN:745,minion_rs::run::read_constraint_list +FN:221,minion_rs::run::convert_model_to_raw::{closure#0} +FN:659,minion_rs::run::read_2_vars::{closure#0} +FN:607,minion_rs::run::read_list::{closure#1} +FN:204,minion_rs::run::convert_model_to_raw FN:603,minion_rs::run::read_list::{closure#0} +FN:671,minion_rs::run::read_2_vars::{closure#1} +FN:755,minion_rs::run::read_constraint_list::{closure#1} FN:204,minion_rs::run::convert_model_to_raw -FN:607,minion_rs::run::read_list::{closure#1} -FN:162,minion_rs::run::run_minion FN:384,minion_rs::run::constraint_add_args -FN:745,minion_rs::run::read_constraint_list -FN:296,minion_rs::run::get_constraint_type -FN:296,minion_rs::run::get_constraint_type -FN:671,minion_rs::run::read_2_vars::{closure#1} -FN:229,minion_rs::run::convert_model_to_raw::{closure#1} -FN:651,minion_rs::run::read_2_vars -FN:651,minion_rs::run::read_2_vars -FN:221,minion_rs::run::convert_model_to_raw::{closure#0} -FN:634,minion_rs::run::read_var::{closure#1} -FN:296,minion_rs::run::get_constraint_type -FN:735,minion_rs::run::read_constraint::{closure#0} FN:270,minion_rs::run::convert_model_to_raw::{closure#2} -FN:598,minion_rs::run::read_list +FN:162,minion_rs::run::run_minion +FN:626,minion_rs::run::read_var +FN:296,minion_rs::run::get_constraint_type FN:708,minion_rs::run::read_constant_list::{closure#0} -FN:755,minion_rs::run::read_constraint_list::{closure#1} FN:651,minion_rs::run::read_2_vars -FN:704,minion_rs::run::read_constant_list +FN:634,minion_rs::run::read_var::{closure#1} +FN:729,minion_rs::run::read_constraint +FN:745,minion_rs::run::read_constraint_list +FN:221,minion_rs::run::convert_model_to_raw::{closure#0} +FN:285,minion_rs::run::convert_model_to_raw::{closure#3} FN:750,minion_rs::run::read_constraint_list::{closure#0} -FN:671,minion_rs::run::read_2_vars::{closure#1} -FN:270,minion_rs::run::convert_model_to_raw::{closure#2} -FN:29,rust_out::main::_doctest_main_solvers_minion_src_run_rs_28_0 -FN:603,minion_rs::run::read_list::{closure#0} FN:168,minion_rs::run::run_minion::{closure#0} -FN:659,minion_rs::run::read_2_vars::{closure#0} -FN:750,minion_rs::run::read_constraint_list::{closure#0} -FN:755,minion_rs::run::read_constraint_list::{closure#1} -FN:704,minion_rs::run::read_constant_list -FN:598,minion_rs::run::read_list -FN:659,minion_rs::run::read_2_vars::{closure#0} -FN:688,minion_rs::run::read_constant +FN:735,minion_rs::run::read_constraint::{closure#0} FN:162,minion_rs::run::run_minion -FN:603,minion_rs::run::read_list::{closure#0} -FN:631,minion_rs::run::read_var::{closure#0} -FN:755,minion_rs::run::read_constraint_list::{closure#1} -FN:708,minion_rs::run::read_constant_list::{closure#0} -FN:270,minion_rs::run::convert_model_to_raw::{closure#2} -FN:745,minion_rs::run::read_constraint_list -FN:229,minion_rs::run::convert_model_to_raw::{closure#1} -FN:671,minion_rs::run::read_2_vars::{closure#1} -FN:221,minion_rs::run::convert_model_to_raw::{closure#0} -FN:745,minion_rs::run::read_constraint_list -FN:119,run_callback +FN:296,minion_rs::run::get_constraint_type FN:631,minion_rs::run::read_var::{closure#0} -FN:168,minion_rs::run::run_minion::{closure#0} -FN:168,minion_rs::run::run_minion::{closure#0} FN:704,minion_rs::run::read_constant_list +FN:750,minion_rs::run::read_constraint_list::{closure#0} +FN:384,minion_rs::run::constraint_add_args +FN:688,minion_rs::run::read_constant +FN:119,run_callback +FN:735,minion_rs::run::read_constraint::{closure#0} +FN:603,minion_rs::run::read_list::{closure#0} +FNDA:0,minion_rs::run::read_list +FNDA:0,minion_rs::run::read_constant_list::{closure#0} +FNDA:0,minion_rs::run::convert_model_to_raw::{closure#1} +FNDA:0,minion_rs::run::convert_model_to_raw::{closure#3} +FNDA:0,minion_rs::run::read_var::{closure#1} +FNDA:0,minion_rs::run::read_constraint +FNDA:0,minion_rs::run::read_constant_list FNDA:0,minion_rs::run::read_constant -FNDA:1,rust_out::main::_doctest_main_solvers_minion_src_run_rs_28_0::callback +FNDA:0,minion_rs::run::read_2_vars +FNDA:0,minion_rs::run::read_list +FNDA:0,minion_rs::run::read_constraint_list::{closure#1} +FNDA:0,minion_rs::run::run_minion::{closure#0} FNDA:0,minion_rs::run::read_list::{closure#1} -FNDA:1,minion_rs::run::read_list -FNDA:1,minion_rs::run::read_var -FNDA:0,minion_rs::run::read_constraint_list::{closure#0} -FNDA:0,minion_rs::run::convert_model_to_raw::{closure#3} +FNDA:0,minion_rs::run::read_2_vars::{closure#1} FNDA:0,minion_rs::run::read_2_vars::{closure#0} -FNDA:1,minion_rs::run::read_constraint::{closure#0} -FNDA:1,minion_rs::run::convert_model_to_raw::{closure#3} -FNDA:0,minion_rs::run::convert_model_to_raw -FNDA:0,minion_rs::run::convert_model_to_raw::{closure#3} -FNDA:0,minion_rs::run::run_minion +FNDA:0,minion_rs::run::read_var +FNDA:0,minion_rs::run::convert_model_to_raw::{closure#2} +FNDA:0,minion_rs::run::read_var::{closure#0} FNDA:0,minion_rs::run::convert_model_to_raw::{closure#1} -FNDA:1,rust_out::main -FNDA:0,minion_rs::run::constraint_add_args +FNDA:0,minion_rs::run::read_constraint_list FNDA:0,minion_rs::run::convert_model_to_raw::{closure#0} -FNDA:0,minion_rs::run::read_constraint -FNDA:1,minion_rs::run::read_constraint -FNDA:0,minion_rs::run::read_constant +FNDA:0,minion_rs::run::read_2_vars::{closure#0} FNDA:0,minion_rs::run::read_list::{closure#1} -FNDA:0,minion_rs::run::read_var -FNDA:0,minion_rs::run::read_constraint -FNDA:0,minion_rs::run::read_var::{closure#1} -FNDA:1,minion_rs::run::read_constant_list::{closure#0} FNDA:0,minion_rs::run::convert_model_to_raw -FNDA:0,minion_rs::run::read_constraint::{closure#0} -FNDA:0,minion_rs::run::read_var -FNDA:0,minion_rs::run::read_var::{closure#1} -FNDA:0,minion_rs::run::read_var::{closure#0} -FNDA:1,minion_rs::run::constraint_add_args FNDA:0,minion_rs::run::read_list::{closure#0} -FNDA:1,minion_rs::run::convert_model_to_raw -FNDA:0,minion_rs::run::read_list::{closure#1} -FNDA:0,minion_rs::run::run_minion +FNDA:0,minion_rs::run::read_2_vars::{closure#1} +FNDA:0,minion_rs::run::read_constraint_list::{closure#1} +FNDA:0,minion_rs::run::convert_model_to_raw FNDA:0,minion_rs::run::constraint_add_args -FNDA:0,minion_rs::run::read_constraint_list -FNDA:0,minion_rs::run::get_constraint_type +FNDA:0,minion_rs::run::convert_model_to_raw::{closure#2} +FNDA:0,minion_rs::run::run_minion +FNDA:0,minion_rs::run::read_var FNDA:0,minion_rs::run::get_constraint_type -FNDA:0,minion_rs::run::read_2_vars::{closure#1} -FNDA:0,minion_rs::run::convert_model_to_raw::{closure#1} -FNDA:1,minion_rs::run::read_2_vars +FNDA:0,minion_rs::run::read_constant_list::{closure#0} FNDA:0,minion_rs::run::read_2_vars -FNDA:1,minion_rs::run::convert_model_to_raw::{closure#0} FNDA:0,minion_rs::run::read_var::{closure#1} -FNDA:1,minion_rs::run::get_constraint_type +FNDA:0,minion_rs::run::read_constraint +FNDA:0,minion_rs::run::read_constraint_list +FNDA:0,minion_rs::run::convert_model_to_raw::{closure#0} +FNDA:0,minion_rs::run::convert_model_to_raw::{closure#3} +FNDA:0,minion_rs::run::read_constraint_list::{closure#0} +FNDA:0,minion_rs::run::run_minion::{closure#0} FNDA:0,minion_rs::run::read_constraint::{closure#0} -FNDA:0,minion_rs::run::convert_model_to_raw::{closure#2} -FNDA:0,minion_rs::run::read_list -FNDA:0,minion_rs::run::read_constant_list::{closure#0} -FNDA:0,minion_rs::run::read_constraint_list::{closure#1} -FNDA:0,minion_rs::run::read_2_vars +FNDA:0,minion_rs::run::run_minion +FNDA:0,minion_rs::run::get_constraint_type +FNDA:0,minion_rs::run::read_var::{closure#0} FNDA:0,minion_rs::run::read_constant_list -FNDA:1,minion_rs::run::read_constraint_list::{closure#0} -FNDA:0,minion_rs::run::read_2_vars::{closure#1} -FNDA:0,minion_rs::run::convert_model_to_raw::{closure#2} -FNDA:1,rust_out::main::_doctest_main_solvers_minion_src_run_rs_28_0 -FNDA:0,minion_rs::run::read_list::{closure#0} -FNDA:0,minion_rs::run::run_minion::{closure#0} -FNDA:0,minion_rs::run::read_2_vars::{closure#0} FNDA:0,minion_rs::run::read_constraint_list::{closure#0} -FNDA:0,minion_rs::run::read_constraint_list::{closure#1} -FNDA:0,minion_rs::run::read_constant_list -FNDA:0,minion_rs::run::read_list -FNDA:0,minion_rs::run::read_2_vars::{closure#0} -FNDA:1,minion_rs::run::read_constant -FNDA:1,minion_rs::run::run_minion -FNDA:1,minion_rs::run::read_list::{closure#0} -FNDA:1,minion_rs::run::read_var::{closure#0} -FNDA:1,minion_rs::run::read_constraint_list::{closure#1} -FNDA:0,minion_rs::run::read_constant_list::{closure#0} -FNDA:1,minion_rs::run::convert_model_to_raw::{closure#2} -FNDA:1,minion_rs::run::read_constraint_list -FNDA:0,minion_rs::run::convert_model_to_raw::{closure#1} -FNDA:0,minion_rs::run::read_2_vars::{closure#1} -FNDA:0,minion_rs::run::convert_model_to_raw::{closure#0} -FNDA:0,minion_rs::run::read_constraint_list -FNDA:1,run_callback -FNDA:0,minion_rs::run::read_var::{closure#0} -FNDA:0,minion_rs::run::run_minion::{closure#0} -FNDA:1,minion_rs::run::run_minion::{closure#0} -FNDA:1,minion_rs::run::read_constant_list -FNF:82 -FNH:25 +FNDA:0,minion_rs::run::constraint_add_args +FNDA:0,minion_rs::run::read_constant +FNDA:0,run_callback +FNDA:0,minion_rs::run::read_constraint::{closure#0} +FNDA:0,minion_rs::run::read_list::{closure#0} +FNF:53 +FNH:0 BRF:0 BRH:0 -DA:29,1 -DA:30,1 -DA:31,1 -DA:32,1 -DA:33,1 -DA:34,1 -DA:35,1 -DA:36,1 -DA:37,1 -DA:38,1 -DA:39,1 -DA:40,1 -DA:41,1 -DA:42,1 -DA:43,1 -DA:44,1 -DA:45,1 -DA:46,1 -DA:47,1 -DA:48,1 -DA:49,1 -DA:50,1 -DA:51,1 -DA:52,1 -DA:53,1 -DA:54,1 -DA:55,1 -DA:56,1 -DA:57,1 -DA:58,1 -DA:59,1 -DA:60,1 -DA:61,1 -DA:62,1 -DA:63,1 -DA:64,1 -DA:65,1 -DA:66,1 -DA:67,1 -DA:68,1 -DA:69,1 -DA:70,1 -DA:71,1 -DA:72,1 -DA:73,1 -DA:74,1 -DA:75,1 -DA:76,1 -DA:77,1 -DA:78,1 -DA:79,1 -DA:80,1 -DA:81,1 -DA:82,1 -DA:83,1 -DA:84,1 -DA:85,1 -DA:86,1 -DA:87,1 -DA:88,1 -DA:89,1 -DA:90,1 -DA:91,1 -DA:92,1 -DA:93,1 -DA:94,1 -DA:95,1 -DA:96,1 -DA:97,1 -DA:98,1 -DA:99,1 -DA:100,1 -DA:101,1 -DA:102,1 -DA:103,1 -DA:104,1 -DA:105,1 -DA:119,2888 -DA:120,2888 -DA:121,2888 -DA:122,2888 -DA:123,2888 -DA:124,2888 -DA:125,2888 -DA:126,2888 -DA:127,2888 +DA:119,0 +DA:120,0 +DA:121,0 +DA:122,0 +DA:123,0 +DA:124,0 +DA:125,0 +DA:126,0 +DA:127,0 DA:128,0 -DA:129,2888 -DA:131,2888 -DA:132,2888 +DA:129,0 +DA:131,0 +DA:132,0 DA:133,0 -DA:136,2888 +DA:136,0 DA:137,0 -DA:138,2888 -DA:139,2888 -DA:140,2888 -DA:141,2888 -DA:143,9994 -DA:144,9994 -DA:145,9994 -DA:146,9994 -DA:147,9994 -DA:150,2888 +DA:138,0 +DA:139,0 +DA:140,0 +DA:141,0 +DA:143,0 +DA:144,0 +DA:145,0 +DA:146,0 +DA:147,0 +DA:150,0 DA:151,0 -DA:152,2888 -DA:154,2888 -DA:162,532 -DA:163,532 -DA:164,532 -DA:165,532 -DA:166,532 -DA:167,532 -DA:168,532 -DA:169,532 -DA:170,532 -DA:171,532 -DA:172,532 -DA:173,532 -DA:174,532 -DA:175,532 -DA:176,532 -DA:177,532 -DA:178,532 -DA:179,532 -DA:181,532 -DA:182,532 -DA:183,532 -DA:184,532 -DA:185,532 -DA:186,532 -DA:187,532 -DA:188,532 -DA:189,532 -DA:190,532 -DA:191,532 -DA:192,532 -DA:193,532 -DA:194,532 -DA:195,532 -DA:196,532 -DA:197,532 -DA:198,532 +DA:152,0 +DA:154,0 +DA:162,0 +DA:163,0 +DA:164,0 +DA:165,0 +DA:166,0 +DA:167,0 +DA:168,0 +DA:169,0 +DA:170,0 +DA:171,0 +DA:172,0 +DA:173,0 +DA:174,0 +DA:175,0 +DA:176,0 +DA:177,0 +DA:178,0 +DA:179,0 +DA:181,0 +DA:182,0 +DA:183,0 +DA:184,0 +DA:185,0 +DA:186,0 +DA:187,0 +DA:188,0 +DA:189,0 +DA:190,0 +DA:191,0 +DA:192,0 +DA:193,0 +DA:194,0 +DA:195,0 +DA:196,0 +DA:197,0 +DA:198,0 DA:199,0 -DA:202,532 -DA:204,532 -DA:205,532 -DA:206,532 -DA:207,532 -DA:208,532 -DA:209,532 -DA:210,532 -DA:211,532 -DA:212,532 -DA:213,532 -DA:214,532 -DA:215,532 -DA:216,532 -DA:217,532 -DA:218,532 -DA:219,532 -DA:220,532 -DA:221,532 -DA:222,532 -DA:223,532 -DA:224,532 -DA:225,532 -DA:226,532 -DA:228,1482 -DA:229,1482 +DA:202,0 +DA:204,0 +DA:205,0 +DA:206,0 +DA:207,0 +DA:208,0 +DA:209,0 +DA:210,0 +DA:211,0 +DA:212,0 +DA:213,0 +DA:214,0 +DA:215,0 +DA:216,0 +DA:217,0 +DA:218,0 +DA:219,0 +DA:220,0 +DA:221,0 +DA:222,0 +DA:223,0 +DA:224,0 +DA:225,0 +DA:226,0 +DA:228,0 +DA:229,0 DA:230,0 DA:231,0 DA:232,0 DA:233,0 -DA:234,1482 -DA:236,1482 -DA:237,1482 -DA:238,1482 -DA:239,1482 -DA:241,1482 -DA:242,1292 -DA:243,190 +DA:234,0 +DA:236,0 +DA:237,0 +DA:238,0 +DA:239,0 +DA:241,0 +DA:242,0 +DA:243,0 DA:244,0 DA:245,0 -DA:247,1482 -DA:248,1482 -DA:249,1482 -DA:250,1482 -DA:251,1482 -DA:252,1482 -DA:253,1482 -DA:254,1482 -DA:255,1482 -DA:256,1482 -DA:257,1482 -DA:258,1482 -DA:259,1482 -DA:260,1482 -DA:261,1482 -DA:262,1482 -DA:263,1482 -DA:264,1482 -DA:265,1482 -DA:268,532 -DA:269,532 -DA:270,532 -DA:271,532 -DA:272,532 -DA:273,532 -DA:279,6023 -DA:284,5491 -DA:285,5491 -DA:286,5491 -DA:287,5491 -DA:288,5491 -DA:289,5491 -DA:290,5491 -DA:293,532 -DA:294,532 -DA:296,21850 -DA:297,21850 -DA:298,5472 -DA:299,5491 -DA:300,5795 -DA:301,247 +DA:247,0 +DA:248,0 +DA:249,0 +DA:250,0 +DA:251,0 +DA:252,0 +DA:253,0 +DA:254,0 +DA:255,0 +DA:256,0 +DA:257,0 +DA:258,0 +DA:259,0 +DA:260,0 +DA:261,0 +DA:262,0 +DA:263,0 +DA:264,0 +DA:265,0 +DA:268,0 +DA:269,0 +DA:270,0 +DA:271,0 +DA:272,0 +DA:273,0 +DA:279,0 +DA:284,0 +DA:285,0 +DA:286,0 +DA:287,0 +DA:288,0 +DA:289,0 +DA:290,0 +DA:293,0 +DA:294,0 +DA:296,0 +DA:297,0 +DA:298,0 +DA:299,0 +DA:300,0 +DA:301,0 DA:302,0 DA:303,0 -DA:304,76 +DA:304,0 DA:305,0 DA:306,0 DA:307,0 @@ -6802,10 +5213,10 @@ DA:311,0 DA:312,0 DA:313,0 DA:314,0 -DA:315,19 +DA:315,0 DA:316,0 DA:317,0 -DA:318,4579 +DA:318,0 DA:319,0 DA:320,0 DA:321,0 @@ -6849,11 +5260,11 @@ DA:362,0 DA:363,0 DA:364,0 DA:365,0 -DA:366,38 +DA:366,0 DA:367,0 DA:368,0 DA:369,0 -DA:370,133 +DA:370,0 DA:371,0 DA:372,0 DA:373,0 @@ -6862,30 +5273,30 @@ DA:377,0 DA:378,0 DA:379,0 DA:380,0 -DA:382,21850 -DA:384,21850 -DA:385,21850 -DA:386,21850 -DA:387,21850 -DA:388,21850 -DA:389,21850 -DA:390,5472 -DA:391,5472 -DA:392,5472 -DA:393,5472 -DA:395,5491 -DA:396,5491 -DA:397,5491 -DA:398,5491 -DA:400,5795 -DA:401,5795 -DA:402,5795 -DA:403,5795 -DA:404,5795 -DA:406,247 -DA:407,247 -DA:408,247 -DA:409,247 +DA:382,0 +DA:384,0 +DA:385,0 +DA:386,0 +DA:387,0 +DA:388,0 +DA:389,0 +DA:390,0 +DA:391,0 +DA:392,0 +DA:393,0 +DA:395,0 +DA:396,0 +DA:397,0 +DA:398,0 +DA:400,0 +DA:401,0 +DA:402,0 +DA:403,0 +DA:404,0 +DA:406,0 +DA:407,0 +DA:408,0 +DA:409,0 DA:411,0 DA:412,0 DA:413,0 @@ -6894,10 +5305,10 @@ DA:416,0 DA:417,0 DA:418,0 DA:419,0 -DA:421,76 -DA:422,76 -DA:423,76 -DA:424,76 +DA:421,0 +DA:422,0 +DA:423,0 +DA:424,0 DA:426,0 DA:427,0 DA:428,0 @@ -6937,10 +5348,10 @@ DA:470,0 DA:471,0 DA:472,0 DA:473,0 -DA:475,19 -DA:476,19 -DA:477,19 -DA:478,19 +DA:475,0 +DA:476,0 +DA:477,0 +DA:478,0 DA:480,0 DA:481,0 DA:482,0 @@ -6948,9 +5359,9 @@ DA:483,0 DA:485,0 DA:486,0 DA:487,0 -DA:489,4579 -DA:490,4579 -DA:491,4579 +DA:489,0 +DA:490,0 +DA:491,0 DA:493,0 DA:494,0 DA:495,0 @@ -6984,264 +5395,264 @@ DA:529,0 DA:530,0 DA:531,0 DA:532,0 -DA:569,38 -DA:570,38 -DA:571,38 -DA:572,38 -DA:577,133 -DA:578,133 -DA:579,133 -DA:580,133 +DA:569,0 +DA:570,0 +DA:571,0 +DA:572,0 +DA:577,0 +DA:578,0 +DA:579,0 +DA:580,0 DA:586,0 DA:587,0 DA:588,0 DA:589,0 DA:592,0 -DA:594,21850 -DA:598,10963 -DA:599,10963 -DA:600,10963 -DA:601,10963 -DA:602,10963 -DA:603,10963 -DA:604,43852 -DA:605,32889 -DA:606,32889 -DA:607,32889 +DA:594,0 +DA:598,0 +DA:599,0 +DA:600,0 +DA:601,0 +DA:602,0 +DA:603,0 +DA:604,0 +DA:605,0 +DA:606,0 +DA:607,0 DA:608,0 DA:609,0 DA:610,0 DA:611,0 -DA:612,32889 -DA:613,32889 +DA:612,0 +DA:613,0 DA:615,0 -DA:618,32889 -DA:621,10963 -DA:622,10963 -DA:623,10963 -DA:624,10963 -DA:626,23446 -DA:627,23446 -DA:628,23446 -DA:629,23446 -DA:630,23446 -DA:631,23446 -DA:632,23446 -DA:633,12255 -DA:634,12255 +DA:618,0 +DA:621,0 +DA:622,0 +DA:623,0 +DA:624,0 +DA:626,0 +DA:627,0 +DA:628,0 +DA:629,0 +DA:630,0 +DA:631,0 +DA:632,0 +DA:633,0 +DA:634,0 DA:635,0 DA:636,0 DA:637,0 DA:638,0 -DA:639,12255 -DA:640,12255 -DA:642,11191 -DA:645,23446 -DA:646,23446 -DA:647,23446 -DA:648,23446 -DA:649,23446 -DA:651,76 -DA:652,76 -DA:653,76 -DA:654,76 -DA:655,76 -DA:656,76 -DA:657,76 -DA:658,57 -DA:659,57 +DA:639,0 +DA:640,0 +DA:642,0 +DA:645,0 +DA:646,0 +DA:647,0 +DA:648,0 +DA:649,0 +DA:651,0 +DA:652,0 +DA:653,0 +DA:654,0 +DA:655,0 +DA:656,0 +DA:657,0 +DA:658,0 +DA:659,0 DA:660,0 DA:661,0 DA:662,0 DA:663,0 -DA:664,57 -DA:665,57 -DA:667,19 -DA:669,76 -DA:670,76 -DA:671,76 +DA:664,0 +DA:665,0 +DA:667,0 +DA:669,0 +DA:670,0 +DA:671,0 DA:672,0 DA:673,0 DA:674,0 DA:675,0 -DA:676,76 -DA:677,76 +DA:676,0 +DA:677,0 DA:679,0 -DA:684,76 -DA:685,76 -DA:686,76 -DA:688,5795 -DA:689,5795 -DA:690,5795 -DA:691,5795 -DA:692,5795 -DA:693,5795 +DA:684,0 +DA:685,0 +DA:686,0 +DA:688,0 +DA:689,0 +DA:690,0 +DA:691,0 +DA:692,0 +DA:693,0 DA:694,0 DA:695,0 DA:696,0 DA:697,0 -DA:699,5795 -DA:700,5795 -DA:701,5795 -DA:702,5795 -DA:704,38 -DA:705,38 -DA:706,38 -DA:707,38 -DA:708,38 -DA:710,38 -DA:711,38 +DA:699,0 +DA:700,0 +DA:701,0 +DA:702,0 +DA:704,0 +DA:705,0 +DA:706,0 +DA:707,0 +DA:708,0 +DA:710,0 +DA:711,0 DA:712,0 -DA:713,19 -DA:714,19 +DA:713,0 +DA:714,0 DA:716,0 DA:717,0 -DA:719,38 -DA:722,38 -DA:723,38 -DA:724,38 -DA:729,19 -DA:730,19 -DA:731,19 -DA:732,19 -DA:733,19 -DA:734,19 -DA:735,19 -DA:736,19 -DA:737,19 -DA:738,19 -DA:739,19 -DA:741,19 -DA:742,19 -DA:743,19 -DA:745,4579 -DA:746,4579 -DA:747,4579 -DA:748,4579 -DA:749,4579 -DA:750,4579 -DA:751,4579 -DA:752,4579 -DA:753,16340 -DA:754,16340 -DA:755,16340 -DA:756,16340 -DA:757,16340 -DA:758,16340 -DA:759,16340 -DA:760,16340 -DA:763,4579 -DA:764,4579 -DA:765,4579 -LF:568 -LH:372 +DA:719,0 +DA:722,0 +DA:723,0 +DA:724,0 +DA:729,0 +DA:730,0 +DA:731,0 +DA:732,0 +DA:733,0 +DA:734,0 +DA:735,0 +DA:736,0 +DA:737,0 +DA:738,0 +DA:739,0 +DA:741,0 +DA:742,0 +DA:743,0 +DA:745,0 +DA:746,0 +DA:747,0 +DA:748,0 +DA:749,0 +DA:750,0 +DA:751,0 +DA:752,0 +DA:753,0 +DA:754,0 +DA:755,0 +DA:756,0 +DA:757,0 +DA:758,0 +DA:759,0 +DA:760,0 +DA:763,0 +DA:764,0 +DA:765,0 +LF:491 +LH:0 end_of_record SF:crates/uniplate_derive/src/utils/generate.rs +FN:158,uniplate_derive::utils::generate::generate_field_clones::{closure#0} +FN:134,uniplate_derive::utils::generate::get_field_name +FN:177,uniplate_derive::utils::generate::generate_field_fills::{closure#0} FN:9,uniplate_derive::utils::generate::get_fill FN:154,uniplate_derive::utils::generate::generate_field_clones +FN:146,uniplate_derive::utils::generate::generate_field_idents::{closure#0} FN:154,uniplate_derive::utils::generate::generate_field_clones -FN:154,uniplate_derive::utils::generate::generate_field_clones -FN:142,uniplate_derive::utils::generate::generate_field_idents -FN:177,uniplate_derive::utils::generate::generate_field_fills::{closure#0} -FN:134,uniplate_derive::utils::generate::get_field_name -FN:169,uniplate_derive::utils::generate::generate_field_fills -FN:142,uniplate_derive::utils::generate::generate_field_idents +FN:158,uniplate_derive::utils::generate::generate_field_clones::{closure#0} FN:177,uniplate_derive::utils::generate::generate_field_fills::{closure#0} FN:72,uniplate_derive::utils::generate::get_clone -FN:158,uniplate_derive::utils::generate::generate_field_clones::{closure#0} -FN:158,uniplate_derive::utils::generate::generate_field_clones::{closure#0} -FN:9,uniplate_derive::utils::generate::get_fill FN:142,uniplate_derive::utils::generate::generate_field_idents +FN:72,uniplate_derive::utils::generate::get_clone FN:169,uniplate_derive::utils::generate::generate_field_fills -FN:158,uniplate_derive::utils::generate::generate_field_clones::{closure#0} FN:146,uniplate_derive::utils::generate::generate_field_idents::{closure#0} +FN:142,uniplate_derive::utils::generate::generate_field_idents +FN:142,uniplate_derive::utils::generate::generate_field_idents FN:9,uniplate_derive::utils::generate::get_fill -FN:146,uniplate_derive::utils::generate::generate_field_idents::{closure#0} -FN:72,uniplate_derive::utils::generate::get_clone -FN:177,uniplate_derive::utils::generate::generate_field_fills::{closure#0} -FN:146,uniplate_derive::utils::generate::generate_field_idents::{closure#0} -FN:158,uniplate_derive::utils::generate::generate_field_clones::{closure#0} -FN:177,uniplate_derive::utils::generate::generate_field_fills::{closure#0} -FN:72,uniplate_derive::utils::generate::get_clone +FN:169,uniplate_derive::utils::generate::generate_field_fills FN:134,uniplate_derive::utils::generate::get_field_name -FN:146,uniplate_derive::utils::generate::generate_field_idents::{closure#0} FN:142,uniplate_derive::utils::generate::generate_field_idents FN:134,uniplate_derive::utils::generate::get_field_name +FN:158,uniplate_derive::utils::generate::generate_field_clones::{closure#0} +FN:146,uniplate_derive::utils::generate::generate_field_idents::{closure#0} +FN:146,uniplate_derive::utils::generate::generate_field_idents::{closure#0} +FN:154,uniplate_derive::utils::generate::generate_field_clones +FN:134,uniplate_derive::utils::generate::get_field_name FN:169,uniplate_derive::utils::generate::generate_field_fills FN:169,uniplate_derive::utils::generate::generate_field_fills +FN:72,uniplate_derive::utils::generate::get_clone FN:9,uniplate_derive::utils::generate::get_fill +FN:177,uniplate_derive::utils::generate::generate_field_fills::{closure#0} FN:72,uniplate_derive::utils::generate::get_clone -FN:134,uniplate_derive::utils::generate::get_field_name +FN:158,uniplate_derive::utils::generate::generate_field_clones::{closure#0} FN:154,uniplate_derive::utils::generate::generate_field_clones -FNDA:1,uniplate_derive::utils::generate::get_fill -FNDA:1,uniplate_derive::utils::generate::generate_field_clones -FNDA:1,uniplate_derive::utils::generate::generate_field_clones -FNDA:0,uniplate_derive::utils::generate::generate_field_clones -FNDA:1,uniplate_derive::utils::generate::generate_field_idents -FNDA:0,uniplate_derive::utils::generate::generate_field_fills::{closure#0} -FNDA:0,uniplate_derive::utils::generate::get_field_name -FNDA:0,uniplate_derive::utils::generate::generate_field_fills -FNDA:0,uniplate_derive::utils::generate::generate_field_idents -FNDA:1,uniplate_derive::utils::generate::generate_field_fills::{closure#0} -FNDA:0,uniplate_derive::utils::generate::get_clone +FN:9,uniplate_derive::utils::generate::get_fill +FN:177,uniplate_derive::utils::generate::generate_field_fills::{closure#0} FNDA:1,uniplate_derive::utils::generate::generate_field_clones::{closure#0} -FNDA:0,uniplate_derive::utils::generate::generate_field_clones::{closure#0} -FNDA:0,uniplate_derive::utils::generate::get_fill -FNDA:1,uniplate_derive::utils::generate::generate_field_idents -FNDA:1,uniplate_derive::utils::generate::generate_field_fills -FNDA:0,uniplate_derive::utils::generate::generate_field_clones::{closure#0} -FNDA:0,uniplate_derive::utils::generate::generate_field_idents::{closure#0} -FNDA:1,uniplate_derive::utils::generate::get_fill -FNDA:1,uniplate_derive::utils::generate::generate_field_idents::{closure#0} -FNDA:1,uniplate_derive::utils::generate::get_clone +FNDA:0,uniplate_derive::utils::generate::get_field_name FNDA:0,uniplate_derive::utils::generate::generate_field_fills::{closure#0} +FNDA:0,uniplate_derive::utils::generate::get_fill +FNDA:0,uniplate_derive::utils::generate::generate_field_clones FNDA:1,uniplate_derive::utils::generate::generate_field_idents::{closure#0} +FNDA:1,uniplate_derive::utils::generate::generate_field_clones FNDA:1,uniplate_derive::utils::generate::generate_field_clones::{closure#0} -FNDA:1,uniplate_derive::utils::generate::generate_field_fills::{closure#0} +FNDA:0,uniplate_derive::utils::generate::generate_field_fills::{closure#0} +FNDA:1,uniplate_derive::utils::generate::get_clone +FNDA:0,uniplate_derive::utils::generate::generate_field_idents FNDA:1,uniplate_derive::utils::generate::get_clone +FNDA:1,uniplate_derive::utils::generate::generate_field_fills +FNDA:1,uniplate_derive::utils::generate::generate_field_idents::{closure#0} +FNDA:1,uniplate_derive::utils::generate::generate_field_idents +FNDA:0,uniplate_derive::utils::generate::generate_field_idents +FNDA:1,uniplate_derive::utils::generate::get_fill +FNDA:0,uniplate_derive::utils::generate::generate_field_fills +FNDA:0,uniplate_derive::utils::generate::get_field_name +FNDA:1,uniplate_derive::utils::generate::generate_field_idents FNDA:1,uniplate_derive::utils::generate::get_field_name +FNDA:0,uniplate_derive::utils::generate::generate_field_clones::{closure#0} FNDA:0,uniplate_derive::utils::generate::generate_field_idents::{closure#0} -FNDA:0,uniplate_derive::utils::generate::generate_field_idents +FNDA:0,uniplate_derive::utils::generate::generate_field_idents::{closure#0} +FNDA:1,uniplate_derive::utils::generate::generate_field_clones FNDA:1,uniplate_derive::utils::generate::get_field_name FNDA:0,uniplate_derive::utils::generate::generate_field_fills FNDA:1,uniplate_derive::utils::generate::generate_field_fills +FNDA:0,uniplate_derive::utils::generate::get_clone FNDA:0,uniplate_derive::utils::generate::get_fill +FNDA:1,uniplate_derive::utils::generate::generate_field_fills::{closure#0} FNDA:0,uniplate_derive::utils::generate::get_clone -FNDA:0,uniplate_derive::utils::generate::get_field_name +FNDA:0,uniplate_derive::utils::generate::generate_field_clones::{closure#0} FNDA:0,uniplate_derive::utils::generate::generate_field_clones +FNDA:1,uniplate_derive::utils::generate::get_fill +FNDA:1,uniplate_derive::utils::generate::generate_field_fills::{closure#0} FNF:36 FNH:18 BRF:0 BRH:0 -DA:9,613 -DA:10,613 -DA:11,613 -DA:12,613 -DA:13,613 -DA:14,613 -DA:15,613 -DA:17,464 -DA:19,230 -DA:20,230 -DA:21,230 -DA:23,177 -DA:24,177 -DA:25,177 -DA:26,177 -DA:27,177 -DA:28,177 -DA:30,54 -DA:31,54 -DA:32,54 -DA:33,54 -DA:34,54 -DA:35,54 -DA:36,54 -DA:37,54 -DA:38,54 -DA:39,54 -DA:40,54 -DA:41,54 +DA:9,512 +DA:10,512 +DA:11,512 +DA:12,512 +DA:13,512 +DA:14,512 +DA:15,512 +DA:17,388 +DA:19,192 +DA:20,192 +DA:21,192 +DA:23,148 +DA:24,148 +DA:25,148 +DA:26,148 +DA:27,148 +DA:28,148 +DA:30,45 +DA:31,45 +DA:32,45 +DA:33,45 +DA:34,45 +DA:35,45 +DA:36,45 +DA:37,45 +DA:38,45 +DA:39,45 +DA:40,45 +DA:41,45 DA:43,3 DA:44,3 DA:46,6 @@ -7257,36 +5668,36 @@ DA:56,3 DA:57,3 DA:60,0 DA:62,0 -DA:64,149 -DA:66,149 -DA:67,149 -DA:68,149 -DA:69,613 -DA:72,613 -DA:73,613 -DA:74,613 -DA:75,613 -DA:76,613 -DA:77,613 -DA:79,464 -DA:81,230 -DA:82,230 -DA:83,230 -DA:85,177 -DA:86,177 -DA:87,177 -DA:88,177 -DA:89,177 -DA:90,177 -DA:92,54 -DA:93,54 -DA:94,54 -DA:95,54 -DA:96,54 -DA:97,54 -DA:98,54 -DA:99,54 -DA:100,54 +DA:64,124 +DA:66,124 +DA:67,124 +DA:68,124 +DA:69,512 +DA:72,512 +DA:73,512 +DA:74,512 +DA:75,512 +DA:76,512 +DA:77,512 +DA:79,388 +DA:81,192 +DA:82,192 +DA:83,192 +DA:85,148 +DA:86,148 +DA:87,148 +DA:88,148 +DA:89,148 +DA:90,148 +DA:92,45 +DA:93,45 +DA:94,45 +DA:95,45 +DA:96,45 +DA:97,45 +DA:98,45 +DA:99,45 +DA:100,45 DA:102,3 DA:103,3 DA:105,6 @@ -7303,708 +5714,536 @@ DA:119,3 DA:120,3 DA:124,0 DA:126,0 -DA:128,149 -DA:130,149 -DA:131,613 -DA:134,1504 -DA:135,1504 -DA:136,1504 +DA:128,124 +DA:130,124 +DA:131,512 +DA:134,1252 +DA:135,1252 +DA:136,1252 DA:137,0 -DA:139,1504 -DA:142,300 -DA:143,300 -DA:144,300 -DA:145,300 -DA:146,752 -DA:147,752 -DA:148,752 -DA:149,752 -DA:150,300 -DA:151,300 -DA:154,150 -DA:155,150 -DA:156,150 -DA:157,150 -DA:158,376 -DA:159,376 -DA:160,376 -DA:161,376 -DA:162,376 -DA:163,376 -DA:164,376 -DA:165,150 -DA:166,150 -DA:169,150 -DA:170,150 -DA:171,150 -DA:172,150 -DA:173,150 -DA:174,150 -DA:175,150 -DA:176,150 -DA:177,376 -DA:178,376 -DA:179,376 -DA:180,376 -DA:181,376 -DA:182,376 -DA:183,376 -DA:184,150 -DA:185,150 +DA:139,1252 +DA:142,248 +DA:143,248 +DA:144,248 +DA:145,248 +DA:146,626 +DA:147,626 +DA:148,626 +DA:149,626 +DA:150,248 +DA:151,248 +DA:154,124 +DA:155,124 +DA:156,124 +DA:157,124 +DA:158,313 +DA:159,313 +DA:160,313 +DA:161,313 +DA:162,313 +DA:163,313 +DA:164,313 +DA:165,124 +DA:166,124 +DA:169,124 +DA:170,124 +DA:171,124 +DA:172,124 +DA:173,124 +DA:174,124 +DA:175,124 +DA:176,124 +DA:177,313 +DA:178,313 +DA:179,313 +DA:180,313 +DA:181,313 +DA:182,313 +DA:183,313 +DA:184,124 +DA:185,124 LF:138 LH:133 end_of_record SF:crates/conjure_core/src/rule_engine/mod.rs -FN:172,conjure_core::rule_engine::get_rule_sets -FN:117,conjure_core::rule_engine::get_rules -FN:218,conjure_core::rule_engine::get_rule_sets_for_solver_family::{closure#0} -FN:172,conjure_core::rule_engine::get_rule_sets -FN:145,conjure_core::rule_engine::get_rule_by_name -FN:145,conjure_core::rule_engine::get_rule_by_name -FN:196,conjure_core::rule_engine::get_rule_set_by_name::{closure#0} -FN:63,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_59_0::CONJURE_GEN_RULE_SET_MYRULESET::__typecheck::{closure#0}::{closure#0} -FN:222,conjure_core::rule_engine::get_rule_sets_for_solver_family::{closure#0}::{closure#0} -FN:185,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_180_0::CONJURE_GEN_RULE_SET_MYRULESET::__typecheck -FN:104,rust_out::identity -FN:40,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_33_0::CONJURE_GEN_RULE_IDENTITY::__typecheck -FN:40,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_33_0::CONJURE_GEN_RULE_IDENTITY::__typecheck::{closure#0} -FN:185,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_180_0::CONJURE_GEN_RULE_SET_MYRULESET::__typecheck::{closure#0}::{closure#0} -FN:160,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_154_0::CONJURE_GEN_RULE_SET_ANOTHERRULESET::__typecheck -FN:117,conjure_core::rule_engine::get_rules -FN:218,conjure_core::rule_engine::get_rule_sets_for_solver_family::{closure#0} -FN:60,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_59_0 -FN:159,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_154_0::CONJURE_GEN_RULE_SET_MYRULESET::__typecheck::{closure#0} -FN:60,rust_out::main -FN:196,conjure_core::rule_engine::get_rule_set_by_name::{closure#0} -FN:146,conjure_core::rule_engine::get_rule_by_name::{closure#0} -FN:213,conjure_core::rule_engine::get_rule_sets_for_solver_family -FN:159,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_154_0::CONJURE_GEN_RULE_SET_MYRULESET::__typecheck::{closure#0}::{closure#0} -FN:155,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_154_0 -FN:103,rust_out::CONJURE_GEN_RULE_IDENTITY::__typecheck::{closure#0} -FN:206,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_205_0 -FN:193,conjure_core::rule_engine::get_rule_set_by_name -FN:34,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_33_0 FN:196,conjure_core::rule_engine::get_rule_set_by_name::{closure#0} -FN:145,conjure_core::rule_engine::get_rule_by_name -FN:63,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_59_0::CONJURE_GEN_RULE_SET_MYRULESET::__typecheck::{closure#0} FN:193,conjure_core::rule_engine::get_rule_set_by_name FN:213,conjure_core::rule_engine::get_rule_sets_for_solver_family -FN:185,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_180_0::CONJURE_GEN_RULE_SET_MYRULESET::__typecheck::{closure#0} FN:193,conjure_core::rule_engine::get_rule_set_by_name -FN:103,rust_out::CONJURE_GEN_RULE_IDENTITY::__typecheck +FN:145,conjure_core::rule_engine::get_rule_by_name +FN:117,conjure_core::rule_engine::get_rules FN:213,conjure_core::rule_engine::get_rule_sets_for_solver_family FN:222,conjure_core::rule_engine::get_rule_sets_for_solver_family::{closure#0}::{closure#0} -FN:181,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_180_0 -FN:117,conjure_core::rule_engine::get_rules FN:222,conjure_core::rule_engine::get_rule_sets_for_solver_family::{closure#0}::{closure#0} -FN:63,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_59_0::CONJURE_GEN_RULE_SET_MYRULESET::__typecheck -FN:146,conjure_core::rule_engine::get_rule_by_name::{closure#0} FN:218,conjure_core::rule_engine::get_rule_sets_for_solver_family::{closure#0} -FN:160,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_154_0::CONJURE_GEN_RULE_SET_ANOTHERRULESET::__typecheck::{closure#0}::{closure#0} -FN:103,rust_out::CONJURE_GEN_RULE_IDENTITY::__typecheck::{closure#0}::{closure#0} FN:172,conjure_core::rule_engine::get_rule_sets -FN:160,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_154_0::CONJURE_GEN_RULE_SET_ANOTHERRULESET::__typecheck::{closure#0} -FN:159,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_154_0::CONJURE_GEN_RULE_SET_MYRULESET::__typecheck -FN:40,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_33_0::CONJURE_GEN_RULE_IDENTITY::__typecheck::{closure#0}::{closure#0} -FN:41,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_33_0::identity +FN:218,conjure_core::rule_engine::get_rule_sets_for_solver_family::{closure#0} FN:146,conjure_core::rule_engine::get_rule_by_name::{closure#0} -FNDA:0,conjure_core::rule_engine::get_rule_sets -FNDA:0,conjure_core::rule_engine::get_rules -FNDA:0,conjure_core::rule_engine::get_rule_sets_for_solver_family::{closure#0} -FNDA:0,conjure_core::rule_engine::get_rule_sets -FNDA:0,conjure_core::rule_engine::get_rule_by_name -FNDA:0,conjure_core::rule_engine::get_rule_by_name -FNDA:1,conjure_core::rule_engine::get_rule_set_by_name::{closure#0} -FNDA:0,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_59_0::CONJURE_GEN_RULE_SET_MYRULESET::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rule_engine::get_rule_sets_for_solver_family::{closure#0}::{closure#0} -FNDA:0,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_180_0::CONJURE_GEN_RULE_SET_MYRULESET::__typecheck -FNDA:0,rust_out::identity -FNDA:0,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_33_0::CONJURE_GEN_RULE_IDENTITY::__typecheck -FNDA:0,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_33_0::CONJURE_GEN_RULE_IDENTITY::__typecheck::{closure#0} -FNDA:0,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_180_0::CONJURE_GEN_RULE_SET_MYRULESET::__typecheck::{closure#0}::{closure#0} -FNDA:0,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_154_0::CONJURE_GEN_RULE_SET_ANOTHERRULESET::__typecheck -FNDA:0,conjure_core::rule_engine::get_rules -FNDA:0,conjure_core::rule_engine::get_rule_sets_for_solver_family::{closure#0} -FNDA:1,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_59_0 -FNDA:0,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_154_0::CONJURE_GEN_RULE_SET_MYRULESET::__typecheck::{closure#0} -FNDA:1,rust_out::main +FN:117,conjure_core::rule_engine::get_rules +FN:146,conjure_core::rule_engine::get_rule_by_name::{closure#0} +FN:145,conjure_core::rule_engine::get_rule_by_name +FN:196,conjure_core::rule_engine::get_rule_set_by_name::{closure#0} +FN:172,conjure_core::rule_engine::get_rule_sets FNDA:0,conjure_core::rule_engine::get_rule_set_by_name::{closure#0} -FNDA:0,conjure_core::rule_engine::get_rule_by_name::{closure#0} -FNDA:0,conjure_core::rule_engine::get_rule_sets_for_solver_family -FNDA:0,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_154_0::CONJURE_GEN_RULE_SET_MYRULESET::__typecheck::{closure#0}::{closure#0} -FNDA:1,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_154_0 -FNDA:0,rust_out::CONJURE_GEN_RULE_IDENTITY::__typecheck::{closure#0} -FNDA:1,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_205_0 FNDA:0,conjure_core::rule_engine::get_rule_set_by_name -FNDA:1,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_33_0 -FNDA:0,conjure_core::rule_engine::get_rule_set_by_name::{closure#0} -FNDA:1,conjure_core::rule_engine::get_rule_by_name -FNDA:0,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_59_0::CONJURE_GEN_RULE_SET_MYRULESET::__typecheck::{closure#0} -FNDA:1,conjure_core::rule_engine::get_rule_set_by_name -FNDA:1,conjure_core::rule_engine::get_rule_sets_for_solver_family -FNDA:0,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_180_0::CONJURE_GEN_RULE_SET_MYRULESET::__typecheck::{closure#0} +FNDA:0,conjure_core::rule_engine::get_rule_sets_for_solver_family FNDA:0,conjure_core::rule_engine::get_rule_set_by_name -FNDA:0,rust_out::CONJURE_GEN_RULE_IDENTITY::__typecheck +FNDA:0,conjure_core::rule_engine::get_rule_by_name +FNDA:0,conjure_core::rule_engine::get_rules FNDA:0,conjure_core::rule_engine::get_rule_sets_for_solver_family FNDA:0,conjure_core::rule_engine::get_rule_sets_for_solver_family::{closure#0}::{closure#0} -FNDA:1,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_180_0 -FNDA:1,conjure_core::rule_engine::get_rules -FNDA:1,conjure_core::rule_engine::get_rule_sets_for_solver_family::{closure#0}::{closure#0} -FNDA:0,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_59_0::CONJURE_GEN_RULE_SET_MYRULESET::__typecheck -FNDA:1,conjure_core::rule_engine::get_rule_by_name::{closure#0} -FNDA:1,conjure_core::rule_engine::get_rule_sets_for_solver_family::{closure#0} -FNDA:0,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_154_0::CONJURE_GEN_RULE_SET_ANOTHERRULESET::__typecheck::{closure#0}::{closure#0} -FNDA:0,rust_out::CONJURE_GEN_RULE_IDENTITY::__typecheck::{closure#0}::{closure#0} -FNDA:1,conjure_core::rule_engine::get_rule_sets -FNDA:0,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_154_0::CONJURE_GEN_RULE_SET_ANOTHERRULESET::__typecheck::{closure#0} -FNDA:0,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_154_0::CONJURE_GEN_RULE_SET_MYRULESET::__typecheck -FNDA:0,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_33_0::CONJURE_GEN_RULE_IDENTITY::__typecheck::{closure#0}::{closure#0} -FNDA:0,rust_out::main::_doctest_main_crates_conjure_core_src_rule_engine_mod_rs_33_0::identity +FNDA:0,conjure_core::rule_engine::get_rule_sets_for_solver_family::{closure#0}::{closure#0} +FNDA:0,conjure_core::rule_engine::get_rule_sets_for_solver_family::{closure#0} +FNDA:0,conjure_core::rule_engine::get_rule_sets +FNDA:0,conjure_core::rule_engine::get_rule_sets_for_solver_family::{closure#0} FNDA:0,conjure_core::rule_engine::get_rule_by_name::{closure#0} -FNF:53 -FNH:15 -BRF:0 -BRH:0 -DA:34,1 -DA:35,1 -DA:36,1 -DA:37,1 -DA:38,1 -DA:39,1 -DA:40,1 -DA:41,1 -DA:42,0 -DA:43,0 -DA:44,1 -DA:60,1 -DA:61,1 -DA:62,1 -DA:63,1 -DA:64,1 -DA:103,0 -DA:104,0 -DA:105,0 -DA:106,0 -DA:108,1 -DA:109,1 -DA:110,1 -DA:117,735 -DA:118,735 -DA:119,735 -DA:132,0 -DA:133,0 -DA:134,0 -DA:135,0 -DA:137,1 -DA:138,1 -DA:139,1 -DA:145,375 -DA:146,8235 -DA:147,375 -DA:155,1 -DA:156,1 -DA:157,1 -DA:158,1 -DA:159,1 -DA:160,1 -DA:161,1 -DA:162,1 -DA:163,1 -DA:172,855 -DA:173,855 -DA:174,855 -DA:181,1 -DA:182,1 -DA:183,1 -DA:184,1 -DA:185,1 -DA:186,1 -DA:187,1 -DA:188,1 -DA:193,555 -DA:194,555 -DA:195,555 -DA:196,1695 -DA:197,555 -DA:198,555 -DA:206,1 -DA:207,1 -DA:208,1 -DA:209,1 -DA:210,1 -DA:211,1 -DA:212,1 -DA:213,267 -DA:214,285 -DA:215,285 -DA:216,285 -DA:217,285 -DA:218,1425 -DA:219,1425 -DA:220,1425 -DA:221,1425 -DA:222,1425 -DA:223,1425 -DA:224,285 -DA:225,285 -DA:226,285 -LF:83 -LH:73 +FNDA:0,conjure_core::rule_engine::get_rules +FNDA:0,conjure_core::rule_engine::get_rule_by_name::{closure#0} +FNDA:0,conjure_core::rule_engine::get_rule_by_name +FNDA:0,conjure_core::rule_engine::get_rule_set_by_name::{closure#0} +FNDA:0,conjure_core::rule_engine::get_rule_sets +FNF:18 +FNH:0 +BRF:0 +BRH:0 +DA:117,0 +DA:118,0 +DA:119,0 +DA:145,0 +DA:146,0 +DA:147,0 +DA:172,0 +DA:173,0 +DA:174,0 +DA:193,0 +DA:194,0 +DA:195,0 +DA:196,0 +DA:197,0 +DA:198,0 +DA:213,0 +DA:214,0 +DA:215,0 +DA:216,0 +DA:217,0 +DA:218,0 +DA:219,0 +DA:220,0 +DA:221,0 +DA:222,0 +DA:223,0 +DA:224,0 +DA:225,0 +DA:226,0 +LF:29 +LH:0 end_of_record SF:crates/uniplate_derive/src/lib.rs -FN:12,uniplate_derive::generate_match_pattern -FN:138,uniplate_derive::derive::{closure#0} -FN:157,uniplate_derive::derive::{closure#1} -FN:114,::uniplate::{closure#0} +FN:28,uniplate_derive::generate_variant_children_match_arm FN:127,uniplate_derive::derive -FN:53,uniplate_derive::generate_variant_context_match_arm -FN:157,uniplate_derive::derive::{closure#1} -FN:157,uniplate_derive::derive::{closure#1} FN:12,uniplate_derive::generate_match_pattern -FN:53,uniplate_derive::generate_variant_context_match_arm FN:12,uniplate_derive::generate_match_pattern -FN:110,rust_out::main -FN:114,::uniplate::{closure#2} -FN:127,uniplate_derive::derive -FN:138,uniplate_derive::derive::{closure#0} FN:53,uniplate_derive::generate_variant_context_match_arm -FN:114,::uniplate::{closure#3} -FN:12,uniplate_derive::generate_match_pattern FN:138,uniplate_derive::derive::{closure#0} FN:28,uniplate_derive::generate_variant_children_match_arm -FN:28,uniplate_derive::generate_variant_children_match_arm -FN:114,::uniplate::{closure#1} +FN:157,uniplate_derive::derive::{closure#1} FN:127,uniplate_derive::derive -FN:110,rust_out::main::_doctest_main_crates_uniplate_derive_src_lib_rs_109_0 -FN:28,uniplate_derive::generate_variant_children_match_arm FN:157,uniplate_derive::derive::{closure#1} FN:28,uniplate_derive::generate_variant_children_match_arm +FN:138,uniplate_derive::derive::{closure#0} +FN:28,uniplate_derive::generate_variant_children_match_arm +FN:157,uniplate_derive::derive::{closure#1} FN:53,uniplate_derive::generate_variant_context_match_arm +FN:53,uniplate_derive::generate_variant_context_match_arm +FN:138,uniplate_derive::derive::{closure#0} FN:127,uniplate_derive::derive -FN:114,::uniplate +FN:157,uniplate_derive::derive::{closure#1} +FN:12,uniplate_derive::generate_match_pattern FN:138,uniplate_derive::derive::{closure#0} -FNDA:1,uniplate_derive::generate_match_pattern -FNDA:1,uniplate_derive::derive::{closure#0} -FNDA:1,uniplate_derive::derive::{closure#1} -FNDA:1,::uniplate::{closure#0} +FN:12,uniplate_derive::generate_match_pattern +FN:127,uniplate_derive::derive +FN:53,uniplate_derive::generate_variant_context_match_arm +FNDA:0,uniplate_derive::generate_variant_children_match_arm FNDA:0,uniplate_derive::derive -FNDA:0,uniplate_derive::generate_variant_context_match_arm -FNDA:0,uniplate_derive::derive::{closure#1} -FNDA:0,uniplate_derive::derive::{closure#1} -FNDA:1,uniplate_derive::generate_match_pattern -FNDA:0,uniplate_derive::generate_variant_context_match_arm FNDA:0,uniplate_derive::generate_match_pattern -FNDA:1,rust_out::main -FNDA:0,::uniplate::{closure#2} -FNDA:0,uniplate_derive::derive -FNDA:0,uniplate_derive::derive::{closure#0} +FNDA:1,uniplate_derive::generate_match_pattern FNDA:1,uniplate_derive::generate_variant_context_match_arm -FNDA:0,::uniplate::{closure#3} -FNDA:0,uniplate_derive::generate_match_pattern FNDA:0,uniplate_derive::derive::{closure#0} -FNDA:0,uniplate_derive::generate_variant_children_match_arm -FNDA:0,uniplate_derive::generate_variant_children_match_arm -FNDA:0,::uniplate::{closure#1} -FNDA:1,uniplate_derive::derive -FNDA:1,rust_out::main::_doctest_main_crates_uniplate_derive_src_lib_rs_109_0 FNDA:1,uniplate_derive::generate_variant_children_match_arm FNDA:1,uniplate_derive::derive::{closure#1} +FNDA:1,uniplate_derive::derive +FNDA:0,uniplate_derive::derive::{closure#1} FNDA:1,uniplate_derive::generate_variant_children_match_arm +FNDA:1,uniplate_derive::derive::{closure#0} +FNDA:0,uniplate_derive::generate_variant_children_match_arm +FNDA:1,uniplate_derive::derive::{closure#1} +FNDA:0,uniplate_derive::generate_variant_context_match_arm FNDA:1,uniplate_derive::generate_variant_context_match_arm -FNDA:1,uniplate_derive::derive -FNDA:1,::uniplate FNDA:1,uniplate_derive::derive::{closure#0} -FNF:31 -FNH:16 +FNDA:0,uniplate_derive::derive +FNDA:0,uniplate_derive::derive::{closure#1} +FNDA:0,uniplate_derive::generate_match_pattern +FNDA:0,uniplate_derive::derive::{closure#0} +FNDA:1,uniplate_derive::generate_match_pattern +FNDA:1,uniplate_derive::derive +FNDA:0,uniplate_derive::generate_variant_context_match_arm +FNF:24 +FNH:12 BRF:0 BRH:0 -DA:12,300 -DA:13,300 -DA:14,300 -DA:15,300 -DA:16,300 -DA:17,12 -DA:18,12 -DA:19,12 -DA:21,288 -DA:22,288 -DA:23,288 -DA:25,300 -DA:28,150 -DA:29,150 -DA:30,150 -DA:31,150 -DA:33,150 -DA:34,20 -DA:35,20 -DA:36,20 -DA:38,130 -DA:39,130 -DA:40,130 -DA:43,150 -DA:44,150 -DA:45,150 -DA:46,150 -DA:47,150 -DA:48,150 -DA:49,150 -DA:50,150 -DA:53,150 -DA:54,150 -DA:55,150 -DA:56,150 -DA:57,150 -DA:58,150 -DA:59,150 -DA:60,150 -DA:61,6 -DA:62,6 -DA:63,6 -DA:64,6 -DA:65,6 -DA:67,144 -DA:68,144 -DA:69,144 -DA:70,144 -DA:71,144 -DA:72,144 -DA:73,144 -DA:74,144 -DA:75,144 -DA:76,144 -DA:77,144 -DA:78,144 -DA:80,150 -DA:110,1 -DA:111,1 -DA:112,1 -DA:113,1 -DA:114,3 -DA:115,1 -DA:116,1 -DA:117,1 -DA:118,1 -DA:119,1 -DA:120,1 -DA:121,1 -DA:122,1 -DA:123,1 -DA:124,1 -DA:125,1 -DA:127,8 -DA:128,8 -DA:129,8 -DA:130,8 -DA:132,8 +DA:12,248 +DA:13,248 +DA:14,248 +DA:15,248 +DA:16,248 +DA:17,10 +DA:18,10 +DA:19,10 +DA:21,238 +DA:22,238 +DA:23,238 +DA:25,248 +DA:28,124 +DA:29,124 +DA:30,124 +DA:31,124 +DA:33,124 +DA:34,16 +DA:35,16 +DA:36,16 +DA:38,108 +DA:39,108 +DA:40,108 +DA:43,124 +DA:44,124 +DA:45,124 +DA:46,124 +DA:47,124 +DA:48,124 +DA:49,124 +DA:50,124 +DA:53,124 +DA:54,124 +DA:55,124 +DA:56,124 +DA:57,124 +DA:58,124 +DA:59,124 +DA:60,124 +DA:61,5 +DA:62,5 +DA:63,5 +DA:64,5 +DA:65,5 +DA:67,119 +DA:68,119 +DA:69,119 +DA:70,119 +DA:71,119 +DA:72,119 +DA:73,119 +DA:74,119 +DA:75,119 +DA:76,119 +DA:77,119 +DA:78,119 +DA:80,124 +DA:127,6 +DA:128,6 +DA:129,6 +DA:130,6 +DA:132,6 DA:133,0 DA:134,0 -DA:135,8 -DA:136,8 -DA:137,8 -DA:138,150 -DA:139,8 -DA:141,8 -DA:142,8 -DA:143,8 -DA:144,8 -DA:145,8 -DA:147,8 -DA:151,8 +DA:135,6 +DA:136,6 +DA:137,6 +DA:138,124 +DA:139,6 +DA:141,6 +DA:142,6 +DA:143,6 +DA:144,6 +DA:145,6 +DA:147,6 +DA:151,6 DA:152,0 DA:153,0 -DA:154,8 -DA:155,8 -DA:156,8 -DA:157,150 -DA:158,8 -DA:160,8 -DA:161,8 -DA:162,8 -DA:163,8 -DA:164,8 -DA:166,8 -DA:167,8 -DA:168,8 -DA:169,8 -DA:170,8 -DA:171,8 -DA:172,8 -DA:173,8 -DA:174,8 -DA:175,8 -DA:176,8 -DA:177,8 -DA:178,8 -DA:179,8 -DA:180,8 -DA:181,8 -DA:182,8 -DA:183,8 -DA:184,8 -DA:185,8 -DA:186,8 -DA:187,8 -DA:188,8 -DA:189,8 -DA:190,8 -LF:129 -LH:125 +DA:154,6 +DA:155,6 +DA:156,6 +DA:157,124 +DA:158,6 +DA:160,6 +DA:161,6 +DA:162,6 +DA:163,6 +DA:164,6 +DA:166,6 +DA:167,6 +DA:168,6 +DA:169,6 +DA:170,6 +DA:171,6 +DA:172,6 +DA:173,6 +DA:174,6 +DA:175,6 +DA:176,6 +DA:177,6 +DA:178,6 +DA:179,6 +DA:180,6 +DA:181,6 +DA:182,6 +DA:183,6 +DA:184,6 +DA:185,6 +DA:186,6 +DA:187,6 +DA:188,6 +DA:189,6 +DA:190,6 +LF:113 +LH:109 end_of_record SF:crates/conjure_core/src/stats/mod.rs FN:20,::new -FN:24,::add_solver_run +FN:28,::add_rewriter_run FN:28,::add_rewriter_run FN:20,::new FN:24,::add_solver_run -FN:28,::add_rewriter_run FN:24,::add_solver_run -FN:20,::new -FN:28,::add_rewriter_run FNDA:0,::new -FNDA:1,::add_solver_run -FNDA:1,::add_rewriter_run +FNDA:0,::add_rewriter_run +FNDA:0,::add_rewriter_run FNDA:0,::new FNDA:0,::add_solver_run -FNDA:0,::add_rewriter_run FNDA:0,::add_solver_run -FNDA:0,::new -FNDA:0,::add_rewriter_run -FNF:9 -FNH:2 +FNF:6 +FNH:0 BRF:0 BRH:0 DA:20,0 DA:21,0 DA:22,0 -DA:24,210 -DA:25,210 -DA:26,210 -DA:28,360 -DA:29,360 -DA:30,360 +DA:24,0 +DA:25,0 +DA:26,0 +DA:28,0 +DA:29,0 +DA:30,0 LF:9 -LH:6 +LH:0 end_of_record SF:crates/conjure_macros/src/lib.rs -FN:57,conjure_macros::register_rule::{closure#0} -FN:82,conjure_macros::parse_parenthesized:: -FN:47,conjure_macros::register_rule -FN:107,::parse -FN:107,::parse FN:107,::parse +FN:82,conjure_macros::parse_parenthesized:: +FN:82,conjure_macros::parse_parenthesized::<_> FN:35,::parse FN:35,::parse +FN:47,conjure_macros::register_rule FN:155,conjure_macros::register_rule_set -FN:148,rust_out::main -FN:82,conjure_macros::parse_parenthesized:: FN:155,conjure_macros::register_rule_set -FN:19,::parse -FN:19,::parse -FN:82,conjure_macros::parse_parenthesized:: +FN:35,::parse +FN:107,::parse FN:57,conjure_macros::register_rule::{closure#0} +FN:19,::parse +FN:82,conjure_macros::parse_parenthesized:: FN:57,conjure_macros::register_rule::{closure#0} -FN:82,conjure_macros::parse_parenthesized::<_> FN:155,conjure_macros::register_rule_set FN:107,::parse -FN:155,conjure_macros::register_rule_set -FN:47,conjure_macros::register_rule -FN:19,::parse -FN:148,rust_out::main::_doctest_main_crates_conjure_macros_src_lib_rs_148_0 -FN:19,::parse -FN:82,conjure_macros::parse_parenthesized:: -FN:47,conjure_macros::register_rule +FN:82,conjure_macros::parse_parenthesized:: FN:82,conjure_macros::parse_parenthesized:: FN:35,::parse +FN:82,conjure_macros::parse_parenthesized:: +FN:19,::parse +FN:107,::parse +FN:47,conjure_macros::register_rule FN:57,conjure_macros::register_rule::{closure#0} FN:47,conjure_macros::register_rule -FN:151,rust_out::main::_doctest_main_crates_conjure_macros_src_lib_rs_151_0 -FN:82,conjure_macros::parse_parenthesized:: -FN:35,::parse -FNDA:1,conjure_macros::register_rule::{closure#0} -FNDA:1,conjure_macros::parse_parenthesized:: -FNDA:0,conjure_macros::register_rule -FNDA:1,::parse -FNDA:0,::parse +FN:19,::parse +FN:57,conjure_macros::register_rule::{closure#0} +FN:47,conjure_macros::register_rule +FN:19,::parse +FN:155,conjure_macros::register_rule_set +FN:82,conjure_macros::parse_parenthesized:: FNDA:1,::parse +FNDA:0,conjure_macros::parse_parenthesized:: +FNDA:0,conjure_macros::parse_parenthesized::<_> +FNDA:0,::parse FNDA:1,::parse +FNDA:0,conjure_macros::register_rule +FNDA:0,conjure_macros::register_rule_set +FNDA:0,conjure_macros::register_rule_set FNDA:0,::parse +FNDA:0,::parse +FNDA:0,conjure_macros::register_rule::{closure#0} +FNDA:0,::parse +FNDA:0,conjure_macros::parse_parenthesized:: +FNDA:0,conjure_macros::register_rule::{closure#0} FNDA:1,conjure_macros::register_rule_set -FNDA:1,rust_out::main +FNDA:0,::parse FNDA:1,conjure_macros::parse_parenthesized:: -FNDA:0,conjure_macros::register_rule_set +FNDA:1,conjure_macros::parse_parenthesized:: +FNDA:1,::parse +FNDA:1,conjure_macros::parse_parenthesized:: +FNDA:1,::parse +FNDA:1,::parse +FNDA:1,conjure_macros::register_rule +FNDA:1,conjure_macros::register_rule::{closure#0} +FNDA:0,conjure_macros::register_rule FNDA:1,::parse -FNDA:0,::parse -FNDA:0,conjure_macros::parse_parenthesized:: -FNDA:0,conjure_macros::register_rule::{closure#0} FNDA:1,conjure_macros::register_rule::{closure#0} -FNDA:0,conjure_macros::parse_parenthesized::<_> -FNDA:0,conjure_macros::register_rule_set -FNDA:0,::parse -FNDA:1,conjure_macros::register_rule_set FNDA:1,conjure_macros::register_rule FNDA:0,::parse -FNDA:1,rust_out::main::_doctest_main_crates_conjure_macros_src_lib_rs_148_0 -FNDA:1,::parse +FNDA:1,conjure_macros::register_rule_set FNDA:1,conjure_macros::parse_parenthesized:: -FNDA:1,conjure_macros::register_rule -FNDA:0,conjure_macros::parse_parenthesized:: -FNDA:1,::parse -FNDA:0,conjure_macros::register_rule::{closure#0} -FNDA:0,conjure_macros::register_rule -FNDA:1,rust_out::main::_doctest_main_crates_conjure_macros_src_lib_rs_151_0 -FNDA:1,conjure_macros::parse_parenthesized:: -FNDA:0,::parse -FNF:34 -FNH:19 +FNF:31 +FNH:16 BRF:0 BRH:0 -DA:19,199 -DA:20,199 -DA:21,199 -DA:22,199 -DA:23,199 -DA:24,199 -DA:25,199 -DA:26,199 -DA:35,201 -DA:36,201 -DA:37,201 -DA:38,201 -DA:39,201 -DA:40,201 -DA:47,201 -DA:48,201 -DA:49,201 -DA:50,201 -DA:51,201 -DA:53,201 -DA:54,201 -DA:55,201 -DA:56,201 -DA:57,201 -DA:58,199 -DA:59,199 -DA:60,199 -DA:61,199 -DA:62,199 -DA:63,201 -DA:64,201 -DA:66,201 -DA:67,201 -DA:68,201 -DA:69,201 -DA:70,201 -DA:71,201 -DA:72,201 -DA:73,201 -DA:74,201 -DA:75,201 -DA:76,201 -DA:77,201 -DA:79,201 -DA:80,201 -DA:82,46 -DA:83,46 -DA:84,46 -DA:86,46 -DA:87,48 -DA:88,35 -DA:89,35 -DA:90,35 -DA:91,33 -DA:92,2 -DA:93,2 -DA:96,46 -DA:97,46 -DA:107,34 -DA:108,34 -DA:109,34 -DA:110,34 -DA:112,34 +DA:19,165 +DA:20,165 +DA:21,165 +DA:22,165 +DA:23,165 +DA:24,165 +DA:25,165 +DA:26,165 +DA:35,165 +DA:36,165 +DA:37,165 +DA:38,165 +DA:39,165 +DA:40,165 +DA:47,165 +DA:48,165 +DA:49,165 +DA:50,165 +DA:51,165 +DA:53,165 +DA:54,165 +DA:55,165 +DA:56,165 +DA:57,165 +DA:58,165 +DA:59,165 +DA:60,165 +DA:61,165 +DA:62,165 +DA:63,165 +DA:64,165 +DA:66,165 +DA:67,165 +DA:68,165 +DA:69,165 +DA:70,165 +DA:71,165 +DA:72,165 +DA:73,165 +DA:74,165 +DA:75,165 +DA:76,165 +DA:77,165 +DA:79,165 +DA:80,165 +DA:82,35 +DA:83,35 +DA:84,35 +DA:86,35 +DA:87,35 +DA:88,25 +DA:89,25 +DA:90,25 +DA:91,25 +DA:92,0 +DA:93,0 +DA:96,35 +DA:97,35 +DA:107,25 +DA:108,25 +DA:109,25 +DA:110,25 +DA:112,25 DA:113,0 DA:114,0 DA:115,0 DA:116,0 DA:117,0 DA:118,0 -DA:119,34 -DA:120,34 -DA:121,34 -DA:122,34 -DA:124,34 -DA:125,22 -DA:126,22 -DA:127,22 -DA:128,22 -DA:129,22 -DA:130,22 -DA:131,12 -DA:132,12 -DA:133,12 -DA:134,12 -DA:136,12 -DA:137,12 -DA:138,12 -DA:139,12 -DA:140,12 -DA:141,12 -DA:142,34 -DA:148,1 -DA:149,1 -DA:150,1 -DA:151,1 -DA:152,1 -DA:153,1 -DA:155,34 -DA:157,34 -DA:158,34 -DA:159,34 -DA:160,34 -DA:161,34 -DA:163,34 -DA:164,34 -DA:166,34 -DA:167,34 -DA:168,34 -DA:170,34 -DA:171,34 -DA:172,34 -DA:174,34 -DA:175,34 -DA:176,34 -DA:177,34 -DA:178,34 -DA:179,34 -DA:180,34 -DA:181,34 -LF:119 -LH:113 +DA:119,25 +DA:120,25 +DA:121,25 +DA:122,25 +DA:124,25 +DA:125,15 +DA:126,15 +DA:127,15 +DA:128,15 +DA:129,15 +DA:130,15 +DA:131,10 +DA:132,10 +DA:133,10 +DA:134,10 +DA:136,10 +DA:137,10 +DA:138,10 +DA:139,10 +DA:140,10 +DA:141,10 +DA:142,25 +DA:155,25 +DA:157,25 +DA:158,25 +DA:159,25 +DA:160,25 +DA:161,25 +DA:163,25 +DA:164,25 +DA:166,25 +DA:167,25 +DA:168,25 +DA:170,25 +DA:171,25 +DA:172,25 +DA:174,25 +DA:175,25 +DA:176,25 +DA:177,25 +DA:178,25 +DA:179,25 +DA:180,25 +DA:181,25 +LF:113 +LH:105 end_of_record SF:crates/uniplate/src/test_common/paper.rs -FN:58,uniplate::test_common::paper::proptest_stmts::{closure#0}::{closure#1} -FN:40,uniplate::test_common::paper::proptest_exprs::{closure#0}::{closure#4} -FN:46,uniplate::test_common::paper::proptest_stmts::{closure#1} -FN:30,uniplate::test_common::paper::proptest_exprs::{closure#0} FN:48,uniplate::test_common::paper::proptest_stmts::{closure#0} -FN:37,uniplate::test_common::paper::proptest_exprs::{closure#0}::{closure#2} -FN:27,uniplate::test_common::paper::proptest_exprs -FN:39,uniplate::test_common::paper::proptest_exprs::{closure#0}::{closure#3} -FN:51,uniplate::test_common::paper::proptest_stmts::{closure#0}::{closure#0} FN:33,uniplate::test_common::paper::proptest_exprs::{closure#0}::{closure#0} +FN:40,uniplate::test_common::paper::proptest_exprs::{closure#0}::{closure#4} +FN:39,uniplate::test_common::paper::proptest_exprs::{closure#0}::{closure#3} FN:45,uniplate::test_common::paper::proptest_stmts +FN:27,uniplate::test_common::paper::proptest_exprs FN:35,uniplate::test_common::paper::proptest_exprs::{closure#0}::{closure#1} -FNDA:0,uniplate::test_common::paper::proptest_stmts::{closure#0}::{closure#1} -FNDA:0,uniplate::test_common::paper::proptest_exprs::{closure#0}::{closure#4} -FNDA:0,uniplate::test_common::paper::proptest_stmts::{closure#1} -FNDA:0,uniplate::test_common::paper::proptest_exprs::{closure#0} +FN:30,uniplate::test_common::paper::proptest_exprs::{closure#0} +FN:51,uniplate::test_common::paper::proptest_stmts::{closure#0}::{closure#0} +FN:37,uniplate::test_common::paper::proptest_exprs::{closure#0}::{closure#2} +FN:46,uniplate::test_common::paper::proptest_stmts::{closure#1} +FN:58,uniplate::test_common::paper::proptest_stmts::{closure#0}::{closure#1} FNDA:0,uniplate::test_common::paper::proptest_stmts::{closure#0} -FNDA:0,uniplate::test_common::paper::proptest_exprs::{closure#0}::{closure#2} -FNDA:0,uniplate::test_common::paper::proptest_exprs -FNDA:0,uniplate::test_common::paper::proptest_exprs::{closure#0}::{closure#3} -FNDA:0,uniplate::test_common::paper::proptest_stmts::{closure#0}::{closure#0} FNDA:0,uniplate::test_common::paper::proptest_exprs::{closure#0}::{closure#0} +FNDA:0,uniplate::test_common::paper::proptest_exprs::{closure#0}::{closure#4} +FNDA:0,uniplate::test_common::paper::proptest_exprs::{closure#0}::{closure#3} FNDA:0,uniplate::test_common::paper::proptest_stmts +FNDA:0,uniplate::test_common::paper::proptest_exprs FNDA:0,uniplate::test_common::paper::proptest_exprs::{closure#0}::{closure#1} +FNDA:0,uniplate::test_common::paper::proptest_exprs::{closure#0} +FNDA:0,uniplate::test_common::paper::proptest_stmts::{closure#0}::{closure#0} +FNDA:0,uniplate::test_common::paper::proptest_exprs::{closure#0}::{closure#2} +FNDA:0,uniplate::test_common::paper::proptest_stmts::{closure#1} +FNDA:0,uniplate::test_common::paper::proptest_stmts::{closure#0}::{closure#1} FNF:12 FNH:0 BRF:0 @@ -8050,17 +6289,13 @@ end_of_record SF:crates/conjure_core/src/solver/model_modifier.rs FN:23,<_ as conjure_core::solver::model_modifier::ModelModifier>::add_constraint FN:27,<_ as conjure_core::solver::model_modifier::ModelModifier>::add_variable -FN:23,<_ as conjure_core::solver::model_modifier::ModelModifier>::add_constraint FN:27,<_ as conjure_core::solver::model_modifier::ModelModifier>::add_variable FN:23,<_ as conjure_core::solver::model_modifier::ModelModifier>::add_constraint -FN:27,<_ as conjure_core::solver::model_modifier::ModelModifier>::add_variable FNDA:0,<_ as conjure_core::solver::model_modifier::ModelModifier>::add_constraint FNDA:0,<_ as conjure_core::solver::model_modifier::ModelModifier>::add_variable -FNDA:0,<_ as conjure_core::solver::model_modifier::ModelModifier>::add_constraint FNDA:0,<_ as conjure_core::solver::model_modifier::ModelModifier>::add_variable FNDA:0,<_ as conjure_core::solver::model_modifier::ModelModifier>::add_constraint -FNDA:0,<_ as conjure_core::solver::model_modifier::ModelModifier>::add_variable -FNF:6 +FNF:4 FNH:0 BRF:0 BRH:0 @@ -8074,257 +6309,199 @@ LF:6 LH:0 end_of_record SF:crates/conjure_core/src/solver/adaptors/minion.rs -FN:78,::new -FN:264,conjure_core::solver::adaptors::minion::read_expr -FN:45,conjure_core::solver::adaptors::minion::minion_rs_callback::{closure#0} -FN:45,conjure_core::solver::adaptors::minion::minion_rs_callback::{closure#0}::{closure#0} -FN:106,::solve::{closure#0}::{closure#0} -FN:117,::solve::{closure#1} -FN:232,conjure_core::solver::adaptors::minion::_try_add_var -FN:264,conjure_core::solver::adaptors::minion::read_expr -FN:106,::solve::{closure#0} -FN:348,conjure_core::solver::adaptors::minion::get_solver_stats -FN:161,conjure_core::solver::adaptors::minion::parse_vars -FN:106,::solve::{closure#0}::{closure#0} -FN:156,::get_name -FN:306,conjure_core::solver::adaptors::minion::read_var -FN:156,::get_name -FN:186,conjure_core::solver::adaptors::minion::_parse_intdomain_var +FN:232,conjure_core::solver::adaptors::minion::_try_add_var +FN:152,::get_family FN:220,conjure_core::solver::adaptors::minion::_parse_booldomain_var -FN:317,conjure_core::solver::adaptors::minion::_read_ref -FN:174,conjure_core::solver::adaptors::minion::parse_var +FN:340,conjure_core::solver::adaptors::minion::_name_to_string +FN:264,conjure_core::solver::adaptors::minion::read_expr +FN:156,::get_name +FN:94,::solve +FN:87,::default +FN:350,conjure_core::solver::adaptors::minion::get_solver_stats::{closure#0} +FN:136,::solve_mut FN:45,conjure_core::solver::adaptors::minion::minion_rs_callback::{closure#0} -FN:42,conjure_core::solver::adaptors::minion::minion_rs_callback +FN:161,conjure_core::solver::adaptors::minion::parse_vars FN:144,::load_model -FN:87,::default -FN:306,conjure_core::solver::adaptors::minion::read_var -FN:87,::default +FN:161,conjure_core::solver::adaptors::minion::parse_vars FN:186,conjure_core::solver::adaptors::minion::_parse_intdomain_var -FN:256,conjure_core::solver::adaptors::minion::parse_expr -FN:288,conjure_core::solver::adaptors::minion::read_expr::{closure#0} -FN:348,conjure_core::solver::adaptors::minion::get_solver_stats +FN:246,conjure_core::solver::adaptors::minion::parse_exprs +FN:78,::new +FN:174,conjure_core::solver::adaptors::minion::parse_var FN:297,conjure_core::solver::adaptors::minion::read_vars FN:264,conjure_core::solver::adaptors::minion::read_expr -FN:232,conjure_core::solver::adaptors::minion::_try_add_var -FN:232,conjure_core::solver::adaptors::minion::_try_add_var -FN:330,conjure_core::solver::adaptors::minion::read_const -FN:106,::solve::{closure#0} -FN:144,::load_model -FN:246,conjure_core::solver::adaptors::minion::parse_exprs -FN:340,conjure_core::solver::adaptors::minion::_name_to_string -FN:94,::solve -FN:220,conjure_core::solver::adaptors::minion::_parse_booldomain_var -FN:94,::solve -FN:330,conjure_core::solver::adaptors::minion::read_const -FN:288,conjure_core::solver::adaptors::minion::read_expr::{closure#0} -FN:306,conjure_core::solver::adaptors::minion::read_var -FN:161,conjure_core::solver::adaptors::minion::parse_vars FN:186,conjure_core::solver::adaptors::minion::_parse_intdomain_var -FN:117,::solve::{closure#1} -FN:94,::solve -FN:350,conjure_core::solver::adaptors::minion::get_solver_stats::{closure#0} +FN:106,::solve::{closure#0}::{closure#0} FN:144,::load_model -FN:117,::solve::{closure#1} -FN:45,conjure_core::solver::adaptors::minion::minion_rs_callback::{closure#0} -FN:152,::get_family -FN:246,conjure_core::solver::adaptors::minion::parse_exprs -FN:152,::get_family FN:330,conjure_core::solver::adaptors::minion::read_const -FN:136,::solve_mut -FN:161,conjure_core::solver::adaptors::minion::parse_vars -FN:317,conjure_core::solver::adaptors::minion::_read_ref +FN:306,conjure_core::solver::adaptors::minion::read_var +FN:174,conjure_core::solver::adaptors::minion::parse_var +FN:340,conjure_core::solver::adaptors::minion::_name_to_string +FN:42,conjure_core::solver::adaptors::minion::minion_rs_callback +FN:45,conjure_core::solver::adaptors::minion::minion_rs_callback::{closure#0}::{closure#0} +FN:156,::get_name FN:256,conjure_core::solver::adaptors::minion::parse_expr -FN:297,conjure_core::solver::adaptors::minion::read_vars -FN:288,conjure_core::solver::adaptors::minion::read_expr::{closure#0} -FN:78,::new FN:87,::default FN:297,conjure_core::solver::adaptors::minion::read_vars -FN:136,::solve_mut -FN:174,conjure_core::solver::adaptors::minion::parse_var -FN:136,::solve_mut -FN:174,conjure_core::solver::adaptors::minion::parse_var -FN:350,conjure_core::solver::adaptors::minion::get_solver_stats::{closure#0} -FN:45,conjure_core::solver::adaptors::minion::minion_rs_callback::{closure#0}::{closure#0} -FN:220,conjure_core::solver::adaptors::minion::_parse_booldomain_var -FN:246,conjure_core::solver::adaptors::minion::parse_exprs -FN:45,conjure_core::solver::adaptors::minion::minion_rs_callback::{closure#0}::{closure#0} -FN:78,::new FN:152,::get_family -FN:106,::solve::{closure#0} -FN:350,conjure_core::solver::adaptors::minion::get_solver_stats::{closure#0} FN:42,conjure_core::solver::adaptors::minion::minion_rs_callback -FN:340,conjure_core::solver::adaptors::minion::_name_to_string +FN:117,::solve::{closure#1} +FN:317,conjure_core::solver::adaptors::minion::_read_ref FN:348,conjure_core::solver::adaptors::minion::get_solver_stats -FN:256,conjure_core::solver::adaptors::minion::parse_expr FN:317,conjure_core::solver::adaptors::minion::_read_ref -FN:340,conjure_core::solver::adaptors::minion::_name_to_string -FN:42,conjure_core::solver::adaptors::minion::minion_rs_callback +FN:246,conjure_core::solver::adaptors::minion::parse_exprs +FN:330,conjure_core::solver::adaptors::minion::read_const +FN:348,conjure_core::solver::adaptors::minion::get_solver_stats +FN:350,conjure_core::solver::adaptors::minion::get_solver_stats::{closure#0} +FN:106,::solve::{closure#0} +FN:136,::solve_mut +FN:117,::solve::{closure#1} +FN:106,::solve::{closure#0} +FN:220,conjure_core::solver::adaptors::minion::_parse_booldomain_var +FN:45,conjure_core::solver::adaptors::minion::minion_rs_callback::{closure#0} FN:106,::solve::{closure#0}::{closure#0} -FN:156,::get_name -FNDA:0,::new -FNDA:0,conjure_core::solver::adaptors::minion::read_expr -FNDA:0,conjure_core::solver::adaptors::minion::minion_rs_callback::{closure#0} -FNDA:0,conjure_core::solver::adaptors::minion::minion_rs_callback::{closure#0}::{closure#0} -FNDA:0,::solve::{closure#0}::{closure#0} -FNDA:0,::solve::{closure#1} +FN:306,conjure_core::solver::adaptors::minion::read_var +FN:45,conjure_core::solver::adaptors::minion::minion_rs_callback::{closure#0}::{closure#0} +FN:78,::new +FN:288,conjure_core::solver::adaptors::minion::read_expr::{closure#0} +FN:232,conjure_core::solver::adaptors::minion::_try_add_var +FN:288,conjure_core::solver::adaptors::minion::read_expr::{closure#0} +FN:256,conjure_core::solver::adaptors::minion::parse_expr +FN:94,::solve FNDA:0,conjure_core::solver::adaptors::minion::_try_add_var +FNDA:0,::get_family +FNDA:0,conjure_core::solver::adaptors::minion::_parse_booldomain_var +FNDA:0,conjure_core::solver::adaptors::minion::_name_to_string FNDA:0,conjure_core::solver::adaptors::minion::read_expr -FNDA:0,::solve::{closure#0} -FNDA:1,conjure_core::solver::adaptors::minion::get_solver_stats -FNDA:1,conjure_core::solver::adaptors::minion::parse_vars -FNDA:0,::solve::{closure#0}::{closure#0} -FNDA:0,::get_name -FNDA:1,conjure_core::solver::adaptors::minion::read_var FNDA:0,::get_name +FNDA:0,::solve +FNDA:0,::default +FNDA:0,conjure_core::solver::adaptors::minion::get_solver_stats::{closure#0} +FNDA:0,::solve_mut +FNDA:0,conjure_core::solver::adaptors::minion::minion_rs_callback::{closure#0} +FNDA:0,conjure_core::solver::adaptors::minion::parse_vars +FNDA:0,::load_model +FNDA:0,conjure_core::solver::adaptors::minion::parse_vars FNDA:0,conjure_core::solver::adaptors::minion::_parse_intdomain_var -FNDA:0,conjure_core::solver::adaptors::minion::_parse_booldomain_var -FNDA:0,conjure_core::solver::adaptors::minion::_read_ref +FNDA:0,conjure_core::solver::adaptors::minion::parse_exprs +FNDA:0,::new FNDA:0,conjure_core::solver::adaptors::minion::parse_var -FNDA:0,conjure_core::solver::adaptors::minion::minion_rs_callback::{closure#0} -FNDA:0,conjure_core::solver::adaptors::minion::minion_rs_callback +FNDA:0,conjure_core::solver::adaptors::minion::read_vars +FNDA:0,conjure_core::solver::adaptors::minion::read_expr +FNDA:0,conjure_core::solver::adaptors::minion::_parse_intdomain_var +FNDA:0,::solve::{closure#0}::{closure#0} FNDA:0,::load_model -FNDA:0,::default +FNDA:0,conjure_core::solver::adaptors::minion::read_const FNDA:0,conjure_core::solver::adaptors::minion::read_var -FNDA:0,::default -FNDA:0,conjure_core::solver::adaptors::minion::_parse_intdomain_var +FNDA:0,conjure_core::solver::adaptors::minion::parse_var +FNDA:0,conjure_core::solver::adaptors::minion::_name_to_string +FNDA:0,conjure_core::solver::adaptors::minion::minion_rs_callback +FNDA:0,conjure_core::solver::adaptors::minion::minion_rs_callback::{closure#0}::{closure#0} +FNDA:0,::get_name FNDA:0,conjure_core::solver::adaptors::minion::parse_expr -FNDA:0,conjure_core::solver::adaptors::minion::read_expr::{closure#0} -FNDA:0,conjure_core::solver::adaptors::minion::get_solver_stats +FNDA:0,::default FNDA:0,conjure_core::solver::adaptors::minion::read_vars -FNDA:1,conjure_core::solver::adaptors::minion::read_expr -FNDA:0,conjure_core::solver::adaptors::minion::_try_add_var -FNDA:1,conjure_core::solver::adaptors::minion::_try_add_var -FNDA:0,conjure_core::solver::adaptors::minion::read_const -FNDA:1,::solve::{closure#0} -FNDA:1,::load_model +FNDA:0,::get_family +FNDA:0,conjure_core::solver::adaptors::minion::minion_rs_callback +FNDA:0,::solve::{closure#1} +FNDA:0,conjure_core::solver::adaptors::minion::_read_ref +FNDA:0,conjure_core::solver::adaptors::minion::get_solver_stats +FNDA:0,conjure_core::solver::adaptors::minion::_read_ref FNDA:0,conjure_core::solver::adaptors::minion::parse_exprs -FNDA:0,conjure_core::solver::adaptors::minion::_name_to_string -FNDA:1,::solve -FNDA:0,conjure_core::solver::adaptors::minion::_parse_booldomain_var -FNDA:0,::solve FNDA:0,conjure_core::solver::adaptors::minion::read_const -FNDA:0,conjure_core::solver::adaptors::minion::read_expr::{closure#0} -FNDA:0,conjure_core::solver::adaptors::minion::read_var -FNDA:0,conjure_core::solver::adaptors::minion::parse_vars -FNDA:1,conjure_core::solver::adaptors::minion::_parse_intdomain_var -FNDA:0,::solve::{closure#1} -FNDA:0,::solve -FNDA:1,conjure_core::solver::adaptors::minion::get_solver_stats::{closure#0} -FNDA:0,::load_model +FNDA:0,conjure_core::solver::adaptors::minion::get_solver_stats +FNDA:0,conjure_core::solver::adaptors::minion::get_solver_stats::{closure#0} +FNDA:0,::solve::{closure#0} +FNDA:0,::solve_mut FNDA:0,::solve::{closure#1} +FNDA:0,::solve::{closure#0} +FNDA:0,conjure_core::solver::adaptors::minion::_parse_booldomain_var FNDA:0,conjure_core::solver::adaptors::minion::minion_rs_callback::{closure#0} -FNDA:1,::get_family -FNDA:0,conjure_core::solver::adaptors::minion::parse_exprs -FNDA:0,::get_family -FNDA:1,conjure_core::solver::adaptors::minion::read_const -FNDA:0,::solve_mut -FNDA:0,conjure_core::solver::adaptors::minion::parse_vars -FNDA:0,conjure_core::solver::adaptors::minion::_read_ref -FNDA:0,conjure_core::solver::adaptors::minion::parse_expr -FNDA:0,conjure_core::solver::adaptors::minion::read_vars -FNDA:1,conjure_core::solver::adaptors::minion::read_expr::{closure#0} -FNDA:1,::new -FNDA:0,::default -FNDA:1,conjure_core::solver::adaptors::minion::read_vars -FNDA:0,::solve_mut -FNDA:1,conjure_core::solver::adaptors::minion::parse_var -FNDA:0,::solve_mut -FNDA:0,conjure_core::solver::adaptors::minion::parse_var -FNDA:0,conjure_core::solver::adaptors::minion::get_solver_stats::{closure#0} -FNDA:0,conjure_core::solver::adaptors::minion::minion_rs_callback::{closure#0}::{closure#0} -FNDA:1,conjure_core::solver::adaptors::minion::_parse_booldomain_var -FNDA:1,conjure_core::solver::adaptors::minion::parse_exprs +FNDA:0,::solve::{closure#0}::{closure#0} +FNDA:0,conjure_core::solver::adaptors::minion::read_var FNDA:0,conjure_core::solver::adaptors::minion::minion_rs_callback::{closure#0}::{closure#0} FNDA:0,::new -FNDA:0,::get_family -FNDA:0,::solve::{closure#0} -FNDA:0,conjure_core::solver::adaptors::minion::get_solver_stats::{closure#0} -FNDA:1,conjure_core::solver::adaptors::minion::minion_rs_callback -FNDA:0,conjure_core::solver::adaptors::minion::_name_to_string -FNDA:0,conjure_core::solver::adaptors::minion::get_solver_stats -FNDA:1,conjure_core::solver::adaptors::minion::parse_expr -FNDA:1,conjure_core::solver::adaptors::minion::_read_ref -FNDA:1,conjure_core::solver::adaptors::minion::_name_to_string -FNDA:0,conjure_core::solver::adaptors::minion::minion_rs_callback -FNDA:0,::solve::{closure#0}::{closure#0} -FNDA:1,::get_name -FNF:87 -FNH:23 +FNDA:0,conjure_core::solver::adaptors::minion::read_expr::{closure#0} +FNDA:0,conjure_core::solver::adaptors::minion::_try_add_var +FNDA:0,conjure_core::solver::adaptors::minion::read_expr::{closure#0} +FNDA:0,conjure_core::solver::adaptors::minion::parse_expr +FNDA:0,::solve +FNF:58 +FNH:0 BRF:0 BRH:0 -DA:42,2145 -DA:43,2145 -DA:44,2145 -DA:45,2145 -DA:46,2145 -DA:47,2145 -DA:48,2145 -DA:49,2145 -DA:50,7485 -DA:51,7485 +DA:42,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 DA:52,0 -DA:53,7485 +DA:53,0 DA:54,0 -DA:57,7485 -DA:58,7485 -DA:59,1785 -DA:61,5700 -DA:64,7485 -DA:67,2145 -DA:68,2145 +DA:57,0 +DA:58,0 +DA:59,0 +DA:61,0 +DA:64,0 +DA:67,0 +DA:68,0 DA:69,0 -DA:70,2145 -DA:72,2145 -DA:73,2145 -DA:78,375 -DA:79,375 -DA:80,375 -DA:81,375 -DA:82,375 -DA:83,375 +DA:70,0 +DA:72,0 +DA:73,0 +DA:78,0 +DA:79,0 +DA:80,0 +DA:81,0 +DA:82,0 +DA:83,0 DA:87,0 DA:88,0 DA:89,0 -DA:94,375 -DA:95,375 -DA:96,375 -DA:97,375 -DA:98,375 -DA:99,375 -DA:100,375 -DA:101,375 -DA:102,375 -DA:103,375 -DA:104,375 -DA:105,375 -DA:106,375 -DA:107,375 -DA:108,375 -DA:109,375 -DA:110,375 -DA:111,375 -DA:112,375 -DA:113,375 -DA:114,375 -DA:115,375 -DA:116,375 -DA:117,375 +DA:94,0 +DA:95,0 +DA:96,0 +DA:97,0 +DA:98,0 +DA:99,0 +DA:100,0 +DA:101,0 +DA:102,0 +DA:103,0 +DA:104,0 +DA:105,0 +DA:106,0 +DA:107,0 +DA:108,0 +DA:109,0 +DA:110,0 +DA:111,0 +DA:112,0 +DA:113,0 +DA:114,0 +DA:115,0 +DA:116,0 +DA:117,0 DA:118,0 DA:119,0 DA:120,0 DA:121,0 -DA:122,375 -DA:124,375 -DA:125,375 +DA:122,0 +DA:124,0 +DA:125,0 DA:126,0 -DA:127,375 -DA:128,375 -DA:129,375 -DA:130,375 -DA:131,375 -DA:132,375 -DA:133,375 -DA:134,375 +DA:127,0 +DA:128,0 +DA:129,0 +DA:130,0 +DA:131,0 +DA:132,0 +DA:133,0 +DA:134,0 DA:136,0 DA:137,0 DA:138,0 @@ -8332,284 +6509,260 @@ DA:139,0 DA:140,0 DA:141,0 DA:142,0 -DA:144,375 -DA:145,375 -DA:146,375 -DA:147,375 -DA:148,375 -DA:149,375 -DA:150,375 -DA:152,375 -DA:153,375 -DA:154,375 -DA:156,375 -DA:157,375 -DA:158,375 -DA:161,375 -DA:162,375 -DA:163,375 -DA:164,375 -DA:168,1035 -DA:169,1035 -DA:171,375 -DA:172,375 -DA:174,1035 -DA:175,1035 -DA:176,1035 -DA:177,1035 -DA:178,1035 -DA:179,1035 -DA:180,930 -DA:181,105 +DA:144,0 +DA:145,0 +DA:146,0 +DA:147,0 +DA:148,0 +DA:149,0 +DA:150,0 +DA:152,0 +DA:153,0 +DA:154,0 +DA:156,0 +DA:157,0 +DA:158,0 +DA:161,0 +DA:162,0 +DA:163,0 +DA:164,0 +DA:168,0 +DA:169,0 +DA:171,0 +DA:172,0 +DA:174,0 +DA:175,0 +DA:176,0 +DA:177,0 +DA:178,0 +DA:179,0 +DA:180,0 +DA:181,0 DA:182,0 -DA:184,1035 -DA:186,930 -DA:187,930 -DA:188,930 -DA:189,930 -DA:190,930 -DA:191,930 -DA:192,930 -DA:193,930 +DA:184,0 +DA:186,0 +DA:187,0 +DA:188,0 +DA:189,0 +DA:190,0 +DA:191,0 +DA:192,0 +DA:193,0 DA:194,0 DA:195,0 DA:196,0 DA:197,0 DA:198,0 -DA:199,930 -DA:201,930 -DA:202,930 -DA:203,930 -DA:204,930 -DA:206,930 -DA:207,930 +DA:199,0 +DA:201,0 +DA:202,0 +DA:203,0 +DA:204,0 +DA:206,0 +DA:207,0 DA:208,0 DA:210,0 DA:211,0 -DA:213,930 -DA:214,930 -DA:215,930 -DA:216,930 -DA:217,930 -DA:218,930 -DA:220,105 -DA:221,105 -DA:222,105 -DA:223,105 -DA:224,105 -DA:225,105 -DA:226,105 -DA:227,105 -DA:228,105 -DA:229,105 -DA:230,105 -DA:232,1035 -DA:233,1035 -DA:234,1035 -DA:235,1035 -DA:236,1035 -DA:237,1035 -DA:238,1035 -DA:239,1035 -DA:240,1035 -DA:241,1035 -DA:242,1035 -DA:243,1035 -DA:244,1035 -DA:246,375 -DA:247,375 -DA:248,375 -DA:249,375 -DA:250,4230 -DA:251,4230 -DA:253,375 -DA:254,375 -DA:256,4230 -DA:257,4230 -DA:258,4230 -DA:259,4230 -DA:260,4230 -DA:261,4230 -DA:262,4230 -DA:264,17100 -DA:265,17100 -DA:266,4305 -DA:267,4305 -DA:268,4305 -DA:270,4290 -DA:271,4290 -DA:272,4290 -DA:274,4545 -DA:275,4545 -DA:276,4545 -DA:277,4545 -DA:279,105 -DA:280,105 -DA:282,60 -DA:283,60 -DA:285,3600 -DA:286,3600 -DA:287,3600 -DA:288,12870 -DA:289,3600 -DA:291,195 -DA:292,195 +DA:213,0 +DA:214,0 +DA:215,0 +DA:216,0 +DA:217,0 +DA:218,0 +DA:220,0 +DA:221,0 +DA:222,0 +DA:223,0 +DA:224,0 +DA:225,0 +DA:226,0 +DA:227,0 +DA:228,0 +DA:229,0 +DA:230,0 +DA:232,0 +DA:233,0 +DA:234,0 +DA:235,0 +DA:236,0 +DA:237,0 +DA:238,0 +DA:239,0 +DA:240,0 +DA:241,0 +DA:242,0 +DA:243,0 +DA:244,0 +DA:246,0 +DA:247,0 +DA:248,0 +DA:249,0 +DA:250,0 +DA:251,0 +DA:253,0 +DA:254,0 +DA:256,0 +DA:257,0 +DA:258,0 +DA:259,0 +DA:260,0 +DA:261,0 +DA:262,0 +DA:264,0 +DA:265,0 +DA:266,0 +DA:267,0 +DA:268,0 +DA:270,0 +DA:271,0 +DA:272,0 +DA:274,0 +DA:275,0 +DA:276,0 +DA:277,0 +DA:279,0 +DA:280,0 +DA:282,0 +DA:283,0 +DA:285,0 +DA:286,0 +DA:287,0 +DA:288,0 +DA:289,0 +DA:291,0 +DA:292,0 DA:294,0 -DA:296,17100 -DA:297,8595 -DA:298,8595 -DA:299,34380 -DA:300,25785 -DA:301,25785 -DA:303,8595 -DA:304,8595 -DA:306,44250 -DA:307,44250 -DA:308,44250 -DA:309,35460 -DA:310,8790 -DA:311,8790 +DA:296,0 +DA:297,0 +DA:298,0 +DA:299,0 +DA:300,0 +DA:301,0 +DA:303,0 +DA:304,0 +DA:306,0 +DA:307,0 +DA:308,0 +DA:309,0 +DA:310,0 +DA:311,0 DA:312,0 -DA:315,44250 -DA:317,44250 -DA:318,44250 -DA:319,35460 -DA:320,8790 -DA:321,8790 -DA:322,8790 -DA:323,8790 -DA:324,8790 -DA:326,35460 -DA:327,35460 -DA:328,44250 -DA:330,13335 -DA:331,13335 -DA:332,13335 +DA:315,0 +DA:317,0 +DA:318,0 +DA:319,0 +DA:320,0 +DA:321,0 +DA:322,0 +DA:323,0 +DA:324,0 +DA:326,0 +DA:327,0 +DA:328,0 +DA:330,0 +DA:331,0 +DA:332,0 DA:333,0 DA:334,0 DA:335,0 DA:336,0 -DA:338,13335 -DA:340,36495 -DA:341,36495 -DA:342,35865 -DA:343,630 -DA:345,36495 -DA:348,375 -DA:349,375 -DA:350,375 -DA:351,375 -DA:352,375 -DA:353,375 +DA:338,0 +DA:340,0 +DA:341,0 +DA:342,0 +DA:343,0 +DA:345,0 +DA:348,0 +DA:349,0 +DA:350,0 +DA:351,0 +DA:352,0 +DA:353,0 LF:249 -LH:216 +LH:0 end_of_record SF:crates/conjure_core/src/stats/solver_stats.rs FN:33,::with_timings FN:33,::with_timings -FN:33,::with_timings -FNDA:1,::with_timings FNDA:0,::with_timings FNDA:0,::with_timings -FNF:3 -FNH:1 +FNF:2 +FNH:0 BRF:0 BRH:0 -DA:33,375 -DA:34,375 -DA:35,375 -DA:36,375 -DA:37,375 -DA:38,375 +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 LF:6 -LH:6 +LH:0 end_of_record SF:crates/conjure_core/src/rule_engine/rule.rs -FN:131,::eq +FN:35,::new FN:44,::pure FN:71,::apply -FN:125,::fmt -FN:44,::pure -FN:125,::fmt -FN:35,::new -FN:119,::apply -FN:139,::hash::<_> FN:53,::with_symbols -FN:10,::fmt FN:119,::apply FN:62,::with_top FN:107,::new -FN:71,::apply -FN:119,::apply -FN:139,::hash:: -FN:131,::eq FN:10,::fmt -FN:35,::new +FN:125,::fmt FN:131,::eq -FN:35,::new +FN:119,::apply +FN:125,::fmt FN:62,::with_top +FN:71,::apply +FN:10,::fmt +FN:139,::hash::<_> +FN:35,::new FN:107,::new -FN:139,::hash:: -FN:62,::with_top -FN:53,::with_symbols FN:44,::pure -FN:71,::apply +FN:131,::eq FN:53,::with_symbols -FN:125,::fmt -FN:107,::new -FN:10,::fmt -FNDA:0,::eq +FN:139,::hash:: +FNDA:0,::new FNDA:0,::pure FNDA:0,::apply -FNDA:0,::fmt -FNDA:1,::pure -FNDA:0,::fmt -FNDA:0,::new -FNDA:0,::apply -FNDA:0,::hash::<_> FNDA:0,::with_symbols -FNDA:0,::fmt FNDA:0,::apply FNDA:0,::with_top FNDA:0,::new -FNDA:1,::apply -FNDA:1,::apply -FNDA:1,::hash:: +FNDA:0,::fmt +FNDA:0,::fmt FNDA:0,::eq +FNDA:0,::apply +FNDA:0,::fmt +FNDA:0,::with_top +FNDA:0,::apply FNDA:0,::fmt +FNDA:0,::hash::<_> FNDA:0,::new -FNDA:1,::eq -FNDA:1,::new -FNDA:0,::with_top FNDA:0,::new -FNDA:0,::hash:: -FNDA:0,::with_top -FNDA:0,::with_symbols FNDA:0,::pure -FNDA:0,::apply +FNDA:0,::eq FNDA:0,::with_symbols -FNDA:0,::fmt -FNDA:0,::new -FNDA:0,::fmt -FNF:33 -FNH:6 +FNDA:0,::hash:: +FNF:22 +FNH:0 BRF:0 BRH:0 DA:10,0 -DA:35,20265 -DA:36,20265 -DA:37,20265 -DA:38,20265 -DA:39,20265 -DA:40,20265 -DA:41,20265 -DA:44,16140 -DA:45,16140 -DA:46,16140 -DA:47,16140 -DA:48,16140 -DA:49,16140 -DA:50,16140 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:50,0 DA:53,0 DA:54,0 DA:55,0 @@ -8624,21 +6777,21 @@ DA:65,0 DA:66,0 DA:67,0 DA:68,0 -DA:71,15915 -DA:72,15915 -DA:73,15915 -DA:74,15780 -DA:75,15780 -DA:76,135 -DA:77,45 -DA:78,45 -DA:79,45 -DA:80,45 -DA:82,90 -DA:83,90 -DA:84,90 -DA:85,90 -DA:88,15915 +DA:71,0 +DA:72,0 +DA:73,0 +DA:74,0 +DA:75,0 +DA:76,0 +DA:77,0 +DA:78,0 +DA:79,0 +DA:80,0 +DA:82,0 +DA:83,0 +DA:84,0 +DA:85,0 +DA:88,0 DA:107,0 DA:108,0 DA:109,0 @@ -8650,445 +6803,369 @@ DA:114,0 DA:115,0 DA:116,0 DA:117,0 -DA:119,217468305 -DA:120,217468305 -DA:121,217468305 +DA:119,0 +DA:120,0 +DA:121,0 DA:125,0 DA:126,0 DA:127,0 -DA:131,108240 -DA:132,108240 -DA:133,108240 -DA:139,179685 -DA:140,179685 -DA:141,179685 +DA:131,0 +DA:132,0 +DA:133,0 +DA:139,0 +DA:140,0 +DA:141,0 LF:67 -LH:38 +LH:0 end_of_record -SF:solvers/minion/src/ast.rs -FN:189,::get_vartype -FN:19,::new -FN:198,::contains -FN:173,::add_var -FN:161,::new -FN:161,::new -FN:198,::contains -FN:194,::get_variable_order +SF:solvers/minion/src/ast.rs FN:19,::new -FN:28,::default -FN:28,::default +FN:161,::new FN:173,::add_var -FN:194,::get_variable_order +FN:198,::contains FN:189,::get_vartype -FN:28,::default FN:194,::get_variable_order +FN:198,::contains FN:173,::add_var +FN:161,::new +FN:28,::default FN:19,::new FN:189,::get_vartype -FN:161,::new -FN:198,::contains -FNDA:0,::get_vartype +FN:194,::get_variable_order +FN:28,::default FNDA:0,::new -FNDA:0,::contains -FNDA:0,::add_var FNDA:0,::new -FNDA:1,::new +FNDA:0,::add_var FNDA:0,::contains +FNDA:0,::get_vartype FNDA:0,::get_variable_order -FNDA:1,::new -FNDA:0,::default -FNDA:0,::default +FNDA:0,::contains FNDA:0,::add_var -FNDA:0,::get_variable_order -FNDA:0,::get_vartype +FNDA:0,::new FNDA:0,::default -FNDA:1,::get_variable_order -FNDA:1,::add_var FNDA:0,::new -FNDA:1,::get_vartype -FNDA:0,::new -FNDA:0,::contains -FNF:21 -FNH:5 +FNDA:0,::get_vartype +FNDA:0,::get_variable_order +FNDA:0,::default +FNF:14 +FNH:0 BRF:0 BRH:0 -DA:19,532 -DA:20,532 -DA:21,532 -DA:22,532 -DA:23,532 -DA:24,532 +DA:19,0 +DA:20,0 +DA:21,0 +DA:22,0 +DA:23,0 +DA:24,0 DA:28,0 DA:29,0 DA:30,0 -DA:161,532 -DA:162,532 -DA:163,532 -DA:164,532 -DA:165,532 -DA:166,532 -DA:173,1482 -DA:174,1482 +DA:161,0 +DA:162,0 +DA:163,0 +DA:164,0 +DA:165,0 +DA:166,0 +DA:173,0 +DA:174,0 DA:175,0 -DA:176,1482 -DA:177,1482 -DA:178,1482 -DA:179,1482 -DA:180,1482 -DA:181,1482 -DA:182,1482 -DA:189,1482 -DA:190,1482 -DA:191,1482 -DA:194,532 -DA:195,532 -DA:196,532 +DA:176,0 +DA:177,0 +DA:178,0 +DA:179,0 +DA:180,0 +DA:181,0 +DA:182,0 +DA:189,0 +DA:190,0 +DA:191,0 +DA:194,0 +DA:195,0 +DA:196,0 DA:198,0 DA:199,0 DA:200,0 LF:34 -LH:27 +LH:0 end_of_record SF:crates/enum_compatability_macro/src/lib.rs FN:66,::visit_variant_mut::{closure#0} -FN:38,::visit_variant_mut -FN:181,enum_compatability_macro::document_compatibility::{closure#0} FN:131,enum_compatability_macro::document_compatibility -FN:118,rust_out::main::_doctest_main_crates_enum_compatability_macro_src_lib_rs_117_0 -FN:104,rust_out::main::_doctest_main_crates_enum_compatability_macro_src_lib_rs_103_0 -FN:181,enum_compatability_macro::document_compatibility::{closure#0} -FN:181,enum_compatability_macro::document_compatibility::{closure#0} FN:131,enum_compatability_macro::document_compatibility -FN:38,::visit_variant_mut FN:131,enum_compatability_macro::document_compatibility +FN:181,enum_compatability_macro::document_compatibility::{closure#0} +FN:181,enum_compatability_macro::document_compatibility::{closure#0} FN:38,::visit_variant_mut FN:66,::visit_variant_mut::{closure#0} -FN:75,rust_out::main::_doctest_main_crates_enum_compatability_macro_src_lib_rs_74_0 -FN:38,::visit_variant_mut -FN:131,enum_compatability_macro::document_compatibility +FN:181,enum_compatability_macro::document_compatibility::{closure#0} FN:66,::visit_variant_mut::{closure#0} +FN:38,::visit_variant_mut FN:66,::visit_variant_mut::{closure#0} -FN:104,rust_out::main +FN:131,enum_compatability_macro::document_compatibility FN:181,enum_compatability_macro::document_compatibility::{closure#0} +FN:38,::visit_variant_mut +FN:38,::visit_variant_mut FNDA:0,::visit_variant_mut::{closure#0} -FNDA:1,::visit_variant_mut -FNDA:1,enum_compatability_macro::document_compatibility::{closure#0} FNDA:1,enum_compatability_macro::document_compatibility -FNDA:1,rust_out::main::_doctest_main_crates_enum_compatability_macro_src_lib_rs_117_0 -FNDA:1,rust_out::main::_doctest_main_crates_enum_compatability_macro_src_lib_rs_103_0 -FNDA:0,enum_compatability_macro::document_compatibility::{closure#0} -FNDA:0,enum_compatability_macro::document_compatibility::{closure#0} FNDA:1,enum_compatability_macro::document_compatibility -FNDA:1,::visit_variant_mut FNDA:0,enum_compatability_macro::document_compatibility +FNDA:1,enum_compatability_macro::document_compatibility::{closure#0} +FNDA:1,enum_compatability_macro::document_compatibility::{closure#0} FNDA:0,::visit_variant_mut +FNDA:0,::visit_variant_mut::{closure#0} +FNDA:0,enum_compatability_macro::document_compatibility::{closure#0} FNDA:1,::visit_variant_mut::{closure#0} -FNDA:1,rust_out::main::_doctest_main_crates_enum_compatability_macro_src_lib_rs_74_0 FNDA:0,::visit_variant_mut -FNDA:0,enum_compatability_macro::document_compatibility FNDA:1,::visit_variant_mut::{closure#0} -FNDA:0,::visit_variant_mut::{closure#0} -FNDA:1,rust_out::main -FNDA:1,enum_compatability_macro::document_compatibility::{closure#0} -FNF:20 -FNH:12 +FNDA:0,enum_compatability_macro::document_compatibility +FNDA:0,enum_compatability_macro::document_compatibility::{closure#0} +FNDA:1,::visit_variant_mut +FNDA:1,::visit_variant_mut +FNF:16 +FNH:8 BRF:0 BRH:0 -DA:38,144 -DA:39,144 -DA:40,144 -DA:41,144 -DA:42,144 -DA:43,144 -DA:44,144 -DA:45,152 -DA:46,152 -DA:47,30 -DA:48,122 -DA:49,122 -DA:50,122 -DA:51,122 -DA:52,287 -DA:53,165 -DA:54,165 -DA:55,165 -DA:56,165 -DA:59,144 -DA:60,120 -DA:61,120 -DA:62,120 -DA:63,120 -DA:64,120 -DA:66,272 -DA:67,144 -DA:75,1 -DA:76,1 -DA:77,1 -DA:78,1 -DA:79,1 -DA:80,1 -DA:81,1 -DA:82,1 -DA:83,1 -DA:84,1 -DA:85,1 -DA:86,1 -DA:87,1 -DA:104,1 -DA:105,1 -DA:106,1 -DA:107,1 -DA:108,1 -DA:109,1 -DA:110,1 -DA:111,1 -DA:112,1 -DA:113,1 -DA:114,1 -DA:115,1 -DA:116,1 -DA:118,1 -DA:119,1 -DA:120,1 -DA:121,1 -DA:122,1 -DA:123,1 -DA:124,1 -DA:125,1 -DA:126,1 -DA:127,1 -DA:128,1 -DA:129,1 -DA:131,9 -DA:133,9 -DA:134,9 -DA:137,144 -DA:138,144 -DA:139,152 -DA:140,152 -DA:141,30 -DA:142,122 -DA:143,122 -DA:144,122 -DA:145,122 -DA:146,122 -DA:147,287 -DA:148,165 -DA:149,165 -DA:150,165 -DA:151,24 -DA:152,24 -DA:153,24 -DA:154,141 -DA:155,141 -DA:156,141 -DA:164,9 -DA:165,9 -DA:166,9 -DA:167,9 -DA:168,9 -DA:169,9 -DA:170,9 -DA:171,9 -DA:172,24 -DA:174,24 -DA:177,165 -DA:178,24 -DA:179,24 -DA:180,24 -DA:181,165 -DA:182,24 -DA:183,165 -DA:184,165 -DA:185,165 -DA:188,24 -DA:191,9 -DA:192,9 -DA:193,9 -DA:194,9 -DA:195,9 -DA:196,9 -DA:197,9 -LF:115 -LH:115 +DA:38,115 +DA:39,115 +DA:40,115 +DA:41,115 +DA:42,115 +DA:43,115 +DA:44,115 +DA:45,120 +DA:46,120 +DA:47,25 +DA:48,95 +DA:49,95 +DA:50,95 +DA:51,95 +DA:52,225 +DA:53,130 +DA:54,130 +DA:55,130 +DA:56,130 +DA:59,115 +DA:60,95 +DA:61,95 +DA:62,95 +DA:63,95 +DA:64,95 +DA:66,215 +DA:67,115 +DA:131,5 +DA:133,5 +DA:134,5 +DA:137,115 +DA:138,115 +DA:139,120 +DA:140,120 +DA:141,25 +DA:142,95 +DA:143,95 +DA:144,95 +DA:145,95 +DA:146,95 +DA:147,225 +DA:148,130 +DA:149,130 +DA:150,130 +DA:151,15 +DA:152,15 +DA:153,15 +DA:154,115 +DA:155,115 +DA:156,115 +DA:164,5 +DA:165,5 +DA:166,5 +DA:167,5 +DA:168,5 +DA:169,5 +DA:170,5 +DA:171,5 +DA:172,15 +DA:174,15 +DA:177,130 +DA:178,15 +DA:179,15 +DA:180,15 +DA:181,130 +DA:182,15 +DA:183,130 +DA:184,130 +DA:185,130 +DA:188,15 +DA:191,5 +DA:192,5 +DA:193,5 +DA:194,5 +DA:195,5 +DA:196,5 +DA:197,5 +LF:77 +LH:77 end_of_record SF:crates/uniplate/src/tree.rs -FN:82,>::map -FN:102,uniplate::tree::proptest_integer_trees::{closure#0} +FN:133,uniplate::tree::tests::list_preserves_ordering FN:47,>::list::flatten::::{closure#0} -FN:26, as core::iter::traits::collect::IntoIterator>::into_iter +FN:86,>::map::{closure#0} +FN:82,>::map +FN:93,uniplate::tree::proptest_integer_trees FN:53,>::list::recons:: FN:47,>::list::flatten::::{closure#0} -FN:86,>::map::{closure#0} -FN:123,uniplate::tree::tests::map_add::{closure#1}::{closure#0} -FN:133,uniplate::tree::tests::list_preserves_ordering -FN:39,>::list::flatten:: FN:39,>::list::flatten:: -FN:65,>::list::recons::::{closure#0} -FN:77,>::list::{closure#0} -FN:35,>::list +FN:26, as core::iter::traits::collect::IntoIterator>::into_iter FN:35,>::list +FN:123,uniplate::tree::tests::map_add::{closure#1}::{closure#0} +FN:77,>::list::{closure#0} +FN:102,uniplate::tree::proptest_integer_trees::{closure#0} +FN:65,>::list::recons::::{closure#0} FN:77,>::list::{closure#0} -FN:93,uniplate::tree::proptest_integer_trees +FN:65,>::list::recons::::{closure#0} FN:53,>::list::recons:: -FN:65,>::list::recons::::{closure#0} -FNDA:1,>::map -FNDA:1,uniplate::tree::proptest_integer_trees::{closure#0} -FNDA:1,>::list::flatten::::{closure#0} +FN:35,>::list +FN:39,>::list::flatten:: +FNDA:0,uniplate::tree::tests::list_preserves_ordering +FNDA:0,>::list::flatten::::{closure#0} +FNDA:0,>::map::{closure#0} +FNDA:0,>::map +FNDA:0,uniplate::tree::proptest_integer_trees +FNDA:0,>::list::recons:: +FNDA:0,>::list::flatten::::{closure#0} +FNDA:0,>::list::flatten:: FNDA:0, as core::iter::traits::collect::IntoIterator>::into_iter -FNDA:1,>::list::recons:: -FNDA:1,>::list::flatten::::{closure#0} -FNDA:1,>::map::{closure#0} -FNDA:1,uniplate::tree::tests::map_add::{closure#1}::{closure#0} -FNDA:1,uniplate::tree::tests::list_preserves_ordering -FNDA:1,>::list::flatten:: -FNDA:1,>::list::flatten:: -FNDA:0,>::list::recons::::{closure#0} -FNDA:1,>::list::{closure#0} -FNDA:1,>::list -FNDA:1,>::list +FNDA:0,>::list +FNDA:0,uniplate::tree::tests::map_add::{closure#1}::{closure#0} +FNDA:0,>::list::{closure#0} +FNDA:0,uniplate::tree::proptest_integer_trees::{closure#0} +FNDA:0,>::list::recons::::{closure#0} FNDA:0,>::list::{closure#0} -FNDA:1,uniplate::tree::proptest_integer_trees +FNDA:0,>::list::recons::::{closure#0} FNDA:0,>::list::recons:: -FNDA:1,>::list::recons::::{closure#0} +FNDA:0,>::list +FNDA:0,>::list::flatten:: FNF:19 -FNH:15 +FNH:0 BRF:0 BRH:0 DA:26,0 DA:27,0 DA:28,0 -DA:35,785 -DA:36,785 -DA:37,785 -DA:38,785 -DA:39,30650 -DA:40,30650 -DA:41,13676 -DA:42,13844 -DA:43,13844 -DA:44,13844 -DA:45,13844 -DA:46,785 -DA:47,29865 -DA:48,785 -DA:49,30650 -DA:50,785 -DA:51,785 -DA:52,785 -DA:53,9436 -DA:54,9426 -DA:55,9426 -DA:56,9426 -DA:57,9426 -DA:58,9426 -DA:59,4169 -DA:60,4315 -DA:61,4305 -DA:62,4305 -DA:63,785 -DA:64,972 -DA:65,9168 -DA:66,9168 -DA:67,9168 -DA:68,9168 -DA:69,9168 -DA:70,9168 -DA:71,962 -DA:72,785 -DA:73,785 -DA:74,9436 -DA:75,785 -DA:76,785 -DA:77,785 -DA:78,785 -DA:79,785 -DA:82,10586 -DA:83,10586 -DA:84,4752 -DA:85,4761 -DA:86,10328 -DA:88,10586 -DA:93,2 -DA:94,2 -DA:95,2 -DA:96,2 -DA:97,2 -DA:98,2 -DA:99,2 -DA:100,2 -DA:101,2 -DA:102,5160 -DA:103,2 -DA:104,2 -DA:123,4761 -DA:133,1 -DA:134,1 -DA:135,1 -DA:136,1 -DA:137,1 -DA:138,1 -DA:139,1 -DA:140,1 -DA:141,1 -DA:142,1 -DA:144,6 -DA:145,5 -DA:147,1 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:40,0 +DA:41,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:59,0 +DA:60,0 +DA:61,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:68,0 +DA:69,0 +DA:70,0 +DA:71,0 +DA:72,0 +DA:73,0 +DA:74,0 +DA:75,0 +DA:76,0 +DA:77,0 +DA:78,0 +DA:79,0 +DA:82,0 +DA:83,0 +DA:84,0 +DA:85,0 +DA:86,0 +DA:88,0 +DA:93,0 +DA:94,0 +DA:95,0 +DA:96,0 +DA:97,0 +DA:98,0 +DA:99,0 +DA:100,0 +DA:101,0 +DA:102,0 +DA:103,0 +DA:104,0 +DA:123,0 +DA:133,0 +DA:134,0 +DA:135,0 +DA:136,0 +DA:137,0 +DA:138,0 +DA:139,0 +DA:140,0 +DA:141,0 +DA:142,0 +DA:144,0 +DA:145,0 +DA:147,0 LF:80 -LH:77 +LH:0 end_of_record SF:crates/conjure_core/src/rule_engine/rewrite.rs FN:139,conjure_core::rule_engine::rewrite::apply_all_rules -FN:139,conjure_core::rule_engine::rewrite::apply_all_rules -FN:48,conjure_core::rule_engine::rewrite::optimizations_enabled FN:30,::fmt -FN:61,conjure_core::rule_engine::rewrite::rewrite_model FN:97,conjure_core::rule_engine::rewrite::rewrite_iteration -FN:61,conjure_core::rule_engine::rewrite::rewrite_model -FN:176,conjure_core::rule_engine::rewrite::choose_rewrite +FN:38,>::from FN:176,conjure_core::rule_engine::rewrite::choose_rewrite FN:129,conjure_core::rule_engine::rewrite::rewrite_iteration::{closure#0} -FN:48,conjure_core::rule_engine::rewrite::optimizations_enabled -FN:38,>::from FN:129,conjure_core::rule_engine::rewrite::rewrite_iteration::{closure#0} -FN:139,conjure_core::rule_engine::rewrite::apply_all_rules +FN:61,conjure_core::rule_engine::rewrite::rewrite_model FN:48,conjure_core::rule_engine::rewrite::optimizations_enabled -FN:97,conjure_core::rule_engine::rewrite::rewrite_iteration -FN:176,conjure_core::rule_engine::rewrite::choose_rewrite -FN:30,::fmt +FN:139,conjure_core::rule_engine::rewrite::apply_all_rules FN:61,conjure_core::rule_engine::rewrite::rewrite_model -FN:129,conjure_core::rule_engine::rewrite::rewrite_iteration::{closure#0} -FN:38,>::from +FN:176,conjure_core::rule_engine::rewrite::choose_rewrite FN:30,::fmt FN:97,conjure_core::rule_engine::rewrite::rewrite_iteration FN:38,>::from +FN:48,conjure_core::rule_engine::rewrite::optimizations_enabled FNDA:0,conjure_core::rule_engine::rewrite::apply_all_rules -FNDA:1,conjure_core::rule_engine::rewrite::apply_all_rules -FNDA:1,conjure_core::rule_engine::rewrite::optimizations_enabled FNDA:0,::fmt -FNDA:0,conjure_core::rule_engine::rewrite::rewrite_model -FNDA:1,conjure_core::rule_engine::rewrite::rewrite_iteration -FNDA:1,conjure_core::rule_engine::rewrite::rewrite_model +FNDA:0,conjure_core::rule_engine::rewrite::rewrite_iteration +FNDA:0,>::from FNDA:0,conjure_core::rule_engine::rewrite::choose_rewrite -FNDA:1,conjure_core::rule_engine::rewrite::choose_rewrite FNDA:0,conjure_core::rule_engine::rewrite::rewrite_iteration::{closure#0} -FNDA:0,conjure_core::rule_engine::rewrite::optimizations_enabled -FNDA:0,>::from FNDA:0,conjure_core::rule_engine::rewrite::rewrite_iteration::{closure#0} -FNDA:0,conjure_core::rule_engine::rewrite::apply_all_rules +FNDA:0,conjure_core::rule_engine::rewrite::rewrite_model FNDA:0,conjure_core::rule_engine::rewrite::optimizations_enabled -FNDA:0,conjure_core::rule_engine::rewrite::rewrite_iteration -FNDA:0,conjure_core::rule_engine::rewrite::choose_rewrite -FNDA:0,::fmt +FNDA:0,conjure_core::rule_engine::rewrite::apply_all_rules FNDA:0,conjure_core::rule_engine::rewrite::rewrite_model -FNDA:0,conjure_core::rule_engine::rewrite::rewrite_iteration::{closure#0} -FNDA:0,>::from +FNDA:0,conjure_core::rule_engine::rewrite::choose_rewrite FNDA:0,::fmt FNDA:0,conjure_core::rule_engine::rewrite::rewrite_iteration FNDA:0,>::from -FNF:24 -FNH:5 +FNDA:0,conjure_core::rule_engine::rewrite::optimizations_enabled +FNF:16 +FNH:0 BRF:0 BRH:0 DA:30,0 @@ -9099,758 +7176,604 @@ DA:34,0 DA:38,0 DA:39,0 DA:40,0 -DA:48,720 -DA:49,720 -DA:50,120 -DA:51,600 -DA:53,720 -DA:61,360 -DA:62,360 -DA:63,360 -DA:64,360 -DA:65,360 -DA:66,360 -DA:67,360 -DA:68,360 -DA:69,360 -DA:70,360 -DA:71,360 -DA:72,360 -DA:73,360 -DA:74,360 -DA:75,360 -DA:76,360 -DA:77,360 -DA:78,360 -DA:80,16275 -DA:81,16275 -DA:82,16275 -DA:83,16275 -DA:84,16275 -DA:85,16275 -DA:86,16275 -DA:87,15915 -DA:88,15915 -DA:89,360 -DA:90,360 -DA:91,360 -DA:92,360 -DA:97,7178565 -DA:98,7178565 -DA:99,7178565 -DA:100,7178565 -DA:101,7178565 -DA:102,7178565 -DA:103,7178565 -DA:104,7178565 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:53,0 +DA:61,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:68,0 +DA:69,0 +DA:70,0 +DA:71,0 +DA:72,0 +DA:73,0 +DA:74,0 +DA:75,0 +DA:76,0 +DA:77,0 +DA:78,0 +DA:80,0 +DA:81,0 +DA:82,0 +DA:83,0 +DA:84,0 +DA:85,0 +DA:86,0 +DA:87,0 +DA:88,0 +DA:89,0 +DA:90,0 +DA:91,0 +DA:92,0 +DA:97,0 +DA:98,0 +DA:99,0 +DA:100,0 +DA:101,0 +DA:102,0 +DA:103,0 +DA:104,0 DA:106,0 -DA:107,7178565 -DA:108,7178565 -DA:109,7178565 -DA:110,7178565 -DA:111,7178565 -DA:112,7178565 -DA:113,7178565 -DA:115,15915 -DA:116,7162650 -DA:117,7162650 -DA:118,7162650 -DA:119,7162650 -DA:120,7162290 -DA:121,20130 -DA:122,20130 -DA:123,20130 +DA:107,0 +DA:108,0 +DA:109,0 +DA:110,0 +DA:111,0 +DA:112,0 +DA:113,0 +DA:115,0 +DA:116,0 +DA:117,0 +DA:118,0 +DA:119,0 +DA:120,0 +DA:121,0 +DA:122,0 +DA:123,0 DA:124,0 -DA:125,7142160 -DA:128,7142520 +DA:125,0 +DA:128,0 DA:129,0 DA:130,0 DA:131,0 -DA:132,7142520 -DA:133,7142520 -DA:134,7178565 -DA:139,7178565 -DA:140,7178565 -DA:141,7178565 -DA:142,7178565 -DA:143,7178565 -DA:144,7178565 -DA:145,7178565 -DA:146,222551175 -DA:147,215372610 -DA:148,16005 -DA:149,16005 -DA:150,16005 -DA:151,16005 -DA:152,16005 -DA:153,16005 -DA:154,16005 -DA:155,16005 -DA:156,16005 -DA:157,16005 -DA:158,16005 -DA:159,16005 -DA:160,16005 -DA:163,215356605 -DA:164,215356605 -DA:165,215356605 -DA:166,215356605 -DA:170,7178565 -DA:171,7178565 -DA:176,7178565 -DA:177,7178565 -DA:178,7162650 -DA:179,15915 -DA:180,15915 -DA:181,15915 -DA:182,7178565 +DA:132,0 +DA:133,0 +DA:134,0 +DA:139,0 +DA:140,0 +DA:141,0 +DA:142,0 +DA:143,0 +DA:144,0 +DA:145,0 +DA:146,0 +DA:147,0 +DA:148,0 +DA:149,0 +DA:150,0 +DA:151,0 +DA:152,0 +DA:153,0 +DA:154,0 +DA:155,0 +DA:156,0 +DA:157,0 +DA:158,0 +DA:159,0 +DA:160,0 +DA:163,0 +DA:164,0 +DA:165,0 +DA:166,0 +DA:170,0 +DA:171,0 +DA:176,0 +DA:177,0 +DA:178,0 +DA:179,0 +DA:180,0 +DA:181,0 +DA:182,0 LF:113 -LH:100 +LH:0 end_of_record SF:crates/conjure_core/src/rules/constant.rs -FN:80,conjure_core::rules::constant::un_op:: -FN:67,conjure_core::rules::constant::eval_constant::{closure#15} -FN:10,conjure_core::rules::constant::CONJURE_GEN_RULE_APPLY_EVAL_CONSTANT::__typecheck::{closure#0}::{closure#0} -FN:115,conjure_core::rules::constant::opt_vec_op:: -FN:32,conjure_core::rules::constant::eval_constant::{closure#3} -FN:43,conjure_core::rules::constant::eval_constant::{closure#9}::{closure#0} -FN:28,conjure_core::rules::constant::eval_constant::{closure#0} -FN:31,conjure_core::rules::constant::eval_constant::{closure#2} -FN:31,conjure_core::rules::constant::eval_constant::{closure#2} -FN:67,conjure_core::rules::constant::eval_constant::{closure#15} -FN:132,conjure_core::rules::constant::unwrap_expr:: -FN:40,conjure_core::rules::constant::eval_constant::{closure#8} -FN:8,conjure_core::rules::constant::CONJURE_GEN_RULE_SET_CONSTANT::__typecheck::{closure#0} +FN:72,conjure_core::rules::constant::eval_constant::{closure#17} FN:29,conjure_core::rules::constant::eval_constant::{closure#1} -FN:49,conjure_core::rules::constant::eval_constant::{closure#11} -FN:123,conjure_core::rules::constant::flat_op:: +FN:70,conjure_core::rules::constant::eval_constant::{closure#16} FN:53,conjure_core::rules::constant::eval_constant::{closure#12} -FN:49,conjure_core::rules::constant::eval_constant::{closure#11} +FN:8,conjure_core::rules::constant::CONJURE_GEN_RULE_SET_CONSTANT::__typecheck::{closure#0} +FN:8,conjure_core::rules::constant::CONJURE_GEN_RULE_SET_CONSTANT::__typecheck::{closure#0} FN:24,conjure_core::rules::constant::eval_constant -FN:31,conjure_core::rules::constant::eval_constant::{closure#2} -FN:40,conjure_core::rules::constant::eval_constant::{closure#8}::{closure#0} -FN:37,conjure_core::rules::constant::eval_constant::{closure#7} -FN:97,conjure_core::rules::constant::tern_op:: -FN:10,conjure_core::rules::constant::CONJURE_GEN_RULE_APPLY_EVAL_CONSTANT::__typecheck -FN:43,conjure_core::rules::constant::eval_constant::{closure#9}::{closure#0} -FN:123,conjure_core::rules::constant::flat_op:: -FN:43,conjure_core::rules::constant::eval_constant::{closure#9}::{closure#0} -FN:107,conjure_core::rules::constant::vec_op:: -FN:10,conjure_core::rules::constant::CONJURE_GEN_RULE_APPLY_EVAL_CONSTANT::__typecheck -FN:80,conjure_core::rules::constant::un_op:: -FN:107,conjure_core::rules::constant::vec_op:: -FN:35,conjure_core::rules::constant::eval_constant::{closure#6} -FN:88,conjure_core::rules::constant::bin_op:: -FN:34,conjure_core::rules::constant::eval_constant::{closure#5} -FN:132,conjure_core::rules::constant::unwrap_expr:: -FN:29,conjure_core::rules::constant::eval_constant::{closure#1}::{closure#0} -FN:72,conjure_core::rules::constant::eval_constant::{closure#17} -FN:10,conjure_core::rules::constant::CONJURE_GEN_RULE_APPLY_EVAL_CONSTANT::__typecheck::{closure#0}::{closure#0} +FN:11,conjure_core::rules::constant::apply_eval_constant +FN:11,conjure_core::rules::constant::apply_eval_constant FN:142,conjure_core::rules::constant::tests::div_by_zero -FN:46,conjure_core::rules::constant::eval_constant::{closure#10} -FN:40,conjure_core::rules::constant::eval_constant::{closure#8}::{closure#0} -FN:88,conjure_core::rules::constant::bin_op:: -FN:67,conjure_core::rules::constant::eval_constant::{closure#15} -FN:10,conjure_core::rules::constant::CONJURE_GEN_RULE_APPLY_EVAL_CONSTANT::__typecheck::{closure#0}::{closure#0} -FN:88,conjure_core::rules::constant::bin_op:: -FN:88,conjure_core::rules::constant::bin_op:: -FN:33,conjure_core::rules::constant::eval_constant::{closure#4} -FN:8,conjure_core::rules::constant::CONJURE_GEN_RULE_SET_CONSTANT::__typecheck::{closure#0}::{closure#0} -FN:70,conjure_core::rules::constant::eval_constant::{closure#16} +FN:10,conjure_core::rules::constant::CONJURE_GEN_RULE_APPLY_EVAL_CONSTANT::__typecheck::{closure#0} +FN:49,conjure_core::rules::constant::eval_constant::{closure#11} +FN:32,conjure_core::rules::constant::eval_constant::{closure#3} FN:24,conjure_core::rules::constant::eval_constant -FN:107,conjure_core::rules::constant::vec_op:: -FN:70,conjure_core::rules::constant::eval_constant::{closure#16} -FN:72,conjure_core::rules::constant::eval_constant::{closure#17} FN:35,conjure_core::rules::constant::eval_constant::{closure#6} -FN:29,conjure_core::rules::constant::eval_constant::{closure#1} -FN:28,conjure_core::rules::constant::eval_constant::{closure#0} -FN:49,conjure_core::rules::constant::eval_constant::{closure#11} -FN:8,conjure_core::rules::constant::CONJURE_GEN_RULE_SET_CONSTANT::__typecheck::{closure#0}::{closure#0} -FN:46,conjure_core::rules::constant::eval_constant::{closure#10} +FN:8,conjure_core::rules::constant::CONJURE_GEN_RULE_SET_CONSTANT::__typecheck FN:61,conjure_core::rules::constant::eval_constant::{closure#14} -FN:29,conjure_core::rules::constant::eval_constant::{closure#1}::{closure#0} -FN:132,conjure_core::rules::constant::unwrap_expr:: -FN:40,conjure_core::rules::constant::eval_constant::{closure#8} -FN:40,conjure_core::rules::constant::eval_constant::{closure#8} -FN:88,conjure_core::rules::constant::bin_op:: -FN:53,conjure_core::rules::constant::eval_constant::{closure#12} -FN:88,conjure_core::rules::constant::bin_op:: +FN:8,conjure_core::rules::constant::CONJURE_GEN_RULE_SET_CONSTANT::__typecheck::{closure#0}::{closure#0} FN:33,conjure_core::rules::constant::eval_constant::{closure#4} -FN:107,conjure_core::rules::constant::vec_op:: -FN:8,conjure_core::rules::constant::CONJURE_GEN_RULE_SET_CONSTANT::__typecheck -FN:10,conjure_core::rules::constant::CONJURE_GEN_RULE_APPLY_EVAL_CONSTANT::__typecheck::{closure#0} FN:88,conjure_core::rules::constant::bin_op:: +FN:46,conjure_core::rules::constant::eval_constant::{closure#10} FN:10,conjure_core::rules::constant::CONJURE_GEN_RULE_APPLY_EVAL_CONSTANT::__typecheck -FN:56,conjure_core::rules::constant::eval_constant::{closure#13} -FN:56,conjure_core::rules::constant::eval_constant::{closure#13} +FN:88,conjure_core::rules::constant::bin_op:: +FN:132,conjure_core::rules::constant::unwrap_expr:: +FN:10,conjure_core::rules::constant::CONJURE_GEN_RULE_APPLY_EVAL_CONSTANT::__typecheck +FN:123,conjure_core::rules::constant::flat_op:: +FN:132,conjure_core::rules::constant::unwrap_expr:: +FN:33,conjure_core::rules::constant::eval_constant::{closure#4} +FN:72,conjure_core::rules::constant::eval_constant::{closure#17} FN:132,conjure_core::rules::constant::unwrap_expr:: -FN:16,conjure_core::rules::constant::apply_eval_constant::{closure#0} +FN:46,conjure_core::rules::constant::eval_constant::{closure#10} FN:37,conjure_core::rules::constant::eval_constant::{closure#7} -FN:34,conjure_core::rules::constant::eval_constant::{closure#5} -FN:107,conjure_core::rules::constant::vec_op:: FN:115,conjure_core::rules::constant::opt_vec_op:: -FN:16,conjure_core::rules::constant::apply_eval_constant::{closure#0} -FN:8,conjure_core::rules::constant::CONJURE_GEN_RULE_SET_CONSTANT::__typecheck::{closure#0}::{closure#0} FN:8,conjure_core::rules::constant::CONJURE_GEN_RULE_SET_CONSTANT::__typecheck -FN:8,conjure_core::rules::constant::CONJURE_GEN_RULE_SET_CONSTANT::__typecheck::{closure#0} -FN:8,conjure_core::rules::constant::CONJURE_GEN_RULE_SET_CONSTANT::__typecheck::{closure#0} -FN:80,conjure_core::rules::constant::un_op:: +FN:107,conjure_core::rules::constant::vec_op:: FN:10,conjure_core::rules::constant::CONJURE_GEN_RULE_APPLY_EVAL_CONSTANT::__typecheck::{closure#0} -FN:11,conjure_core::rules::constant::apply_eval_constant -FN:132,conjure_core::rules::constant::unwrap_expr:: -FN:8,conjure_core::rules::constant::CONJURE_GEN_RULE_SET_CONSTANT::__typecheck -FN:152,conjure_core::rules::constant::tests::safediv_by_zero -FN:40,conjure_core::rules::constant::eval_constant::{closure#8}::{closure#0} +FN:123,conjure_core::rules::constant::flat_op:: +FN:32,conjure_core::rules::constant::eval_constant::{closure#3} +FN:43,conjure_core::rules::constant::eval_constant::{closure#9}::{closure#0} +FN:16,conjure_core::rules::constant::apply_eval_constant::{closure#0} +FN:88,conjure_core::rules::constant::bin_op:: +FN:8,conjure_core::rules::constant::CONJURE_GEN_RULE_SET_CONSTANT::__typecheck::{closure#0}::{closure#0} +FN:61,conjure_core::rules::constant::eval_constant::{closure#14} FN:35,conjure_core::rules::constant::eval_constant::{closure#6} +FN:115,conjure_core::rules::constant::opt_vec_op:: +FN:152,conjure_core::rules::constant::tests::safediv_by_zero FN:43,conjure_core::rules::constant::eval_constant::{closure#9} -FN:107,conjure_core::rules::constant::vec_op:: -FN:97,conjure_core::rules::constant::tern_op:: -FN:43,conjure_core::rules::constant::eval_constant::{closure#9} +FN:80,conjure_core::rules::constant::un_op:: FN:29,conjure_core::rules::constant::eval_constant::{closure#1}::{closure#0} -FN:70,conjure_core::rules::constant::eval_constant::{closure#16} -FN:11,conjure_core::rules::constant::apply_eval_constant -FN:46,conjure_core::rules::constant::eval_constant::{closure#10} +FN:37,conjure_core::rules::constant::eval_constant::{closure#7} +FN:40,conjure_core::rules::constant::eval_constant::{closure#8} +FN:34,conjure_core::rules::constant::eval_constant::{closure#5} +FN:10,conjure_core::rules::constant::CONJURE_GEN_RULE_APPLY_EVAL_CONSTANT::__typecheck::{closure#0}::{closure#0} +FN:88,conjure_core::rules::constant::bin_op:: +FN:107,conjure_core::rules::constant::vec_op:: +FN:29,conjure_core::rules::constant::eval_constant::{closure#1}::{closure#0} +FN:97,conjure_core::rules::constant::tern_op:: +FN:80,conjure_core::rules::constant::un_op:: +FN:16,conjure_core::rules::constant::apply_eval_constant::{closure#0} +FN:97,conjure_core::rules::constant::tern_op:: +FN:29,conjure_core::rules::constant::eval_constant::{closure#1} +FN:40,conjure_core::rules::constant::eval_constant::{closure#8}::{closure#0} +FN:10,conjure_core::rules::constant::CONJURE_GEN_RULE_APPLY_EVAL_CONSTANT::__typecheck::{closure#0}::{closure#0} +FN:28,conjure_core::rules::constant::eval_constant::{closure#0} +FN:31,conjure_core::rules::constant::eval_constant::{closure#2} FN:53,conjure_core::rules::constant::eval_constant::{closure#12} -FN:32,conjure_core::rules::constant::eval_constant::{closure#3} -FN:32,conjure_core::rules::constant::eval_constant::{closure#3} -FN:123,conjure_core::rules::constant::flat_op:: +FN:43,conjure_core::rules::constant::eval_constant::{closure#9}::{closure#0} +FN:49,conjure_core::rules::constant::eval_constant::{closure#11} +FN:40,conjure_core::rules::constant::eval_constant::{closure#8} FN:56,conjure_core::rules::constant::eval_constant::{closure#13} -FN:33,conjure_core::rules::constant::eval_constant::{closure#4} -FN:115,conjure_core::rules::constant::opt_vec_op:: -FN:88,conjure_core::rules::constant::bin_op:: +FN:107,conjure_core::rules::constant::vec_op:: +FN:56,conjure_core::rules::constant::eval_constant::{closure#13} +FN:67,conjure_core::rules::constant::eval_constant::{closure#15} +FN:40,conjure_core::rules::constant::eval_constant::{closure#8}::{closure#0} +FN:31,conjure_core::rules::constant::eval_constant::{closure#2} +FN:70,conjure_core::rules::constant::eval_constant::{closure#16} +FN:34,conjure_core::rules::constant::eval_constant::{closure#5} +FN:67,conjure_core::rules::constant::eval_constant::{closure#15} FN:28,conjure_core::rules::constant::eval_constant::{closure#0} FN:43,conjure_core::rules::constant::eval_constant::{closure#9} -FN:72,conjure_core::rules::constant::eval_constant::{closure#17} -FN:29,conjure_core::rules::constant::eval_constant::{closure#1} -FN:61,conjure_core::rules::constant::eval_constant::{closure#14} -FN:132,conjure_core::rules::constant::unwrap_expr:: -FN:97,conjure_core::rules::constant::tern_op:: -FN:61,conjure_core::rules::constant::eval_constant::{closure#14} -FN:10,conjure_core::rules::constant::CONJURE_GEN_RULE_APPLY_EVAL_CONSTANT::__typecheck::{closure#0} -FN:34,conjure_core::rules::constant::eval_constant::{closure#5} FN:88,conjure_core::rules::constant::bin_op:: -FN:16,conjure_core::rules::constant::apply_eval_constant::{closure#0} -FN:24,conjure_core::rules::constant::eval_constant -FN:37,conjure_core::rules::constant::eval_constant::{closure#7} -FN:11,conjure_core::rules::constant::apply_eval_constant -FNDA:1,conjure_core::rules::constant::un_op:: -FNDA:1,conjure_core::rules::constant::eval_constant::{closure#15} -FNDA:0,conjure_core::rules::constant::CONJURE_GEN_RULE_APPLY_EVAL_CONSTANT::__typecheck::{closure#0}::{closure#0} -FNDA:1,conjure_core::rules::constant::opt_vec_op:: -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#3} -FNDA:1,conjure_core::rules::constant::eval_constant::{closure#9}::{closure#0} -FNDA:1,conjure_core::rules::constant::eval_constant::{closure#0} -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#2} -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#2} -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#15} -FNDA:0,conjure_core::rules::constant::unwrap_expr:: -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#8} -FNDA:0,conjure_core::rules::constant::CONJURE_GEN_RULE_SET_CONSTANT::__typecheck::{closure#0} +FN:107,conjure_core::rules::constant::vec_op:: +FN:88,conjure_core::rules::constant::bin_op:: +FN:132,conjure_core::rules::constant::unwrap_expr:: +FNDA:0,conjure_core::rules::constant::eval_constant::{closure#17} FNDA:0,conjure_core::rules::constant::eval_constant::{closure#1} -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#11} -FNDA:1,conjure_core::rules::constant::flat_op:: +FNDA:0,conjure_core::rules::constant::eval_constant::{closure#16} FNDA:0,conjure_core::rules::constant::eval_constant::{closure#12} +FNDA:0,conjure_core::rules::constant::CONJURE_GEN_RULE_SET_CONSTANT::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::constant::CONJURE_GEN_RULE_SET_CONSTANT::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::constant::eval_constant +FNDA:0,conjure_core::rules::constant::apply_eval_constant +FNDA:0,conjure_core::rules::constant::apply_eval_constant +FNDA:0,conjure_core::rules::constant::tests::div_by_zero +FNDA:0,conjure_core::rules::constant::CONJURE_GEN_RULE_APPLY_EVAL_CONSTANT::__typecheck::{closure#0} FNDA:0,conjure_core::rules::constant::eval_constant::{closure#11} +FNDA:0,conjure_core::rules::constant::eval_constant::{closure#3} FNDA:0,conjure_core::rules::constant::eval_constant -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#2} -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#8}::{closure#0} -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#7} -FNDA:0,conjure_core::rules::constant::tern_op:: -FNDA:0,conjure_core::rules::constant::CONJURE_GEN_RULE_APPLY_EVAL_CONSTANT::__typecheck -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#9}::{closure#0} -FNDA:0,conjure_core::rules::constant::flat_op:: -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#9}::{closure#0} -FNDA:1,conjure_core::rules::constant::vec_op:: -FNDA:0,conjure_core::rules::constant::CONJURE_GEN_RULE_APPLY_EVAL_CONSTANT::__typecheck -FNDA:0,conjure_core::rules::constant::un_op:: -FNDA:1,conjure_core::rules::constant::vec_op:: FNDA:0,conjure_core::rules::constant::eval_constant::{closure#6} +FNDA:0,conjure_core::rules::constant::CONJURE_GEN_RULE_SET_CONSTANT::__typecheck +FNDA:0,conjure_core::rules::constant::eval_constant::{closure#14} +FNDA:0,conjure_core::rules::constant::CONJURE_GEN_RULE_SET_CONSTANT::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::constant::eval_constant::{closure#4} +FNDA:0,conjure_core::rules::constant::bin_op:: +FNDA:0,conjure_core::rules::constant::eval_constant::{closure#10} +FNDA:0,conjure_core::rules::constant::CONJURE_GEN_RULE_APPLY_EVAL_CONSTANT::__typecheck FNDA:0,conjure_core::rules::constant::bin_op:: -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#5} FNDA:0,conjure_core::rules::constant::unwrap_expr:: -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#1}::{closure#0} -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#17} -FNDA:0,conjure_core::rules::constant::CONJURE_GEN_RULE_APPLY_EVAL_CONSTANT::__typecheck::{closure#0}::{closure#0} -FNDA:1,conjure_core::rules::constant::tests::div_by_zero -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#10} -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#8}::{closure#0} -FNDA:1,conjure_core::rules::constant::bin_op:: -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#15} -FNDA:0,conjure_core::rules::constant::CONJURE_GEN_RULE_APPLY_EVAL_CONSTANT::__typecheck::{closure#0}::{closure#0} -FNDA:1,conjure_core::rules::constant::bin_op:: -FNDA:0,conjure_core::rules::constant::bin_op:: +FNDA:0,conjure_core::rules::constant::CONJURE_GEN_RULE_APPLY_EVAL_CONSTANT::__typecheck +FNDA:0,conjure_core::rules::constant::flat_op:: +FNDA:0,conjure_core::rules::constant::unwrap_expr:: FNDA:0,conjure_core::rules::constant::eval_constant::{closure#4} -FNDA:0,conjure_core::rules::constant::CONJURE_GEN_RULE_SET_CONSTANT::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#16} -FNDA:1,conjure_core::rules::constant::eval_constant -FNDA:0,conjure_core::rules::constant::vec_op:: -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#16} FNDA:0,conjure_core::rules::constant::eval_constant::{closure#17} -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#6} -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#1} -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#0} -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#11} -FNDA:0,conjure_core::rules::constant::CONJURE_GEN_RULE_SET_CONSTANT::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::constant::unwrap_expr:: FNDA:0,conjure_core::rules::constant::eval_constant::{closure#10} -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#14} -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#1}::{closure#0} -FNDA:1,conjure_core::rules::constant::unwrap_expr:: -FNDA:1,conjure_core::rules::constant::eval_constant::{closure#8} -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#8} -FNDA:0,conjure_core::rules::constant::bin_op:: -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#12} -FNDA:0,conjure_core::rules::constant::bin_op:: -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#4} -FNDA:0,conjure_core::rules::constant::vec_op:: +FNDA:0,conjure_core::rules::constant::eval_constant::{closure#7} +FNDA:0,conjure_core::rules::constant::opt_vec_op:: FNDA:0,conjure_core::rules::constant::CONJURE_GEN_RULE_SET_CONSTANT::__typecheck +FNDA:0,conjure_core::rules::constant::vec_op:: FNDA:0,conjure_core::rules::constant::CONJURE_GEN_RULE_APPLY_EVAL_CONSTANT::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::constant::bin_op:: -FNDA:0,conjure_core::rules::constant::CONJURE_GEN_RULE_APPLY_EVAL_CONSTANT::__typecheck -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#13} -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#13} -FNDA:1,conjure_core::rules::constant::unwrap_expr:: +FNDA:0,conjure_core::rules::constant::flat_op:: +FNDA:0,conjure_core::rules::constant::eval_constant::{closure#3} +FNDA:0,conjure_core::rules::constant::eval_constant::{closure#9}::{closure#0} FNDA:0,conjure_core::rules::constant::apply_eval_constant::{closure#0} +FNDA:0,conjure_core::rules::constant::bin_op:: +FNDA:0,conjure_core::rules::constant::CONJURE_GEN_RULE_SET_CONSTANT::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::constant::eval_constant::{closure#14} +FNDA:0,conjure_core::rules::constant::eval_constant::{closure#6} +FNDA:0,conjure_core::rules::constant::opt_vec_op:: +FNDA:0,conjure_core::rules::constant::tests::safediv_by_zero +FNDA:0,conjure_core::rules::constant::eval_constant::{closure#9} +FNDA:0,conjure_core::rules::constant::un_op:: +FNDA:0,conjure_core::rules::constant::eval_constant::{closure#1}::{closure#0} FNDA:0,conjure_core::rules::constant::eval_constant::{closure#7} +FNDA:0,conjure_core::rules::constant::eval_constant::{closure#8} FNDA:0,conjure_core::rules::constant::eval_constant::{closure#5} +FNDA:0,conjure_core::rules::constant::CONJURE_GEN_RULE_APPLY_EVAL_CONSTANT::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::constant::bin_op:: FNDA:0,conjure_core::rules::constant::vec_op:: -FNDA:0,conjure_core::rules::constant::opt_vec_op:: -FNDA:0,conjure_core::rules::constant::apply_eval_constant::{closure#0} -FNDA:0,conjure_core::rules::constant::CONJURE_GEN_RULE_SET_CONSTANT::__typecheck::{closure#0}::{closure#0} -FNDA:0,conjure_core::rules::constant::CONJURE_GEN_RULE_SET_CONSTANT::__typecheck -FNDA:0,conjure_core::rules::constant::CONJURE_GEN_RULE_SET_CONSTANT::__typecheck::{closure#0} -FNDA:0,conjure_core::rules::constant::CONJURE_GEN_RULE_SET_CONSTANT::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::constant::eval_constant::{closure#1}::{closure#0} +FNDA:0,conjure_core::rules::constant::tern_op:: FNDA:0,conjure_core::rules::constant::un_op:: -FNDA:0,conjure_core::rules::constant::CONJURE_GEN_RULE_APPLY_EVAL_CONSTANT::__typecheck::{closure#0} -FNDA:1,conjure_core::rules::constant::apply_eval_constant -FNDA:0,conjure_core::rules::constant::unwrap_expr:: -FNDA:0,conjure_core::rules::constant::CONJURE_GEN_RULE_SET_CONSTANT::__typecheck -FNDA:1,conjure_core::rules::constant::tests::safediv_by_zero -FNDA:1,conjure_core::rules::constant::eval_constant::{closure#8}::{closure#0} -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#6} -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#9} -FNDA:0,conjure_core::rules::constant::vec_op:: +FNDA:0,conjure_core::rules::constant::apply_eval_constant::{closure#0} FNDA:0,conjure_core::rules::constant::tern_op:: -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#9} -FNDA:1,conjure_core::rules::constant::eval_constant::{closure#1}::{closure#0} -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#16} -FNDA:0,conjure_core::rules::constant::apply_eval_constant -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#10} +FNDA:0,conjure_core::rules::constant::eval_constant::{closure#1} +FNDA:0,conjure_core::rules::constant::eval_constant::{closure#8}::{closure#0} +FNDA:0,conjure_core::rules::constant::CONJURE_GEN_RULE_APPLY_EVAL_CONSTANT::__typecheck::{closure#0}::{closure#0} +FNDA:0,conjure_core::rules::constant::eval_constant::{closure#0} +FNDA:0,conjure_core::rules::constant::eval_constant::{closure#2} FNDA:0,conjure_core::rules::constant::eval_constant::{closure#12} -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#3} -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#3} -FNDA:0,conjure_core::rules::constant::flat_op:: +FNDA:0,conjure_core::rules::constant::eval_constant::{closure#9}::{closure#0} +FNDA:0,conjure_core::rules::constant::eval_constant::{closure#11} +FNDA:0,conjure_core::rules::constant::eval_constant::{closure#8} FNDA:0,conjure_core::rules::constant::eval_constant::{closure#13} -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#4} -FNDA:0,conjure_core::rules::constant::opt_vec_op:: -FNDA:1,conjure_core::rules::constant::bin_op:: -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#0} -FNDA:1,conjure_core::rules::constant::eval_constant::{closure#9} -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#17} -FNDA:1,conjure_core::rules::constant::eval_constant::{closure#1} -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#14} -FNDA:1,conjure_core::rules::constant::unwrap_expr:: -FNDA:1,conjure_core::rules::constant::tern_op:: -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#14} -FNDA:0,conjure_core::rules::constant::CONJURE_GEN_RULE_APPLY_EVAL_CONSTANT::__typecheck::{closure#0} +FNDA:0,conjure_core::rules::constant::vec_op:: +FNDA:0,conjure_core::rules::constant::eval_constant::{closure#13} +FNDA:0,conjure_core::rules::constant::eval_constant::{closure#15} +FNDA:0,conjure_core::rules::constant::eval_constant::{closure#8}::{closure#0} +FNDA:0,conjure_core::rules::constant::eval_constant::{closure#2} +FNDA:0,conjure_core::rules::constant::eval_constant::{closure#16} FNDA:0,conjure_core::rules::constant::eval_constant::{closure#5} +FNDA:0,conjure_core::rules::constant::eval_constant::{closure#15} +FNDA:0,conjure_core::rules::constant::eval_constant::{closure#0} +FNDA:0,conjure_core::rules::constant::eval_constant::{closure#9} FNDA:0,conjure_core::rules::constant::bin_op:: -FNDA:1,conjure_core::rules::constant::apply_eval_constant::{closure#0} -FNDA:1,conjure_core::rules::constant::eval_constant -FNDA:0,conjure_core::rules::constant::eval_constant::{closure#7} -FNDA:0,conjure_core::rules::constant::apply_eval_constant -FNF:125 -FNH:26 +FNDA:0,conjure_core::rules::constant::vec_op:: +FNDA:0,conjure_core::rules::constant::bin_op:: +FNDA:0,conjure_core::rules::constant::unwrap_expr:: +FNF:84 +FNH:0 BRF:0 BRH:0 DA:8,0 DA:10,0 -DA:11,7242060 -DA:12,7242060 -DA:13,1431540 -DA:14,5810520 -DA:15,5810520 -DA:16,5810520 -DA:17,5810520 -DA:18,7242060 -DA:24,8071519 -DA:25,8071519 -DA:26,902 -DA:27,5812530 -DA:28,6690 -DA:29,6690 -DA:30,6690 -DA:31,375 -DA:32,4185 +DA:11,0 +DA:12,0 +DA:13,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 DA:33,0 -DA:34,195 -DA:35,60 -DA:37,180 -DA:39,19170 -DA:40,19170 -DA:42,392340 -DA:43,392340 -DA:46,11970 -DA:48,552990 -DA:49,552990 -DA:52,653070 -DA:53,653070 -DA:55,611565 -DA:56,611565 -DA:60,225 -DA:61,225 -DA:63,226 -DA:64,362 -DA:65,2 -DA:66,30 -DA:67,30 -DA:69,60 -DA:70,60 -DA:72,120 -DA:74,4530 -DA:75,4530 -DA:78,8071519 -DA:80,180 -DA:81,180 -DA:82,180 -DA:83,180 -DA:84,180 +DA:34,0 +DA:35,0 +DA:37,0 +DA:39,0 +DA:40,0 +DA:42,0 +DA:43,0 +DA:46,0 +DA:48,0 +DA:49,0 +DA:52,0 +DA:53,0 +DA:55,0 +DA:56,0 +DA:60,0 +DA:61,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:69,0 +DA:70,0 +DA:72,0 +DA:74,0 +DA:75,0 +DA:78,0 +DA:80,0 +DA:81,0 +DA:82,0 +DA:83,0 +DA:84,0 DA:85,0 -DA:86,180 -DA:88,18330 -DA:89,18330 -DA:90,18330 -DA:91,18330 -DA:92,18330 -DA:93,210 -DA:94,60 -DA:95,18330 -DA:97,553050 -DA:98,553050 -DA:99,553050 -DA:100,553050 -DA:101,553050 -DA:102,285 +DA:86,0 +DA:88,0 +DA:89,0 +DA:90,0 +DA:91,0 +DA:92,0 +DA:93,0 +DA:94,0 +DA:95,0 +DA:97,0 +DA:98,0 +DA:99,0 +DA:100,0 +DA:101,0 +DA:102,0 DA:103,0 DA:104,0 -DA:105,553050 -DA:107,423480 -DA:108,423480 -DA:109,423480 -DA:110,423480 -DA:111,423480 -DA:112,30 -DA:113,423480 -DA:115,225 -DA:116,225 -DA:117,225 -DA:118,225 -DA:119,225 +DA:105,0 +DA:107,0 +DA:108,0 +DA:109,0 +DA:110,0 +DA:111,0 +DA:112,0 +DA:113,0 +DA:115,0 +DA:116,0 +DA:117,0 +DA:118,0 +DA:119,0 DA:120,0 -DA:121,225 -DA:123,1264635 -DA:124,1264635 -DA:125,1264635 -DA:126,1264635 -DA:127,1264635 +DA:121,0 +DA:123,0 +DA:124,0 +DA:125,0 +DA:126,0 +DA:127,0 DA:128,0 DA:129,0 -DA:130,1264635 -DA:132,2260832 -DA:133,2260832 -DA:134,887 -DA:135,2260832 -DA:142,1 -DA:143,1 -DA:144,1 -DA:145,1 -DA:146,1 -DA:147,1 -DA:148,1 -DA:149,1 -DA:152,1 -DA:153,1 -DA:154,1 -DA:155,1 -DA:156,1 -DA:157,1 -DA:158,1 -DA:159,1 +DA:130,0 +DA:132,0 +DA:133,0 +DA:134,0 +DA:135,0 +DA:142,0 +DA:143,0 +DA:144,0 +DA:145,0 +DA:146,0 +DA:147,0 +DA:148,0 +DA:149,0 +DA:152,0 +DA:153,0 +DA:154,0 +DA:155,0 +DA:156,0 +DA:157,0 +DA:158,0 +DA:159,0 LF:113 -LH:104 +LH:0 end_of_record SF:crates/conjure_core/src/ast/domains.rs -FN:4,< as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FN:4,< as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> +FN:4,< as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> +FN:4,<< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> +FN:21,::values_i32 +FN:13,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> FN:13,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FN:4,< as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FN:13,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: -FN:4,<< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FN:13,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> -FN:13,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FN:4,< as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> -FN:13,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> FN:4,< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_enum::<_> +FN:13,<::deserialize::__Visitor as serde::de::Visitor>::expecting +FN:4,< as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> FN:13,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: -FN:21,::values_i32 -FN:42,::apply_i32 +FN:13,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting +FN:4,< as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> +FN:13,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> +FN:4,<< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_enum::__Visitor<_> as serde::de::Visitor>::expecting +FN:4,< as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> +FN:63,conjure_core::ast::domains::tests::test_negative_product::{closure#0} +FN:81,conjure_core::ast::domains::tests::test_negative_div +FN:47,::apply_i32::{closure#0} +FN:4,<< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_enum::__Visitor<_> as serde::de::Visitor>::expecting +FN:4,< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::expecting FN:4,< as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> -FN:13,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> +FN:4,< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::expecting FN:4,< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_enum::<_> -FN:4,<< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting FN:42,::apply_i32 -FN:60,conjure_core::ast::domains::tests::test_negative_product -FN:85,conjure_core::ast::domains::tests::test_negative_div::{closure#0} -FN:13,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> FN:13,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FN:13,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> -FN:42,::apply_i32 -FN:13,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> -FN:13,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting FN:13,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> -FN:26,::values_i32::{closure#0} -FN:4,< as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> FN:4,< as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> FN:47,::apply_i32::{closure#0} -FN:81,conjure_core::ast::domains::tests::test_negative_div FN:4,< as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FN:4,<< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_enum::__Visitor<_> as serde::de::Visitor>::expecting -FN:21,::values_i32 -FN:47,::apply_i32::{closure#0} -FN:13,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> -FN:13,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FN:4,< as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: -FN:13,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> FN:26,::values_i32::{closure#0} -FN:13,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FN:4,<< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_enum::__Visitor<_> as serde::de::Visitor>::visit_seq::<_> -FN:4,< as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> -FN:4,< as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FN:13,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FN:4,< as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> -FN:21,::values_i32 -FN:13,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting +FN:13,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> +FN:13,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> +FN:4,< as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> +FN:4,< as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> FN:13,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> -FN:4,<< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_enum::__Visitor<_> as serde::de::Visitor>::expecting +FN:4,< as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> +FN:13,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> FN:13,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> -FN:4,<< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_enum::__Visitor<_> as serde::de::Visitor>::expecting -FN:13,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> FN:26,::values_i32::{closure#0} +FN:13,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> +FN:4,< as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> FN:4,< as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: +FN:4,< as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> FN:4,< as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FN:4,< as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FN:4,< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::expecting -FN:13,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> -FN:47,::apply_i32::{closure#0} -FN:4,< as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> FN:4,<< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_enum::__Visitor<_> as serde::de::Visitor>::visit_seq::<_> -FN:13,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FN:63,conjure_core::ast::domains::tests::test_negative_product::{closure#0} -FN:4,<< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> +FN:85,conjure_core::ast::domains::tests::test_negative_div::{closure#0} FN:13,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FN:4,< as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FN:4,< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_enum::<_> -FN:4,<< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> +FN:21,::values_i32 FN:4,<< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_enum::__Visitor<_> as serde::de::Visitor>::visit_seq::<_> -FN:4,< as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> -FN:13,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> -FN:13,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> -FN:4,< as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> -FN:4,< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::expecting -FN:4,< as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> -FN:4,< as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> -FN:13,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> -FN:4,< as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> +FN:13,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> +FN:42,::apply_i32 +FN:13,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> FN:13,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> -FN:4,< as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> -FN:4,< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::expecting -FNDA:0,< as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FNDA:0,< as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FNDA:0,< as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: -FNDA:0,<< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> -FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FNDA:1,< as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> -FNDA:1,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> -FNDA:0,< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_enum::<_> -FNDA:1,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: -FNDA:1,::values_i32 -FNDA:1,::apply_i32 -FNDA:0,< as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> +FN:60,conjure_core::ast::domains::tests::test_negative_product +FN:4,<< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting +FNDA:0,< as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> +FNDA:0,<< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> +FNDA:0,::values_i32 FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting FNDA:0,< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_enum::<_> -FNDA:0,<< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting -FNDA:1,::apply_i32 -FNDA:1,conjure_core::ast::domains::tests::test_negative_product -FNDA:1,conjure_core::ast::domains::tests::test_negative_div::{closure#0} -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FNDA:1,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> -FNDA:0,::apply_i32 -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> +FNDA:0,< as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> -FNDA:0,::values_i32::{closure#0} +FNDA:0,< as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> +FNDA:0,<< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_enum::__Visitor<_> as serde::de::Visitor>::expecting FNDA:0,< as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> -FNDA:0,< as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FNDA:1,::apply_i32::{closure#0} -FNDA:1,conjure_core::ast::domains::tests::test_negative_div -FNDA:0,< as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting +FNDA:0,conjure_core::ast::domains::tests::test_negative_product::{closure#0} +FNDA:0,conjure_core::ast::domains::tests::test_negative_div +FNDA:0,::apply_i32::{closure#0} FNDA:0,<< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_enum::__Visitor<_> as serde::de::Visitor>::expecting -FNDA:1,::values_i32 -FNDA:1,::apply_i32::{closure#0} -FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FNDA:1,< as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> -FNDA:1,::values_i32::{closure#0} +FNDA:0,< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::expecting +FNDA:0,< as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> +FNDA:0,< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::expecting +FNDA:0,< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_enum::<_> +FNDA:0,::apply_i32 FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FNDA:0,<< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_enum::__Visitor<_> as serde::de::Visitor>::visit_seq::<_> -FNDA:0,< as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> +FNDA:0,< as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> +FNDA:0,::apply_i32::{closure#0} FNDA:0,< as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::expecting +FNDA:0,::values_i32::{closure#0} +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> +FNDA:0,< as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> +FNDA:0,< as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> FNDA:0,< as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> -FNDA:0,::values_i32 -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FNDA:1,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> -FNDA:0,<< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_enum::__Visitor<_> as serde::de::Visitor>::expecting +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> -FNDA:0,<< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_enum::__Visitor<_> as serde::de::Visitor>::expecting -FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FNDA:1,::values_i32::{closure#0} +FNDA:0,::values_i32::{closure#0} +FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> +FNDA:0,< as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> FNDA:0,< as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: +FNDA:0,< as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> FNDA:0,< as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FNDA:0,< as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FNDA:0,< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::expecting -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> -FNDA:0,::apply_i32::{closure#0} -FNDA:0,< as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> FNDA:0,<< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_enum::__Visitor<_> as serde::de::Visitor>::visit_seq::<_> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FNDA:1,conjure_core::ast::domains::tests::test_negative_product::{closure#0} -FNDA:0,<< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> +FNDA:0,conjure_core::ast::domains::tests::test_negative_div::{closure#0} FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FNDA:0,< as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FNDA:0,< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_enum::<_> -FNDA:1,<< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::visit_seq::> +FNDA:0,::values_i32 FNDA:0,<< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_enum::__Visitor<_> as serde::de::Visitor>::visit_seq::<_> -FNDA:0,< as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> -FNDA:0,< as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> -FNDA:0,< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::expecting -FNDA:0,< as serde::de::Deserialize>::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> -FNDA:1,< as serde::de::Deserialize>::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> -FNDA:0,< as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> +FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> +FNDA:0,::apply_i32 +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> -FNDA:0,< as serde::de::Deserialize>::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> -FNDA:0,< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::expecting -FNF:84 -FNH:20 +FNDA:0,conjure_core::ast::domains::tests::test_negative_product +FNDA:0,<< as serde::de::Deserialize>::deserialize::__Visitor<_> as serde::de::Visitor>::visit_enum::__Visitor as serde::de::Visitor>::expecting +FNF:54 +FNH:0 BRF:0 BRH:0 -DA:4,825 -DA:13,650 -DA:21,282 -DA:22,282 -DA:23,281 -DA:24,281 -DA:25,281 -DA:26,281 -DA:27,20 -DA:28,261 -DA:29,281 -DA:30,281 -DA:31,281 -DA:32,1 -DA:34,282 -DA:42,141 -DA:43,141 -DA:45,140 -DA:46,1658 -DA:47,1658 -DA:48,1658 -DA:49,140 -DA:50,1 -DA:51,1 -DA:52,141 -DA:60,1 -DA:61,1 -DA:62,1 -DA:63,16 -DA:65,1 -DA:66,1 -DA:67,1 -DA:68,1 -DA:69,1 -DA:70,1 -DA:71,1 -DA:72,1 -DA:73,1 -DA:74,1 +DA:4,0 +DA:13,0 +DA:21,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:34,0 +DA:42,0 +DA:43,0 +DA:45,0 +DA:46,0 +DA:47,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:60,0 +DA:61,0 +DA:62,0 +DA:63,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:68,0 +DA:69,0 +DA:70,0 +DA:71,0 +DA:72,0 +DA:73,0 +DA:74,0 DA:76,0 -DA:78,1 -DA:81,1 -DA:82,1 -DA:83,1 -DA:84,1 -DA:85,16 -DA:86,1 -DA:88,1 -DA:89,1 -DA:90,1 -DA:91,1 -DA:92,1 -DA:93,1 -DA:94,1 -DA:95,1 -DA:96,1 -DA:97,1 +DA:78,0 +DA:81,0 +DA:82,0 +DA:83,0 +DA:84,0 +DA:85,0 +DA:86,0 +DA:88,0 +DA:89,0 +DA:90,0 +DA:91,0 +DA:92,0 +DA:93,0 +DA:94,0 +DA:95,0 +DA:96,0 +DA:97,0 DA:99,0 -DA:101,1 +DA:101,0 LF:59 -LH:57 +LH:0 end_of_record SF:crates/conjure_core/src/context.rs -FN:74,::fmt::{closure#1} FN:73,::fmt::{closure#0} -FN:54,::new_ptr FN:14,::eq -FN:36,::new FN:70,::fmt -FN:73,::fmt::{closure#0} +FN:14,::eq FN:74,::fmt::{closure#1} -FN:54,::new_ptr -FN:36,::new FN:70,::fmt -FN:70,::fmt -FN:74,::fmt::{closure#1} +FN:36,::new FN:54,::new_ptr -FN:73,::fmt::{closure#0} -FN:14,::eq FN:36,::new -FN:14,::eq -FNDA:0,::fmt::{closure#1} +FN:73,::fmt::{closure#0} +FN:54,::new_ptr +FN:74,::fmt::{closure#1} FNDA:0,::fmt::{closure#0} -FNDA:0,::new_ptr FNDA:0,::eq -FNDA:0,::new FNDA:0,::fmt -FNDA:0,::fmt::{closure#0} +FNDA:0,::eq FNDA:0,::fmt::{closure#1} -FNDA:0,::new_ptr -FNDA:0,::new FNDA:0,::fmt -FNDA:0,::fmt -FNDA:0,::fmt::{closure#1} +FNDA:0,::new FNDA:0,::new_ptr -FNDA:0,::fmt::{closure#0} -FNDA:0,::eq FNDA:0,::new -FNDA:0,::eq -FNF:18 +FNDA:0,::fmt::{closure#0} +FNDA:0,::new_ptr +FNDA:0,::fmt::{closure#1} +FNF:12 FNH:0 BRF:0 BRH:0 @@ -9904,109 +7827,77 @@ LF:46 LH:0 end_of_record SF:crates/conjure_core/src/ast/symbol_table.rs -FN:8,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> -FN:8,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> -FN:8,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> -FN:8,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> +FN:8,<::deserialize::__Visitor as serde::de::Visitor>::expecting +FN:15,::fmt +FN:8,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> FN:8,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> +FN:8,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> FN:8,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting +FN:8,<::deserialize::__Visitor as serde::de::Visitor>::expecting +FN:8,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> FN:8,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> +FN:8,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> +FN:8,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> FN:8,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> FN:8,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FN:8,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FN:15,::fmt -FN:8,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FN:8,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> -FN:8,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FN:8,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> FN:8,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> FN:8,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: -FN:8,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FN:8,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> -FN:8,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> +FN:8,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> FN:8,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> FN:15,::fmt -FN:8,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FN:8,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FN:8,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> -FN:8,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FN:15,::fmt -FN:8,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> +FN:8,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting FN:8,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FN:8,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: -FN:8,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> -FN:8,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::expecting +FNDA:0,::fmt +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::expecting +FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FNDA:1,::fmt -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> FNDA:0,::fmt -FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FNDA:0,::fmt -FNDA:1,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FNDA:1,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> -FNDA:1,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> -FNF:32 -FNH:4 +FNF:20 +FNH:0 BRF:0 BRH:0 -DA:8,1690 -DA:15,6975 -DA:16,6975 -DA:17,5190 -DA:18,1785 -DA:20,6975 +DA:8,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:20,0 LF:6 -LH:6 +LH:0 end_of_record SF:crates/conjure_core/src/error.rs FN:8,>::from FN:8,>::from -FN:8,::source -FN:8,::source -FN:8,::fmt -FN:8,>::from -FN:8,>::from -FN:8,::fmt FN:8,>::from FN:8,::fmt FN:8,::source +FN:8,::fmt FN:8,>::from +FN:8,::source FNDA:0,>::from FNDA:0,>::from -FNDA:0,::source -FNDA:0,::source -FNDA:0,::fmt -FNDA:0,>::from -FNDA:0,>::from -FNDA:0,::fmt FNDA:0,>::from FNDA:0,::fmt FNDA:0,::source +FNDA:0,::fmt FNDA:0,>::from -FNF:12 +FNDA:0,::source +FNF:8 FNH:0 BRF:0 BRH:0 @@ -10015,1490 +7906,308 @@ LF:1 LH:0 end_of_record SF:crates/uniplate_derive/tests/macro_tests.rs -FN:152,macro_tests::derive_children_empty -FN:4,::uniplate::{closure#11} -FN:4,::uniplate::{closure#10}::{closure#0} -FN:4,::uniplate::{closure#8} -FN:139,macro_tests::box_change_child -FN:4,::uniplate::{closure#12} -FN:4,::uniplate::{closure#6} -FN:4,::uniplate::{closure#10} -FN:176,macro_tests::derive_children_two -FN:73,macro_tests::derive_context_tuple +FN:4,::uniplate::{closure#0} +FN:228,macro_tests::derive_children_multiple_vecs FN:159,macro_tests::derive_children_box -FN:42,macro_tests::derive_context_empty -FN:210,macro_tests::derive_children_nested_vectors -FN:119,macro_tests::derive_context_multiple_vecs -FN:80,macro_tests::derive_context_different_variants +FN:176,macro_tests::derive_children_two FN:100,macro_tests::derive_context_nested_vectors -FN:4,::uniplate::{closure#9} -FN:4,::uniplate::{closure#5} -FN:4,::uniplate::{closure#1} -FN:18,macro_tests::increase_number_of_children -FN:4,::uniplate::{closure#7} -FN:93,macro_tests::derive_context_nested_tuples -FN:4,::uniplate::{closure#0} FN:4,::uniplate::{closure#3} -FN:57,macro_tests::derive_context_vec +FN:4,::uniplate::{closure#6} +FN:4,::uniplate::{closure#12} +FN:210,macro_tests::derive_children_nested_vectors FN:4,::uniplate::{closure#4} -FN:49,macro_tests::derive_context_box +FN:73,macro_tests::derive_context_tuple +FN:4,::uniplate::{closure#1} +FN:139,macro_tests::box_change_child +FN:80,macro_tests::derive_context_different_variants FN:166,macro_tests::derive_children_vec -FN:4,::uniplate +FN:183,macro_tests::derive_children_tuple +FN:4,::uniplate::{closure#10}::{closure#0} +FN:4,::uniplate::{closure#11} FN:203,macro_tests::derive_children_nested_tuples FN:4,::uniplate::{closure#2} -FN:228,macro_tests::derive_children_multiple_vecs -FN:66,macro_tests::derive_context_two +FN:119,macro_tests::derive_context_multiple_vecs +FN:4,::uniplate::{closure#9} FN:30,macro_tests::decrease_number_of_children -FN:183,macro_tests::derive_children_tuple FN:190,macro_tests::derive_children_different_variants -FNDA:1,macro_tests::derive_children_empty -FNDA:1,::uniplate::{closure#11} -FNDA:1,::uniplate::{closure#10}::{closure#0} -FNDA:1,::uniplate::{closure#8} -FNDA:1,macro_tests::box_change_child -FNDA:1,::uniplate::{closure#12} -FNDA:1,::uniplate::{closure#6} -FNDA:1,::uniplate::{closure#10} -FNDA:1,macro_tests::derive_children_two -FNDA:1,macro_tests::derive_context_tuple -FNDA:1,macro_tests::derive_children_box -FNDA:1,macro_tests::derive_context_empty -FNDA:1,macro_tests::derive_children_nested_vectors -FNDA:1,macro_tests::derive_context_multiple_vecs -FNDA:1,macro_tests::derive_context_different_variants -FNDA:1,macro_tests::derive_context_nested_vectors -FNDA:1,::uniplate::{closure#9} -FNDA:1,::uniplate::{closure#5} -FNDA:1,::uniplate::{closure#1} -FNDA:1,macro_tests::increase_number_of_children -FNDA:1,::uniplate::{closure#7} -FNDA:1,macro_tests::derive_context_nested_tuples -FNDA:1,::uniplate::{closure#0} -FNDA:1,::uniplate::{closure#3} -FNDA:1,macro_tests::derive_context_vec -FNDA:1,::uniplate::{closure#4} -FNDA:1,macro_tests::derive_context_box -FNDA:1,macro_tests::derive_children_vec -FNDA:1,::uniplate -FNDA:1,macro_tests::derive_children_nested_tuples -FNDA:1,::uniplate::{closure#2} -FNDA:1,macro_tests::derive_children_multiple_vecs -FNDA:1,macro_tests::derive_context_two -FNDA:1,macro_tests::decrease_number_of_children -FNDA:1,macro_tests::derive_children_tuple -FNDA:1,macro_tests::derive_children_different_variants +FN:18,macro_tests::increase_number_of_children +FN:93,macro_tests::derive_context_nested_tuples +FN:152,macro_tests::derive_children_empty +FN:4,::uniplate +FN:57,macro_tests::derive_context_vec +FN:66,macro_tests::derive_context_two +FN:4,::uniplate::{closure#7} +FN:4,::uniplate::{closure#10} +FN:42,macro_tests::derive_context_empty +FN:4,::uniplate::{closure#5} +FN:49,macro_tests::derive_context_box +FN:4,::uniplate::{closure#8} +FNDA:0,::uniplate::{closure#0} +FNDA:0,macro_tests::derive_children_multiple_vecs +FNDA:0,macro_tests::derive_children_box +FNDA:0,macro_tests::derive_children_two +FNDA:0,macro_tests::derive_context_nested_vectors +FNDA:0,::uniplate::{closure#3} +FNDA:0,::uniplate::{closure#6} +FNDA:0,::uniplate::{closure#12} +FNDA:0,macro_tests::derive_children_nested_vectors +FNDA:0,::uniplate::{closure#4} +FNDA:0,macro_tests::derive_context_tuple +FNDA:0,::uniplate::{closure#1} +FNDA:0,macro_tests::box_change_child +FNDA:0,macro_tests::derive_context_different_variants +FNDA:0,macro_tests::derive_children_vec +FNDA:0,macro_tests::derive_children_tuple +FNDA:0,::uniplate::{closure#10}::{closure#0} +FNDA:0,::uniplate::{closure#11} +FNDA:0,macro_tests::derive_children_nested_tuples +FNDA:0,::uniplate::{closure#2} +FNDA:0,macro_tests::derive_context_multiple_vecs +FNDA:0,::uniplate::{closure#9} +FNDA:0,macro_tests::decrease_number_of_children +FNDA:0,macro_tests::derive_children_different_variants +FNDA:0,macro_tests::increase_number_of_children +FNDA:0,macro_tests::derive_context_nested_tuples +FNDA:0,macro_tests::derive_children_empty +FNDA:0,::uniplate +FNDA:0,macro_tests::derive_context_vec +FNDA:0,macro_tests::derive_context_two +FNDA:0,::uniplate::{closure#7} +FNDA:0,::uniplate::{closure#10} +FNDA:0,macro_tests::derive_context_empty +FNDA:0,::uniplate::{closure#5} +FNDA:0,macro_tests::derive_context_box +FNDA:0,::uniplate::{closure#8} FNF:36 -FNH:36 +FNH:0 BRF:0 BRH:0 -DA:4,47 -DA:18,1 -DA:19,1 -DA:20,1 -DA:21,1 -DA:22,1 -DA:23,1 -DA:24,1 -DA:25,1 -DA:26,1 -DA:27,1 -DA:30,1 -DA:31,1 -DA:32,1 -DA:33,1 -DA:34,1 -DA:35,1 -DA:36,1 -DA:37,1 -DA:38,1 -DA:39,1 -DA:42,1 -DA:43,1 -DA:44,1 -DA:45,1 -DA:46,1 -DA:49,1 -DA:50,1 -DA:51,1 -DA:52,1 -DA:53,1 -DA:54,1 -DA:57,1 -DA:58,1 -DA:59,1 -DA:60,1 -DA:61,1 -DA:62,1 -DA:63,1 -DA:66,1 -DA:67,1 -DA:68,1 -DA:69,1 -DA:70,1 -DA:73,1 -DA:74,1 -DA:75,1 -DA:76,1 -DA:77,1 -DA:80,1 -DA:81,1 -DA:82,1 -DA:83,1 -DA:84,1 -DA:85,1 -DA:86,1 -DA:87,1 -DA:88,1 -DA:89,1 -DA:90,1 -DA:93,1 -DA:94,1 -DA:95,1 -DA:96,1 -DA:97,1 -DA:100,1 -DA:101,1 -DA:102,1 -DA:103,1 -DA:104,1 -DA:105,1 -DA:106,1 -DA:107,1 -DA:108,1 -DA:109,1 -DA:110,1 -DA:111,1 -DA:112,1 -DA:113,1 -DA:114,1 -DA:115,1 -DA:116,1 -DA:119,1 -DA:120,1 -DA:121,1 -DA:122,1 -DA:123,1 -DA:124,1 -DA:125,1 -DA:126,1 -DA:127,1 -DA:128,1 -DA:129,1 -DA:130,1 -DA:131,1 -DA:132,1 -DA:133,1 -DA:134,1 -DA:135,1 -DA:136,1 -DA:139,1 -DA:140,1 -DA:141,1 -DA:142,1 -DA:143,1 -DA:144,1 -DA:145,1 -DA:146,1 -DA:147,1 -DA:148,1 -DA:149,1 -DA:152,1 -DA:153,1 -DA:154,1 -DA:155,1 -DA:156,1 -DA:159,1 -DA:160,1 -DA:161,1 -DA:162,1 -DA:163,1 -DA:166,1 -DA:167,1 -DA:168,1 -DA:169,1 -DA:170,1 -DA:171,1 -DA:172,1 -DA:173,1 -DA:176,1 -DA:177,1 -DA:178,1 -DA:179,1 -DA:180,1 -DA:183,1 -DA:184,1 -DA:185,1 -DA:186,1 -DA:187,1 -DA:190,1 -DA:191,1 -DA:192,1 -DA:193,1 -DA:194,1 -DA:195,1 -DA:196,1 -DA:197,1 -DA:198,1 -DA:199,1 -DA:200,1 -DA:203,1 -DA:204,1 -DA:205,1 -DA:206,1 -DA:207,1 -DA:210,1 -DA:211,1 -DA:212,1 -DA:213,1 -DA:214,1 -DA:215,1 -DA:216,1 -DA:217,1 -DA:218,1 -DA:219,1 -DA:220,1 -DA:221,1 -DA:222,1 -DA:223,1 -DA:224,1 -DA:225,1 -DA:228,1 -DA:229,1 -DA:230,1 -DA:231,1 -DA:232,1 -DA:233,1 -DA:234,1 -DA:235,1 -DA:236,1 -DA:237,1 -DA:238,1 -DA:239,1 -DA:240,1 -DA:241,1 -DA:242,1 -DA:243,1 -DA:244,1 +DA:4,0 +DA:18,0 +DA:19,0 +DA:20,0 +DA:21,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:33,0 +DA:34,0 +DA:35,0 +DA:36,0 +DA:37,0 +DA:38,0 +DA:39,0 +DA:42,0 +DA:43,0 +DA:44,0 +DA:45,0 +DA:46,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:52,0 +DA:53,0 +DA:54,0 +DA:57,0 +DA:58,0 +DA:59,0 +DA:60,0 +DA:61,0 +DA:62,0 +DA:63,0 +DA:66,0 +DA:67,0 +DA:68,0 +DA:69,0 +DA:70,0 +DA:73,0 +DA:74,0 +DA:75,0 +DA:76,0 +DA:77,0 +DA:80,0 +DA:81,0 +DA:82,0 +DA:83,0 +DA:84,0 +DA:85,0 +DA:86,0 +DA:87,0 +DA:88,0 +DA:89,0 +DA:90,0 +DA:93,0 +DA:94,0 +DA:95,0 +DA:96,0 +DA:97,0 +DA:100,0 +DA:101,0 +DA:102,0 +DA:103,0 +DA:104,0 +DA:105,0 +DA:106,0 +DA:107,0 +DA:108,0 +DA:109,0 +DA:110,0 +DA:111,0 +DA:112,0 +DA:113,0 +DA:114,0 +DA:115,0 +DA:116,0 +DA:119,0 +DA:120,0 +DA:121,0 +DA:122,0 +DA:123,0 +DA:124,0 +DA:125,0 +DA:126,0 +DA:127,0 +DA:128,0 +DA:129,0 +DA:130,0 +DA:131,0 +DA:132,0 +DA:133,0 +DA:134,0 +DA:135,0 +DA:136,0 +DA:139,0 +DA:140,0 +DA:141,0 +DA:142,0 +DA:143,0 +DA:144,0 +DA:145,0 +DA:146,0 +DA:147,0 +DA:148,0 +DA:149,0 +DA:152,0 +DA:153,0 +DA:154,0 +DA:155,0 +DA:156,0 +DA:159,0 +DA:160,0 +DA:161,0 +DA:162,0 +DA:163,0 +DA:166,0 +DA:167,0 +DA:168,0 +DA:169,0 +DA:170,0 +DA:171,0 +DA:172,0 +DA:173,0 +DA:176,0 +DA:177,0 +DA:178,0 +DA:179,0 +DA:180,0 +DA:183,0 +DA:184,0 +DA:185,0 +DA:186,0 +DA:187,0 +DA:190,0 +DA:191,0 +DA:192,0 +DA:193,0 +DA:194,0 +DA:195,0 +DA:196,0 +DA:197,0 +DA:198,0 +DA:199,0 +DA:200,0 +DA:203,0 +DA:204,0 +DA:205,0 +DA:206,0 +DA:207,0 +DA:210,0 +DA:211,0 +DA:212,0 +DA:213,0 +DA:214,0 +DA:215,0 +DA:216,0 +DA:217,0 +DA:218,0 +DA:219,0 +DA:220,0 +DA:221,0 +DA:222,0 +DA:223,0 +DA:224,0 +DA:225,0 +DA:228,0 +DA:229,0 +DA:230,0 +DA:231,0 +DA:232,0 +DA:233,0 +DA:234,0 +DA:235,0 +DA:236,0 +DA:237,0 +DA:238,0 +DA:239,0 +DA:240,0 +DA:241,0 +DA:242,0 +DA:243,0 +DA:244,0 LF:188 -LH:188 -end_of_record -SF:conjure_oxide/tests/rewrite_tests.rs -FN:1135,rewrite_tests::choose_rewrite -FN:456,rewrite_tests::unwrap_nested_or_not_changed -FN:1209,rewrite_tests::eval_const_eq_bool -FN:53,rewrite_tests::evaluate_sum_of_constants -FN:1060,rewrite_tests::rewrite_solve_xyz_parameterized::{closure#0} -FN:710,rewrite_tests::rule_distribute_not_over_or_not_changed -FN:1064,rewrite_tests::rewrite_solve_xyz_parameterized::{closure#1} -FN:547,rewrite_tests::rule_remove_constants_from_and -FN:1152,rewrite_tests::eval_const_bool -FN:1172,rewrite_tests::eval_const_ref -FN:473,rewrite_tests::unwrap_nested_and_not_changed -FN:1231,rewrite_tests::eval_const_sum_mixed -FN:727,rewrite_tests::rule_distribute_or_over_and -FN:915,rewrite_tests::rewrite_solve_xyz::{closure#0} -FN:168,rewrite_tests::rule_sum_mixed -FN:361,rewrite_tests::rule_remove_double_negation -FN:523,rewrite_tests::rule_remove_constants_from_or -FN:239,rewrite_tests::reduce_solve_xyz -FN:357,rewrite_tests::reduce_solve_xyz::{closure#0} -FN:490,rewrite_tests::remove_trivial_and_or -FN:1198,rewrite_tests::eval_const_eq_int -FN:25,rewrite_tests::sum_of_constants -FN:198,rewrite_tests::rule_sum_geq -FN:828,rewrite_tests::rewrite_solve_xyz -FN:384,rewrite_tests::rule_unwrap_nested_or -FN:1113,rewrite_tests::apply_all_rules -FN:1159,rewrite_tests::eval_const_and -FN:139,rewrite_tests::rule_sum_constants -FN:1278,rewrite_tests::eval_const_or -FN:1077,rewrite_tests::is_simple -FN:1089,rewrite_tests::is_simple_iteration -FN:1244,rewrite_tests::eval_const_sum_xyz -FN:1220,rewrite_tests::eval_const_eq_mixed -FN:110,rewrite_tests::simplify_expression -FN:420,rewrite_tests::rule_unwrap_nested_and -FN:649,rewrite_tests::rule_distribute_not_over_or -FN:1145,rewrite_tests::eval_const_int -FN:588,rewrite_tests::remove_constants_from_and_not_changed -FN:605,rewrite_tests::rule_distribute_not_over_and -FN:72,rewrite_tests::recursive_sum_of_constants -FN:19,rewrite_tests::rules_present -FN:571,rewrite_tests::remove_constants_from_or_not_changed -FN:693,rewrite_tests::rule_distribute_not_over_and_not_changed -FN:919,rewrite_tests::rewrite_solve_xyz_parameterized -FN:1179,rewrite_tests::eval_const_nested_ref -FNDA:1,rewrite_tests::choose_rewrite -FNDA:1,rewrite_tests::unwrap_nested_or_not_changed -FNDA:1,rewrite_tests::eval_const_eq_bool -FNDA:1,rewrite_tests::evaluate_sum_of_constants -FNDA:1,rewrite_tests::rewrite_solve_xyz_parameterized::{closure#0} -FNDA:1,rewrite_tests::rule_distribute_not_over_or_not_changed -FNDA:1,rewrite_tests::rewrite_solve_xyz_parameterized::{closure#1} -FNDA:1,rewrite_tests::rule_remove_constants_from_and -FNDA:1,rewrite_tests::eval_const_bool -FNDA:1,rewrite_tests::eval_const_ref -FNDA:1,rewrite_tests::unwrap_nested_and_not_changed -FNDA:1,rewrite_tests::eval_const_sum_mixed -FNDA:1,rewrite_tests::rule_distribute_or_over_and -FNDA:1,rewrite_tests::rewrite_solve_xyz::{closure#0} -FNDA:1,rewrite_tests::rule_sum_mixed -FNDA:1,rewrite_tests::rule_remove_double_negation -FNDA:1,rewrite_tests::rule_remove_constants_from_or -FNDA:1,rewrite_tests::reduce_solve_xyz -FNDA:1,rewrite_tests::reduce_solve_xyz::{closure#0} -FNDA:1,rewrite_tests::remove_trivial_and_or -FNDA:1,rewrite_tests::eval_const_eq_int -FNDA:1,rewrite_tests::sum_of_constants -FNDA:1,rewrite_tests::rule_sum_geq -FNDA:1,rewrite_tests::rewrite_solve_xyz -FNDA:1,rewrite_tests::rule_unwrap_nested_or -FNDA:1,rewrite_tests::apply_all_rules -FNDA:1,rewrite_tests::eval_const_and -FNDA:1,rewrite_tests::rule_sum_constants -FNDA:1,rewrite_tests::eval_const_or -FNDA:1,rewrite_tests::is_simple -FNDA:1,rewrite_tests::is_simple_iteration -FNDA:1,rewrite_tests::eval_const_sum_xyz -FNDA:1,rewrite_tests::eval_const_eq_mixed -FNDA:1,rewrite_tests::simplify_expression -FNDA:1,rewrite_tests::rule_unwrap_nested_and -FNDA:1,rewrite_tests::rule_distribute_not_over_or -FNDA:1,rewrite_tests::eval_const_int -FNDA:1,rewrite_tests::remove_constants_from_and_not_changed -FNDA:1,rewrite_tests::rule_distribute_not_over_and -FNDA:1,rewrite_tests::recursive_sum_of_constants -FNDA:1,rewrite_tests::rules_present -FNDA:1,rewrite_tests::remove_constants_from_or_not_changed -FNDA:1,rewrite_tests::rule_distribute_not_over_and_not_changed -FNDA:1,rewrite_tests::rewrite_solve_xyz_parameterized -FNDA:1,rewrite_tests::eval_const_nested_ref -FNF:45 -FNH:45 -BRF:0 -BRH:0 -DA:19,1 -DA:20,1 -DA:21,1 -DA:22,1 -DA:25,1 -DA:26,1 -DA:27,1 -DA:28,1 -DA:29,1 -DA:30,1 -DA:31,1 -DA:32,1 -DA:33,1 -DA:34,1 -DA:35,1 -DA:36,1 -DA:37,1 -DA:38,1 -DA:39,1 -DA:40,1 -DA:41,1 -DA:42,1 -DA:43,1 -DA:44,1 -DA:45,0 -DA:48,1 -DA:49,0 -DA:50,1 -DA:51,1 -DA:53,4 -DA:54,4 -DA:55,4 -DA:56,4 -DA:57,12 -DA:58,8 -DA:59,8 -DA:60,8 -DA:61,8 -DA:62,2 -DA:65,2 -DA:67,0 -DA:69,4 -DA:72,1 -DA:73,1 -DA:74,1 -DA:75,1 -DA:76,1 -DA:77,1 -DA:78,1 -DA:79,1 -DA:80,1 -DA:81,1 -DA:82,1 -DA:83,1 -DA:84,1 -DA:85,1 -DA:86,1 -DA:87,1 -DA:88,1 -DA:89,1 -DA:90,1 -DA:91,1 -DA:92,1 -DA:93,1 -DA:94,1 -DA:95,1 -DA:96,1 -DA:97,1 -DA:98,1 -DA:99,1 -DA:100,1 -DA:101,1 -DA:102,1 -DA:103,1 -DA:104,1 -DA:105,1 -DA:106,1 -DA:107,1 -DA:108,1 -DA:110,7 -DA:111,7 -DA:112,2 -DA:113,1 -DA:114,2 -DA:116,1 -DA:118,1 -DA:119,1 -DA:120,1 -DA:121,1 -DA:124,1 -DA:125,1 -DA:126,1 -DA:127,1 -DA:128,1 -DA:129,0 -DA:130,0 -DA:131,0 -DA:132,0 -DA:133,0 -DA:134,4 -DA:136,7 -DA:139,1 -DA:140,1 -DA:141,1 -DA:142,1 -DA:143,1 -DA:144,1 -DA:145,1 -DA:146,1 -DA:147,1 -DA:148,1 -DA:149,1 -DA:150,1 -DA:151,1 -DA:152,1 -DA:153,1 -DA:154,1 -DA:155,1 -DA:156,1 -DA:157,1 -DA:158,1 -DA:159,1 -DA:160,1 -DA:161,1 -DA:162,1 -DA:163,1 -DA:164,1 -DA:165,1 -DA:168,1 -DA:169,1 -DA:170,1 -DA:171,1 -DA:172,1 -DA:173,1 -DA:174,1 -DA:175,1 -DA:176,1 -DA:177,1 -DA:178,1 -DA:179,1 -DA:180,1 -DA:181,1 -DA:182,1 -DA:183,1 -DA:184,1 -DA:185,1 -DA:186,1 -DA:187,1 -DA:188,1 -DA:189,1 -DA:190,1 -DA:191,1 -DA:192,1 -DA:193,1 -DA:194,1 -DA:195,1 -DA:198,1 -DA:199,1 -DA:200,1 -DA:201,1 -DA:202,1 -DA:203,1 -DA:204,1 -DA:205,1 -DA:206,1 -DA:207,1 -DA:208,1 -DA:209,1 -DA:210,1 -DA:211,1 -DA:212,1 -DA:213,1 -DA:214,1 -DA:215,1 -DA:216,1 -DA:217,1 -DA:218,1 -DA:219,1 -DA:220,1 -DA:221,1 -DA:222,1 -DA:223,1 -DA:224,1 -DA:225,1 -DA:226,1 -DA:227,1 -DA:228,1 -DA:229,1 -DA:239,1 -DA:240,1 -DA:241,1 -DA:242,1 -DA:243,1 -DA:244,1 -DA:245,1 -DA:246,1 -DA:247,1 -DA:248,1 -DA:249,1 -DA:250,1 -DA:251,1 -DA:252,1 -DA:253,1 -DA:254,1 -DA:255,1 -DA:256,1 -DA:257,1 -DA:258,1 -DA:259,1 -DA:260,1 -DA:261,1 -DA:262,1 -DA:263,1 -DA:264,1 -DA:265,1 -DA:266,1 -DA:267,1 -DA:270,1 -DA:271,1 -DA:272,1 -DA:273,1 -DA:274,1 -DA:275,1 -DA:276,1 -DA:277,1 -DA:278,1 -DA:279,1 -DA:280,1 -DA:281,1 -DA:282,1 -DA:283,1 -DA:284,1 -DA:285,1 -DA:286,1 -DA:287,1 -DA:288,1 -DA:289,1 -DA:290,1 -DA:291,1 -DA:292,1 -DA:293,1 -DA:294,1 -DA:295,1 -DA:296,1 -DA:297,1 -DA:300,1 -DA:301,1 -DA:302,1 -DA:303,1 -DA:304,1 -DA:305,1 -DA:306,1 -DA:307,1 -DA:308,1 -DA:309,1 -DA:310,1 -DA:311,1 -DA:312,1 -DA:313,1 -DA:314,1 -DA:315,1 -DA:316,1 -DA:317,1 -DA:318,1 -DA:319,1 -DA:320,1 -DA:321,1 -DA:322,1 -DA:323,1 -DA:324,1 -DA:325,1 -DA:326,1 -DA:327,1 -DA:328,1 -DA:329,1 -DA:331,1 -DA:332,1 -DA:333,1 -DA:334,1 -DA:335,1 -DA:336,1 -DA:337,1 -DA:338,1 -DA:339,1 -DA:340,1 -DA:341,1 -DA:342,1 -DA:343,1 -DA:344,1 -DA:345,1 -DA:346,1 -DA:347,1 -DA:348,1 -DA:349,1 -DA:350,1 -DA:351,1 -DA:352,1 -DA:353,1 -DA:354,1 -DA:355,1 -DA:356,1 -DA:357,1 -DA:358,1 -DA:361,1 -DA:362,1 -DA:363,1 -DA:364,1 -DA:365,1 -DA:366,1 -DA:367,1 -DA:368,1 -DA:369,1 -DA:370,1 -DA:371,1 -DA:372,1 -DA:373,1 -DA:374,1 -DA:375,1 -DA:376,1 -DA:377,1 -DA:378,1 -DA:379,1 -DA:380,1 -DA:381,1 -DA:384,1 -DA:385,1 -DA:386,1 -DA:387,1 -DA:388,1 -DA:389,1 -DA:390,1 -DA:391,1 -DA:392,1 -DA:393,1 -DA:394,1 -DA:395,1 -DA:396,1 -DA:397,1 -DA:398,1 -DA:399,1 -DA:400,1 -DA:401,1 -DA:402,1 -DA:403,1 -DA:404,1 -DA:405,1 -DA:406,1 -DA:407,1 -DA:408,1 -DA:409,1 -DA:410,1 -DA:411,1 -DA:412,1 -DA:413,1 -DA:414,1 -DA:415,1 -DA:416,1 -DA:417,1 -DA:420,1 -DA:421,1 -DA:422,1 -DA:423,1 -DA:424,1 -DA:425,1 -DA:426,1 -DA:427,1 -DA:428,1 -DA:429,1 -DA:430,1 -DA:431,1 -DA:432,1 -DA:433,1 -DA:434,1 -DA:435,1 -DA:436,1 -DA:437,1 -DA:438,1 -DA:439,1 -DA:440,1 -DA:441,1 -DA:442,1 -DA:443,1 -DA:444,1 -DA:445,1 -DA:446,1 -DA:447,1 -DA:448,1 -DA:449,1 -DA:450,1 -DA:451,1 -DA:452,1 -DA:453,1 -DA:456,1 -DA:457,1 -DA:458,1 -DA:459,1 -DA:460,1 -DA:461,1 -DA:462,1 -DA:463,1 -DA:464,1 -DA:465,1 -DA:466,1 -DA:467,1 -DA:468,1 -DA:469,1 -DA:470,1 -DA:473,1 -DA:474,1 -DA:475,1 -DA:476,1 -DA:477,1 -DA:478,1 -DA:479,1 -DA:480,1 -DA:481,1 -DA:482,1 -DA:483,1 -DA:484,1 -DA:485,1 -DA:486,1 -DA:487,1 -DA:490,1 -DA:491,1 -DA:492,1 -DA:493,1 -DA:494,1 -DA:495,1 -DA:496,1 -DA:497,1 -DA:498,1 -DA:499,1 -DA:500,1 -DA:501,1 -DA:502,1 -DA:503,1 -DA:504,1 -DA:505,1 -DA:506,1 -DA:507,1 -DA:508,1 -DA:509,1 -DA:510,1 -DA:511,1 -DA:512,1 -DA:513,1 -DA:514,1 -DA:515,1 -DA:516,1 -DA:517,1 -DA:518,1 -DA:519,1 -DA:520,1 -DA:523,1 -DA:524,1 -DA:525,1 -DA:526,1 -DA:527,1 -DA:528,1 -DA:529,1 -DA:530,1 -DA:531,1 -DA:532,1 -DA:533,1 -DA:534,1 -DA:535,1 -DA:536,1 -DA:537,1 -DA:538,1 -DA:539,1 -DA:540,1 -DA:541,1 -DA:542,1 -DA:543,1 -DA:544,1 -DA:547,1 -DA:548,1 -DA:549,1 -DA:550,1 -DA:551,1 -DA:552,1 -DA:553,1 -DA:554,1 -DA:555,1 -DA:556,1 -DA:557,1 -DA:558,1 -DA:559,1 -DA:560,1 -DA:561,1 -DA:562,1 -DA:563,1 -DA:564,1 -DA:565,1 -DA:566,1 -DA:567,1 -DA:568,1 -DA:571,1 -DA:572,1 -DA:573,1 -DA:574,1 -DA:575,1 -DA:576,1 -DA:577,1 -DA:578,1 -DA:579,1 -DA:580,1 -DA:581,1 -DA:582,1 -DA:583,1 -DA:584,1 -DA:585,1 -DA:588,1 -DA:589,1 -DA:590,1 -DA:591,1 -DA:592,1 -DA:593,1 -DA:594,1 -DA:595,1 -DA:596,1 -DA:597,1 -DA:598,1 -DA:599,1 -DA:600,1 -DA:601,1 -DA:602,1 -DA:605,1 -DA:606,1 -DA:607,1 -DA:608,1 -DA:609,1 -DA:610,1 -DA:611,1 -DA:612,1 -DA:613,1 -DA:614,1 -DA:615,1 -DA:616,1 -DA:617,1 -DA:618,1 -DA:619,1 -DA:620,1 -DA:621,1 -DA:622,1 -DA:623,1 -DA:624,1 -DA:625,1 -DA:626,1 -DA:627,1 -DA:628,1 -DA:629,1 -DA:630,1 -DA:631,1 -DA:632,1 -DA:633,1 -DA:634,1 -DA:635,1 -DA:636,1 -DA:637,1 -DA:638,1 -DA:639,1 -DA:640,1 -DA:641,1 -DA:642,1 -DA:643,1 -DA:644,1 -DA:645,1 -DA:646,1 -DA:649,1 -DA:650,1 -DA:651,1 -DA:652,1 -DA:653,1 -DA:654,1 -DA:655,1 -DA:656,1 -DA:657,1 -DA:658,1 -DA:659,1 -DA:660,1 -DA:661,1 -DA:662,1 -DA:663,1 -DA:664,1 -DA:665,1 -DA:666,1 -DA:667,1 -DA:668,1 -DA:669,1 -DA:670,1 -DA:671,1 -DA:672,1 -DA:673,1 -DA:674,1 -DA:675,1 -DA:676,1 -DA:677,1 -DA:678,1 -DA:679,1 -DA:680,1 -DA:681,1 -DA:682,1 -DA:683,1 -DA:684,1 -DA:685,1 -DA:686,1 -DA:687,1 -DA:688,1 -DA:689,1 -DA:690,1 -DA:693,1 -DA:694,1 -DA:695,1 -DA:696,1 -DA:697,1 -DA:698,1 -DA:699,1 -DA:700,1 -DA:701,1 -DA:702,1 -DA:703,1 -DA:704,1 -DA:705,1 -DA:706,1 -DA:707,1 -DA:710,1 -DA:711,1 -DA:712,1 -DA:713,1 -DA:714,1 -DA:715,1 -DA:716,1 -DA:717,1 -DA:718,1 -DA:719,1 -DA:720,1 -DA:721,1 -DA:722,1 -DA:723,1 -DA:724,1 -DA:727,1 -DA:728,1 -DA:729,1 -DA:730,1 -DA:731,1 -DA:732,1 -DA:733,1 -DA:734,1 -DA:735,1 -DA:736,1 -DA:737,1 -DA:738,1 -DA:739,1 -DA:740,1 -DA:741,1 -DA:742,1 -DA:743,1 -DA:744,1 -DA:745,1 -DA:746,1 -DA:747,1 -DA:748,1 -DA:749,1 -DA:750,1 -DA:751,1 -DA:752,1 -DA:753,1 -DA:754,1 -DA:755,1 -DA:756,1 -DA:757,1 -DA:758,1 -DA:759,1 -DA:760,1 -DA:761,1 -DA:762,1 -DA:763,1 -DA:764,1 -DA:765,1 -DA:766,1 -DA:767,1 -DA:768,1 -DA:769,1 -DA:770,1 -DA:828,1 -DA:829,1 -DA:831,1 -DA:832,1 -DA:833,0 -DA:834,0 -DA:835,0 -DA:838,1 -DA:839,1 -DA:840,1 -DA:841,1 -DA:842,1 -DA:843,1 -DA:844,1 -DA:845,1 -DA:846,1 -DA:847,1 -DA:848,1 -DA:849,1 -DA:850,1 -DA:851,1 -DA:852,1 -DA:853,1 -DA:854,1 -DA:855,1 -DA:856,1 -DA:857,1 -DA:858,1 -DA:859,1 -DA:860,1 -DA:861,1 -DA:862,1 -DA:863,1 -DA:864,1 -DA:865,1 -DA:866,1 -DA:867,1 -DA:868,1 -DA:870,1 -DA:871,1 -DA:872,0 -DA:873,0 -DA:874,0 -DA:879,1 -DA:880,1 -DA:881,1 -DA:882,1 -DA:883,1 -DA:884,1 -DA:885,1 -DA:886,1 -DA:887,1 -DA:888,1 -DA:891,1 -DA:892,1 -DA:893,1 -DA:894,1 -DA:895,1 -DA:896,1 -DA:897,1 -DA:898,1 -DA:899,1 -DA:900,1 -DA:901,1 -DA:902,1 -DA:903,1 -DA:904,1 -DA:905,1 -DA:906,1 -DA:907,1 -DA:908,1 -DA:909,1 -DA:910,1 -DA:911,1 -DA:912,1 -DA:913,1 -DA:914,1 -DA:915,1 -DA:916,1 -DA:919,1 -DA:920,1 -DA:922,1 -DA:923,1 -DA:924,0 -DA:925,0 -DA:926,0 -DA:929,1 -DA:930,1 -DA:931,1 -DA:932,1 -DA:933,1 -DA:934,1 -DA:935,1 -DA:936,1 -DA:937,1 -DA:938,1 -DA:940,5 -DA:942,4 -DA:943,10 -DA:944,10 -DA:945,10 -DA:946,10 -DA:947,10 -DA:948,10 -DA:949,10 -DA:950,10 -DA:951,10 -DA:952,10 -DA:953,10 -DA:954,10 -DA:955,10 -DA:956,10 -DA:957,10 -DA:958,10 -DA:959,10 -DA:960,10 -DA:961,10 -DA:962,10 -DA:963,10 -DA:964,10 -DA:965,10 -DA:966,10 -DA:967,10 -DA:968,4 -DA:969,4 -DA:970,4 -DA:971,4 -DA:972,4 -DA:973,4 -DA:974,4 -DA:975,4 -DA:976,4 -DA:977,4 -DA:978,4 -DA:979,4 -DA:980,4 -DA:981,4 -DA:982,4 -DA:983,4 -DA:984,4 -DA:985,4 -DA:986,4 -DA:987,4 -DA:988,4 -DA:989,4 -DA:990,4 -DA:991,4 -DA:992,4 -DA:993,4 -DA:994,4 -DA:995,4 -DA:996,4 -DA:997,4 -DA:998,4 -DA:999,4 -DA:1000,4 -DA:1001,4 -DA:1002,4 -DA:1003,4 -DA:1004,4 -DA:1005,4 -DA:1006,4 -DA:1008,4 -DA:1009,4 -DA:1012,4 -DA:1013,4 -DA:1014,4 -DA:1015,4 -DA:1016,4 -DA:1017,4 -DA:1018,4 -DA:1019,4 -DA:1020,4 -DA:1021,4 -DA:1022,4 -DA:1023,4 -DA:1024,4 -DA:1025,4 -DA:1026,4 -DA:1027,4 -DA:1028,4 -DA:1029,4 -DA:1030,4 -DA:1031,4 -DA:1032,4 -DA:1033,4 -DA:1034,4 -DA:1035,4 -DA:1036,4 -DA:1037,4 -DA:1038,4 -DA:1039,4 -DA:1040,4 -DA:1041,4 -DA:1042,4 -DA:1043,4 -DA:1044,4 -DA:1045,4 -DA:1046,4 -DA:1047,4 -DA:1048,4 -DA:1049,4 -DA:1050,4 -DA:1051,4 -DA:1052,4 -DA:1053,4 -DA:1054,4 -DA:1055,4 -DA:1056,4 -DA:1057,4 -DA:1058,4 -DA:1059,4 -DA:1060,4 -DA:1061,4 -DA:1062,4 -DA:1063,4 -DA:1064,4 -DA:1066,1 -DA:1077,9 -DA:1078,9 -DA:1079,9 -DA:1080,9 -DA:1081,0 -DA:1082,0 -DA:1083,9 -DA:1084,9 -DA:1089,4233 -DA:1090,4233 -DA:1091,4233 -DA:1092,4233 -DA:1093,4233 -DA:1094,4233 -DA:1095,0 -DA:1097,4233 -DA:1098,4233 -DA:1099,4224 -DA:1100,0 -DA:1101,0 -DA:1102,0 -DA:1103,0 -DA:1104,4224 -DA:1107,4233 -DA:1108,4233 -DA:1113,4233 -DA:1114,4233 -DA:1115,4233 -DA:1116,4233 -DA:1117,4233 -DA:1118,143922 -DA:1119,139689 -DA:1120,0 -DA:1121,0 -DA:1122,0 -DA:1123,0 -DA:1124,0 -DA:1125,0 -DA:1126,139689 -DA:1129,4233 -DA:1130,4233 -DA:1135,4233 -DA:1136,4233 -DA:1137,4233 -DA:1138,0 -DA:1139,0 -DA:1140,0 -DA:1141,0 -DA:1142,4233 -DA:1145,1 -DA:1146,1 -DA:1147,1 -DA:1148,1 -DA:1149,1 -DA:1152,1 -DA:1153,1 -DA:1154,1 -DA:1155,1 -DA:1156,1 -DA:1159,1 -DA:1160,1 -DA:1161,1 -DA:1162,1 -DA:1163,1 -DA:1164,1 -DA:1165,1 -DA:1166,1 -DA:1167,1 -DA:1168,1 -DA:1169,1 -DA:1172,1 -DA:1173,1 -DA:1174,1 -DA:1175,1 -DA:1176,1 -DA:1179,1 -DA:1180,1 -DA:1181,1 -DA:1182,1 -DA:1183,1 -DA:1184,1 -DA:1185,1 -DA:1186,1 -DA:1187,1 -DA:1188,1 -DA:1189,1 -DA:1190,1 -DA:1191,1 -DA:1192,1 -DA:1193,1 -DA:1194,1 -DA:1195,1 -DA:1198,1 -DA:1199,1 -DA:1200,1 -DA:1201,1 -DA:1202,1 -DA:1203,1 -DA:1204,1 -DA:1205,1 -DA:1206,1 -DA:1209,1 -DA:1210,1 -DA:1211,1 -DA:1212,1 -DA:1213,1 -DA:1214,1 -DA:1215,1 -DA:1216,1 -DA:1217,1 -DA:1220,1 -DA:1221,1 -DA:1222,1 -DA:1223,1 -DA:1224,1 -DA:1225,1 -DA:1226,1 -DA:1227,1 -DA:1228,1 -DA:1231,1 -DA:1232,1 -DA:1233,1 -DA:1234,1 -DA:1235,1 -DA:1236,1 -DA:1237,1 -DA:1238,1 -DA:1239,1 -DA:1240,1 -DA:1241,1 -DA:1244,1 -DA:1245,1 -DA:1246,1 -DA:1247,1 -DA:1248,1 -DA:1249,1 -DA:1250,1 -DA:1251,1 -DA:1252,1 -DA:1253,1 -DA:1254,1 -DA:1255,1 -DA:1256,1 -DA:1257,1 -DA:1258,1 -DA:1259,1 -DA:1260,1 -DA:1261,1 -DA:1262,1 -DA:1263,1 -DA:1264,1 -DA:1265,1 -DA:1266,1 -DA:1267,1 -DA:1268,1 -DA:1269,1 -DA:1270,1 -DA:1271,1 -DA:1272,1 -DA:1273,1 -DA:1274,1 -DA:1275,1 -DA:1278,1 -DA:1279,1 -DA:1280,1 -DA:1281,1 -DA:1282,1 -DA:1283,1 -DA:1284,1 -DA:1285,1 -DA:1286,1 -DA:1287,1 -DA:1288,1 -LF:1076 -LH:1042 +LH:0 end_of_record SF:crates/uniplate/src/uniplate.rs +FN:54,<_ as uniplate::uniplate::Uniplate>::transform +FN:48,<_ as uniplate::uniplate::Uniplate>::with_children +FN:31,<_ as uniplate::uniplate::Uniplate>::universe +FN:40,::children FN:83,<_ as uniplate::uniplate::Uniplate>::descend FN:68,<_ as uniplate::uniplate::Uniplate>::rewrite -FN:54,::transform FN:140,<_ as uniplate::uniplate::Uniplate>::one_holed_context::{closure#0} -FN:31,<_ as uniplate::uniplate::Uniplate>::universe -FN:40,::children -FN:40,::children -FN:48,<_ as uniplate::uniplate::Uniplate>::with_children +FN:3,::fmt +FN:48,::with_children FN:103,<_ as uniplate::uniplate::Uniplate>::fold::<_> +FN:40,::children FN:40,::children -FN:54,<_ as uniplate::uniplate::Uniplate>::transform -FN:48,::with_children -FN:40,<_ as uniplate::uniplate::Uniplate>::children +FN:132,<_ as uniplate::uniplate::Uniplate>::one_holed_context FN:106,<_ as uniplate::uniplate::Uniplate>::fold::<_>::{closure#0} +FN:40,<_ as uniplate::uniplate::Uniplate>::children FN:48,::with_children -FN:48,::with_children -FN:40,::children -FN:40,::children -FN:132,<_ as uniplate::uniplate::Uniplate>::one_holed_context -FN:3,::fmt +FNDA:0,<_ as uniplate::uniplate::Uniplate>::transform +FNDA:0,<_ as uniplate::uniplate::Uniplate>::with_children +FNDA:0,<_ as uniplate::uniplate::Uniplate>::universe +FNDA:0,::children FNDA:0,<_ as uniplate::uniplate::Uniplate>::descend FNDA:0,<_ as uniplate::uniplate::Uniplate>::rewrite -FNDA:1,::transform FNDA:0,<_ as uniplate::uniplate::Uniplate>::one_holed_context::{closure#0} -FNDA:0,<_ as uniplate::uniplate::Uniplate>::universe -FNDA:1,::children -FNDA:0,::children -FNDA:0,<_ as uniplate::uniplate::Uniplate>::with_children +FNDA:0,::fmt +FNDA:0,::with_children FNDA:0,<_ as uniplate::uniplate::Uniplate>::fold::<_> +FNDA:0,::children FNDA:0,::children -FNDA:0,<_ as uniplate::uniplate::Uniplate>::transform -FNDA:0,::with_children -FNDA:0,<_ as uniplate::uniplate::Uniplate>::children +FNDA:0,<_ as uniplate::uniplate::Uniplate>::one_holed_context FNDA:0,<_ as uniplate::uniplate::Uniplate>::fold::<_>::{closure#0} -FNDA:1,::with_children +FNDA:0,<_ as uniplate::uniplate::Uniplate>::children FNDA:0,::with_children -FNDA:1,::children -FNDA:1,::children -FNDA:0,<_ as uniplate::uniplate::Uniplate>::one_holed_context -FNDA:0,::fmt -FNF:20 -FNH:5 +FNF:16 +FNH:0 BRF:0 BRH:0 DA:3,0 @@ -11509,23 +8218,23 @@ DA:34,0 DA:35,0 DA:36,0 DA:37,0 -DA:40,16394490 -DA:41,16394490 -DA:42,16394490 -DA:48,20250 -DA:49,20250 -DA:50,20250 -DA:51,20250 -DA:54,9 -DA:55,9 -DA:56,9 -DA:57,9 -DA:58,17 -DA:59,8 -DA:60,8 -DA:63,9 -DA:64,9 -DA:65,9 +DA:40,0 +DA:41,0 +DA:42,0 +DA:48,0 +DA:49,0 +DA:50,0 +DA:51,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:59,0 +DA:60,0 +DA:63,0 +DA:64,0 +DA:65,0 DA:68,0 DA:69,0 DA:70,0 @@ -11565,276 +8274,171 @@ DA:145,0 DA:146,0 DA:147,0 LF:63 -LH:17 -end_of_record -SF:crates/uniplate/src/lib.rs -FN:66,rust_out::my_rule -FN:45,::uniplate -FN:48,::uniplate::{closure#1} -FN:49,::uniplate::{closure#2} -FN:10,rust_out::main::_doctest_main_crates_uniplate_src_lib_rs_10_0 -FN:75,rust_out::main -FN:51,::uniplate::{closure#4} -FN:47,::uniplate::{closure#0} -FN:50,::uniplate::{closure#3} -FNDA:1,rust_out::my_rule -FNDA:1,::uniplate -FNDA:1,::uniplate::{closure#1} -FNDA:0,::uniplate::{closure#2} -FNDA:1,rust_out::main::_doctest_main_crates_uniplate_src_lib_rs_10_0 -FNDA:1,rust_out::main -FNDA:1,::uniplate::{closure#4} -FNDA:1,::uniplate::{closure#0} -FNDA:1,::uniplate::{closure#3} -FNF:9 -FNH:8 -BRF:0 -BRH:0 -DA:10,1 -DA:11,1 -DA:12,1 -DA:13,1 -DA:14,1 -DA:15,1 -DA:16,1 -DA:17,1 -DA:18,1 -DA:45,9 -DA:46,9 -DA:47,5 -DA:48,2 -DA:49,0 -DA:50,1 -DA:51,1 -DA:54,9 -DA:55,2 -DA:56,0 -DA:57,1 -DA:58,1 -DA:59,5 -DA:62,9 -DA:63,9 -DA:66,9 -DA:67,9 -DA:68,5 -DA:69,2 -DA:70,0 -DA:71,1 -DA:72,1 -DA:74,9 -DA:75,1 -DA:76,1 -DA:77,1 -DA:78,1 -DA:79,1 -DA:80,1 -DA:81,1 -DA:82,1 -DA:83,1 -DA:84,1 -DA:85,1 -DA:86,1 -DA:87,1 -DA:88,1 -DA:89,1 -LF:47 -LH:44 +LH:0 end_of_record SF:crates/conjure_core/src/parse/parse_model.rs -FN:13,conjure_core::parse::parse_model::model_from_json -FN:263,conjure_core::parse::parse_model::parse_unary_op -FN:214,conjure_core::parse::parse_model::parse_expression::{closure#0} -FN:220,conjure_core::parse::parse_model::parse_expression::{closure#3} -FN:115,conjure_core::parse::parse_model::parse_int_domain::{closure#0} -FN:263,conjure_core::parse::parse_model::parse_unary_op -FN:296,conjure_core::parse::parse_model::parse_constant -FN:215,conjure_core::parse::parse_model::parse_expression::{closure#1} -FN:296,conjure_core::parse::parse_model::parse_constant -FN:129,conjure_core::parse::parse_model::parse_int_domain::{closure#1} -FN:226,conjure_core::parse::parse_model::parse_expression::{closure#5} FN:129,conjure_core::parse::parse_model::parse_int_domain::{closure#1} -FN:13,conjure_core::parse::parse_model::model_from_json -FN:115,conjure_core::parse::parse_model::parse_int_domain::{closure#0} -FN:214,conjure_core::parse::parse_model::parse_expression::{closure#0} -FN:220,conjure_core::parse::parse_model::parse_expression::{closure#3} -FN:223,conjure_core::parse::parse_model::parse_expression::{closure#4} -FN:274,conjure_core::parse::parse_model::parse_vec_op -FN:274,conjure_core::parse::parse_model::parse_vec_op -FN:216,conjure_core::parse::parse_model::parse_expression::{closure#2} -FN:13,conjure_core::parse::parse_model::model_from_json -FN:216,conjure_core::parse::parse_model::parse_expression::{closure#2} -FN:226,conjure_core::parse::parse_model::parse_expression::{closure#5} +FN:215,conjure_core::parse::parse_model::parse_expression::{closure#1} +FN:215,conjure_core::parse::parse_model::parse_expression::{closure#1} FN:216,conjure_core::parse::parse_model::parse_expression::{closure#2} -FN:84,conjure_core::parse::parse_model::parse_int_domain -FN:84,conjure_core::parse::parse_model::parse_int_domain -FN:147,conjure_core::parse::parse_model::parse_expression FN:115,conjure_core::parse::parse_model::parse_int_domain::{closure#0} -FN:243,conjure_core::parse::parse_model::parse_bin_op -FN:215,conjure_core::parse::parse_model::parse_expression::{closure#1} -FN:147,conjure_core::parse::parse_model::parse_expression -FN:129,conjure_core::parse::parse_model::parse_int_domain::{closure#1} FN:147,conjure_core::parse::parse_model::parse_expression -FN:226,conjure_core::parse::parse_model::parse_expression::{closure#5} -FN:215,conjure_core::parse::parse_model::parse_expression::{closure#1} -FN:274,conjure_core::parse::parse_model::parse_vec_op +FN:216,conjure_core::parse::parse_model::parse_expression::{closure#2} FN:54,conjure_core::parse::parse_model::parse_variable +FN:13,conjure_core::parse::parse_model::model_from_json +FN:296,conjure_core::parse::parse_model::parse_constant FN:243,conjure_core::parse::parse_model::parse_bin_op FN:220,conjure_core::parse::parse_model::parse_expression::{closure#3} -FN:54,conjure_core::parse::parse_model::parse_variable -FN:243,conjure_core::parse::parse_model::parse_bin_op -FN:84,conjure_core::parse::parse_model::parse_int_domain +FN:214,conjure_core::parse::parse_model::parse_expression::{closure#0} +FN:226,conjure_core::parse::parse_model::parse_expression::{closure#5} +FN:13,conjure_core::parse::parse_model::model_from_json +FN:226,conjure_core::parse::parse_model::parse_expression::{closure#5} FN:223,conjure_core::parse::parse_model::parse_expression::{closure#4} -FN:54,conjure_core::parse::parse_model::parse_variable +FN:84,conjure_core::parse::parse_model::parse_int_domain FN:223,conjure_core::parse::parse_model::parse_expression::{closure#4} +FN:147,conjure_core::parse::parse_model::parse_expression +FN:84,conjure_core::parse::parse_model::parse_int_domain FN:214,conjure_core::parse::parse_model::parse_expression::{closure#0} +FN:220,conjure_core::parse::parse_model::parse_expression::{closure#3} +FN:274,conjure_core::parse::parse_model::parse_vec_op +FN:129,conjure_core::parse::parse_model::parse_int_domain::{closure#1} +FN:263,conjure_core::parse::parse_model::parse_unary_op FN:296,conjure_core::parse::parse_model::parse_constant FN:263,conjure_core::parse::parse_model::parse_unary_op -FNDA:0,conjure_core::parse::parse_model::model_from_json -FNDA:1,conjure_core::parse::parse_model::parse_unary_op -FNDA:0,conjure_core::parse::parse_model::parse_expression::{closure#0} -FNDA:1,conjure_core::parse::parse_model::parse_expression::{closure#3} -FNDA:0,conjure_core::parse::parse_model::parse_int_domain::{closure#0} -FNDA:0,conjure_core::parse::parse_model::parse_unary_op -FNDA:0,conjure_core::parse::parse_model::parse_constant -FNDA:1,conjure_core::parse::parse_model::parse_expression::{closure#1} -FNDA:0,conjure_core::parse::parse_model::parse_constant -FNDA:0,conjure_core::parse::parse_model::parse_int_domain::{closure#1} -FNDA:0,conjure_core::parse::parse_model::parse_expression::{closure#5} +FN:115,conjure_core::parse::parse_model::parse_int_domain::{closure#0} +FN:274,conjure_core::parse::parse_model::parse_vec_op +FN:54,conjure_core::parse::parse_model::parse_variable +FN:243,conjure_core::parse::parse_model::parse_bin_op FNDA:0,conjure_core::parse::parse_model::parse_int_domain::{closure#1} -FNDA:0,conjure_core::parse::parse_model::model_from_json -FNDA:0,conjure_core::parse::parse_model::parse_int_domain::{closure#0} -FNDA:1,conjure_core::parse::parse_model::parse_expression::{closure#0} -FNDA:0,conjure_core::parse::parse_model::parse_expression::{closure#3} -FNDA:0,conjure_core::parse::parse_model::parse_expression::{closure#4} -FNDA:0,conjure_core::parse::parse_model::parse_vec_op -FNDA:1,conjure_core::parse::parse_model::parse_vec_op -FNDA:0,conjure_core::parse::parse_model::parse_expression::{closure#2} -FNDA:1,conjure_core::parse::parse_model::model_from_json -FNDA:1,conjure_core::parse::parse_model::parse_expression::{closure#2} -FNDA:0,conjure_core::parse::parse_model::parse_expression::{closure#5} +FNDA:0,conjure_core::parse::parse_model::parse_expression::{closure#1} +FNDA:0,conjure_core::parse::parse_model::parse_expression::{closure#1} FNDA:0,conjure_core::parse::parse_model::parse_expression::{closure#2} -FNDA:0,conjure_core::parse::parse_model::parse_int_domain -FNDA:1,conjure_core::parse::parse_model::parse_int_domain -FNDA:0,conjure_core::parse::parse_model::parse_expression FNDA:0,conjure_core::parse::parse_model::parse_int_domain::{closure#0} -FNDA:0,conjure_core::parse::parse_model::parse_bin_op -FNDA:0,conjure_core::parse::parse_model::parse_expression::{closure#1} FNDA:0,conjure_core::parse::parse_model::parse_expression -FNDA:0,conjure_core::parse::parse_model::parse_int_domain::{closure#1} -FNDA:1,conjure_core::parse::parse_model::parse_expression -FNDA:1,conjure_core::parse::parse_model::parse_expression::{closure#5} -FNDA:0,conjure_core::parse::parse_model::parse_expression::{closure#1} -FNDA:0,conjure_core::parse::parse_model::parse_vec_op -FNDA:1,conjure_core::parse::parse_model::parse_variable +FNDA:0,conjure_core::parse::parse_model::parse_expression::{closure#2} +FNDA:0,conjure_core::parse::parse_model::parse_variable +FNDA:0,conjure_core::parse::parse_model::model_from_json +FNDA:0,conjure_core::parse::parse_model::parse_constant FNDA:0,conjure_core::parse::parse_model::parse_bin_op FNDA:0,conjure_core::parse::parse_model::parse_expression::{closure#3} -FNDA:0,conjure_core::parse::parse_model::parse_variable -FNDA:1,conjure_core::parse::parse_model::parse_bin_op +FNDA:0,conjure_core::parse::parse_model::parse_expression::{closure#0} +FNDA:0,conjure_core::parse::parse_model::parse_expression::{closure#5} +FNDA:0,conjure_core::parse::parse_model::model_from_json +FNDA:0,conjure_core::parse::parse_model::parse_expression::{closure#5} +FNDA:0,conjure_core::parse::parse_model::parse_expression::{closure#4} FNDA:0,conjure_core::parse::parse_model::parse_int_domain -FNDA:1,conjure_core::parse::parse_model::parse_expression::{closure#4} -FNDA:0,conjure_core::parse::parse_model::parse_variable FNDA:0,conjure_core::parse::parse_model::parse_expression::{closure#4} +FNDA:0,conjure_core::parse::parse_model::parse_expression +FNDA:0,conjure_core::parse::parse_model::parse_int_domain FNDA:0,conjure_core::parse::parse_model::parse_expression::{closure#0} -FNDA:1,conjure_core::parse::parse_model::parse_constant +FNDA:0,conjure_core::parse::parse_model::parse_expression::{closure#3} +FNDA:0,conjure_core::parse::parse_model::parse_vec_op +FNDA:0,conjure_core::parse::parse_model::parse_int_domain::{closure#1} +FNDA:0,conjure_core::parse::parse_model::parse_unary_op +FNDA:0,conjure_core::parse::parse_model::parse_constant FNDA:0,conjure_core::parse::parse_model::parse_unary_op -FNF:48 -FNH:14 +FNDA:0,conjure_core::parse::parse_model::parse_int_domain::{closure#0} +FNDA:0,conjure_core::parse::parse_model::parse_vec_op +FNDA:0,conjure_core::parse::parse_model::parse_variable +FNDA:0,conjure_core::parse::parse_model::parse_bin_op +FNF:32 +FNH:0 BRF:0 BRH:0 -DA:13,255 -DA:14,255 -DA:15,255 -DA:16,255 -DA:17,255 -DA:18,255 -DA:20,1065 -DA:21,810 -DA:22,810 -DA:23,810 -DA:24,810 -DA:25,810 -DA:26,810 -DA:27,810 -DA:28,810 -DA:29,810 -DA:30,810 -DA:31,540 -DA:32,540 -DA:34,270 -DA:35,270 -DA:36,270 +DA:13,0 +DA:14,0 +DA:15,0 +DA:16,0 +DA:17,0 +DA:18,0 +DA:20,0 +DA:21,0 +DA:22,0 +DA:23,0 +DA:24,0 +DA:25,0 +DA:26,0 +DA:27,0 +DA:28,0 +DA:29,0 +DA:30,0 +DA:31,0 +DA:32,0 +DA:34,0 +DA:35,0 +DA:36,0 DA:38,0 -DA:42,270 -DA:43,270 -DA:44,270 +DA:42,0 +DA:43,0 +DA:44,0 DA:47,0 -DA:51,255 -DA:52,255 -DA:54,540 -DA:55,540 -DA:56,540 -DA:57,540 -DA:58,540 -DA:59,540 -DA:60,540 -DA:61,540 -DA:62,540 -DA:63,540 -DA:64,540 -DA:65,540 -DA:66,540 -DA:67,540 -DA:68,540 -DA:69,540 -DA:70,540 -DA:71,540 -DA:72,540 -DA:73,540 -DA:74,540 -DA:75,540 -DA:76,105 +DA:51,0 +DA:52,0 +DA:54,0 +DA:55,0 +DA:56,0 +DA:57,0 +DA:58,0 +DA:59,0 +DA:60,0 +DA:61,0 +DA:62,0 +DA:63,0 +DA:64,0 +DA:65,0 +DA:66,0 +DA:67,0 +DA:68,0 +DA:69,0 +DA:70,0 +DA:71,0 +DA:72,0 +DA:73,0 +DA:74,0 +DA:75,0 +DA:76,0 DA:77,0 DA:78,0 DA:79,0 DA:80,0 -DA:81,540 -DA:82,540 -DA:84,435 -DA:85,435 -DA:86,435 -DA:87,435 -DA:88,435 -DA:89,435 -DA:90,435 -DA:91,870 -DA:92,435 -DA:93,435 -DA:94,435 -DA:95,435 -DA:96,435 -DA:97,435 -DA:98,435 -DA:99,435 -DA:100,435 -DA:101,435 -DA:102,435 -DA:103,435 -DA:104,435 -DA:105,435 -DA:106,435 -DA:107,435 -DA:108,435 -DA:109,870 -DA:110,870 -DA:111,870 -DA:112,870 -DA:113,870 -DA:114,870 -DA:115,870 +DA:81,0 +DA:82,0 +DA:84,0 +DA:85,0 +DA:86,0 +DA:87,0 +DA:88,0 +DA:89,0 +DA:90,0 +DA:91,0 +DA:92,0 +DA:93,0 +DA:94,0 +DA:95,0 +DA:96,0 +DA:97,0 +DA:98,0 +DA:99,0 +DA:100,0 +DA:101,0 +DA:102,0 +DA:103,0 +DA:104,0 +DA:105,0 +DA:106,0 +DA:107,0 +DA:108,0 +DA:109,0 +DA:110,0 +DA:111,0 +DA:112,0 +DA:113,0 +DA:114,0 +DA:115,0 DA:116,0 -DA:117,870 -DA:118,870 -DA:120,435 +DA:117,0 +DA:118,0 +DA:120,0 DA:122,0 DA:123,0 DA:124,0 @@ -11847,212 +8451,190 @@ DA:130,0 DA:133,0 DA:134,0 DA:135,0 -DA:139,435 -DA:140,435 -DA:147,1305 -DA:148,1305 -DA:149,1305 -DA:150,1305 -DA:151,1305 -DA:152,1305 -DA:153,1305 -DA:154,1305 -DA:155,1305 -DA:156,1305 -DA:157,1305 -DA:158,1305 -DA:159,1305 -DA:160,1305 -DA:161,1305 -DA:162,1305 -DA:163,1305 -DA:164,1305 -DA:165,1305 -DA:166,1305 -DA:167,1305 -DA:168,1305 -DA:169,1305 -DA:170,1305 -DA:171,1305 -DA:172,1305 -DA:173,1305 -DA:174,1305 -DA:175,1305 -DA:176,1305 -DA:177,1305 -DA:178,1305 -DA:179,1305 -DA:180,1305 -DA:181,1305 -DA:182,1305 -DA:183,1305 -DA:184,1305 -DA:185,1305 -DA:186,1305 -DA:187,1305 -DA:188,1305 -DA:189,1305 -DA:190,1305 -DA:191,1305 -DA:192,1305 -DA:193,1305 -DA:194,1305 -DA:195,1305 -DA:196,1305 -DA:197,1305 -DA:198,1305 -DA:199,1305 -DA:200,1305 -DA:201,1305 -DA:202,1305 -DA:203,1305 -DA:204,1305 -DA:205,1305 -DA:206,1305 -DA:207,1305 -DA:208,1305 -DA:209,1305 -DA:210,1305 -DA:211,1305 -DA:212,1305 -DA:213,1305 -DA:214,2775 -DA:215,1305 -DA:216,1305 -DA:218,195 -DA:219,1305 -DA:220,2775 -DA:221,345 -DA:223,180 -DA:224,15 -DA:226,420 -DA:227,165 +DA:139,0 +DA:140,0 +DA:147,0 +DA:148,0 +DA:149,0 +DA:150,0 +DA:151,0 +DA:152,0 +DA:153,0 +DA:154,0 +DA:155,0 +DA:156,0 +DA:157,0 +DA:158,0 +DA:159,0 +DA:160,0 +DA:161,0 +DA:162,0 +DA:163,0 +DA:164,0 +DA:165,0 +DA:166,0 +DA:167,0 +DA:168,0 +DA:169,0 +DA:170,0 +DA:171,0 +DA:172,0 +DA:173,0 +DA:174,0 +DA:175,0 +DA:176,0 +DA:177,0 +DA:178,0 +DA:179,0 +DA:180,0 +DA:181,0 +DA:182,0 +DA:183,0 +DA:184,0 +DA:185,0 +DA:186,0 +DA:187,0 +DA:188,0 +DA:189,0 +DA:190,0 +DA:191,0 +DA:192,0 +DA:193,0 +DA:194,0 +DA:195,0 +DA:196,0 +DA:197,0 +DA:198,0 +DA:199,0 +DA:200,0 +DA:201,0 +DA:202,0 +DA:203,0 +DA:204,0 +DA:205,0 +DA:206,0 +DA:207,0 +DA:208,0 +DA:209,0 +DA:210,0 +DA:211,0 +DA:212,0 +DA:213,0 +DA:214,0 +DA:215,0 +DA:216,0 +DA:218,0 +DA:219,0 +DA:220,0 +DA:221,0 +DA:223,0 +DA:224,0 +DA:226,0 +DA:227,0 DA:229,0 -DA:231,780 -DA:232,585 -DA:233,585 -DA:234,585 -DA:235,585 -DA:236,585 -DA:238,195 +DA:231,0 +DA:232,0 +DA:233,0 +DA:234,0 +DA:235,0 +DA:236,0 +DA:238,0 DA:239,0 -DA:241,1305 -DA:243,345 -DA:244,345 -DA:245,345 -DA:246,345 -DA:249,345 -DA:251,345 -DA:253,345 -DA:254,345 -DA:255,345 -DA:256,345 -DA:257,345 +DA:241,0 +DA:243,0 +DA:244,0 +DA:245,0 +DA:246,0 +DA:249,0 +DA:251,0 +DA:253,0 +DA:254,0 +DA:255,0 +DA:256,0 +DA:257,0 DA:259,0 -DA:261,345 -DA:263,15 -DA:264,15 -DA:265,15 -DA:266,15 -DA:267,15 -DA:268,15 -DA:270,15 -DA:271,15 -DA:272,15 -DA:274,165 -DA:275,165 -DA:276,165 -DA:277,165 -DA:278,165 -DA:279,165 -DA:281,165 -DA:282,165 -DA:283,165 -DA:284,165 -DA:285,165 -DA:286,165 -DA:287,165 -DA:288,165 -DA:289,165 +DA:261,0 +DA:263,0 +DA:264,0 +DA:265,0 +DA:266,0 +DA:267,0 +DA:268,0 +DA:270,0 +DA:271,0 +DA:272,0 +DA:274,0 +DA:275,0 +DA:276,0 +DA:277,0 +DA:278,0 +DA:279,0 +DA:281,0 +DA:282,0 +DA:283,0 +DA:284,0 +DA:285,0 +DA:286,0 +DA:287,0 +DA:288,0 +DA:289,0 DA:290,0 -DA:292,165 -DA:294,165 -DA:296,195 -DA:297,195 -DA:298,195 -DA:299,195 -DA:300,195 +DA:292,0 +DA:294,0 +DA:296,0 +DA:297,0 +DA:298,0 +DA:299,0 +DA:300,0 DA:302,0 DA:303,0 DA:304,0 DA:305,0 DA:306,0 -DA:310,195 +DA:310,0 DA:312,0 -DA:314,195 +DA:314,0 LF:249 -LH:220 +LH:0 end_of_record SF:crates/conjure_core/src/ast/types.rs -FN:3,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FN:3,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> -FN:3,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> -FN:3,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> FN:3,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FN:3,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> +FN:3,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> FN:3,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> +FN:3,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> FN:3,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FN:3,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: -FN:3,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FN:3,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> -FN:3,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FN:3,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> FN:3,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FN:3,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting FN:3,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> -FN:3,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FN:3,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> -FN:3,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> +FN:3,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> FN:3,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> FN:3,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> -FN:3,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FN:3,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> +FN:3,<::deserialize::__Visitor as serde::de::Visitor>::expecting FN:3,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> +FN:3,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting +FN:3,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> FN:3,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FN:3,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> FN:3,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: -FN:3,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> -FN:3,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> -FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> +FN:3,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> +FN:3,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::expecting -FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> -FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::expecting FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_u64::<_> +FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::expecting +FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<_> FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_bytes::<_> -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str:: -FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::<_> -FNDA:0,<::deserialize::__FieldVisitor as serde::de::Visitor>::visit_str::<_> -FNF:29 +FNDA:0,<::deserialize::__Field as serde::de::Deserialize>::deserialize::<&mut serde_json::de::Deserializer> +FNDA:0,<::deserialize::__Visitor as serde::de::Visitor>::visit_enum::> +FNF:18 FNH:0 BRF:0 BRH:0 diff --git a/coverage/main/solvers/chuffed/src/index.html b/coverage/main/solvers/chuffed/src/index.html deleted file mode 100644 index 50a5484ff..000000000 --- a/coverage/main/solvers/chuffed/src/index.html +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Grcov report - solvers/chuffed/src - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - -
FileLine CoverageFunctions
lib.rs - - 0% - - - 0% - - 0 / 46 - 0%0 / 14
-
-
-

Date: 2024-05-01 08:39

-
-
- - diff --git a/coverage/main/solvers/chuffed/src/lib.rs.html b/coverage/main/solvers/chuffed/src/lib.rs.html deleted file mode 100644 index ac78812e6..000000000 --- a/coverage/main/solvers/chuffed/src/lib.rs.html +++ /dev/null @@ -1,1177 +0,0 @@ - - - - - Grcov report - lib.rs - - -
- - - -
-
- 1 -
-
- -
-
-
pub mod bindings {
-
-
-
- 2 -
-
- -
-
-
    #![allow(warnings)]
-
-
-
- 3 -
-
- -
-
-
    include!(concat!(env!("OUT_DIR"), "/chuffed_bindings.rs"));
-
-
-
- 4 -
-
- -
-
-
}
-
-
-
- 5 -
-
- -
-
-

-            
-
-
- 6 -
-
- -
-
-
pub mod wrappers {
-
-
-
- 7 -
-
- -
-
-
    use core::ptr;
-
-
-
- 8 -
-
- -
-
-

-            
-
-
- 9 -
-
- -
-
-
    use crate::bindings::{
-
-
-
- 10 -
-
- -
-
-
        all_different, branch_IntVar, createVar, createVars, int_plus, make_vec_intvar,
-
-
-
- 11 -
-
- -
-
-
        output_vars1, var_sym_break, vec, ConLevel, IntVar, ValBranch, VarBranch,
-
-
-
- 12 -
-
- -
-
-
    };
-
-
-
- 13 -
-
- -
-
-

-            
-
-
- 14 -
-
- -
-
-
    // The signature of createVar is below for reference.
-
-
-
- 15 -
-
- -
-
-
    // createVar(x: *mut *mut IntVar, min: ::std::os::raw::c_int, max: ::std::os::raw::c_int, el: bool)
-
-
-
- 16 -
-
- -
-
-
    pub fn create_var(min: i32, max: i32, el: bool) -> *mut IntVar {
-
-
-
- 17 -
-
- -
-
-
        let mut ptr: *mut IntVar = ptr::null_mut();
-
-
-
- 18 -
-
- -
-
-

-            
-
-
- 19 -
-
- -
-
-
        unsafe {
-
-
-
- 20 -
-
- -
-
-
            createVar(&mut ptr, min, max, el);
-
-
-
- 21 -
-
- -
-
-
            ptr
-
-
-
- 22 -
-
- -
-
-
        }
-
-
-
- 23 -
-
- -
-
-
    }
-
-
-
- 24 -
-
- -
-
-

-            
-
-
- 25 -
-
- -
-
-
    // createVars void createVars(vec<IntVar*>& x, int n, int min, int max, bool el)
-
-
-
- 26 -
-
- -
-
-
    pub fn create_vars(n: i32, min: i32, max: i32, el: bool) -> *mut vec<*mut IntVar> {
-
-
-
- 27 -
-
- -
-
-
        let ptr: *mut vec<*mut IntVar> = unsafe { make_vec_intvar() };
-
-
-
- 28 -
-
- -
-
-

-            
-
-
- 29 -
-
- -
-
-
        unsafe {
-
-
-
- 30 -
-
- -
-
-
            createVars(ptr, n, min, max, el);
-
-
-
- 31 -
-
- -
-
-
            ptr
-
-
-
- 32 -
-
- -
-
-
        }
-
-
-
- 33 -
-
- -
-
-
    }
-
-
-
- 34 -
-
- -
-
-

-            
-
-
- 35 -
-
- -
-
-
    // void all_different(vec<IntVar*>& x, ConLevel cl)
-
-
-
- 36 -
-
- -
-
-
    pub unsafe fn all_different_wrapper(x: *mut vec<*mut IntVar>, cl: ConLevel) {
-
-
-
- 37 -
-
- -
-
-
        unsafe {
-
-
-
- 38 -
-
- -
-
-
            all_different(x, cl);
-
-
-
- 39 -
-
- -
-
-
        }
-
-
-
- 40 -
-
- -
-
-
    }
-
-
-
- 41 -
-
- -
-
-

-            
-
-
- 42 -
-
- -
-
-
    // void branch(vec<Branching*> x, VarBranch var_branch, ValBranch val_branch);
-
-
-
- 43 -
-
- -
-
-
    pub unsafe fn branch_wrapper(
-
-
-
- 44 -
-
- -
-
-
        x: *mut vec<*mut IntVar>,
-
-
-
- 45 -
-
- -
-
-
        var_branch: VarBranch,
-
-
-
- 46 -
-
- -
-
-
        val_branch: ValBranch,
-
-
-
- 47 -
-
- -
-
-
    ) {
-
-
-
- 48 -
-
- -
-
-
        unsafe {
-
-
-
- 49 -
-
- -
-
-
            branch_IntVar(x, var_branch, val_branch);
-
-
-
- 50 -
-
- -
-
-
        }
-
-
-
- 51 -
-
- -
-
-
    }
-
-
-
- 52 -
-
- -
-
-

-            
-
-
- 53 -
-
- -
-
-
    pub unsafe fn output_vars_wrapper(x: *mut vec<*mut IntVar>) {
-
-
-
- 54 -
-
- -
-
-
        unsafe {
-
-
-
- 55 -
-
- -
-
-
            // output_vars1 takes in an vec<IntVar*> instead of branching
-
-
-
- 56 -
-
- -
-
-
            output_vars1(x);
-
-
-
- 57 -
-
- -
-
-
        }
-
-
-
- 58 -
-
- -
-
-
    }
-
-
-
- 59 -
-
- -
-
-

-            
-
-
- 60 -
-
- -
-
-
    pub unsafe fn var_sym_break_wrapper(x: *mut vec<*mut IntVar>) {
-
-
-
- 61 -
-
- -
-
-
        unsafe {
-
-
-
- 62 -
-
- -
-
-
            var_sym_break(x);
-
-
-
- 63 -
-
- -
-
-
        }
-
-
-
- 64 -
-
- -
-
-
    }
-
-
-
- 65 -
-
- -
-
-

-            
-
-
- 66 -
-
- -
-
-
    pub unsafe fn int_plus_wrapper(x: *mut IntVar, y: *mut IntVar, z: *mut IntVar) {
-
-
-
- 67 -
-
- -
-
-
        unsafe {
-
-
-
- 68 -
-
- -
-
-
            int_plus(x, y, z);
-
-
-
- 69 -
-
- -
-
-
        }
-
-
-
- 70 -
-
- -
-
-
    }
-
-
-
- 71 -
-
- -
-
-
}
-
-
-
-
-
-

Date: 2024-05-01 08:39

-
-
- - diff --git a/coverage/main/solvers/chuffed/tests/chuffed_basic_run.rs.html b/coverage/main/solvers/chuffed/tests/chuffed_basic_run.rs.html deleted file mode 100644 index 38258bf34..000000000 --- a/coverage/main/solvers/chuffed/tests/chuffed_basic_run.rs.html +++ /dev/null @@ -1,1113 +0,0 @@ - - - - - Grcov report - chuffed_basic_run.rs - - -
- - - -
-
- 1 -
-
- -
-
-
use chuffed_rs::bindings::{
-
-
-
- 2 -
-
- -
-
-
    get_idx, new_dummy_problem, p_addVars, p_setcallback, vec, ConLevel_CL_DEF, IntVar,
-
-
-
- 3 -
-
- -
-
-
    VarBranch_VAR_INORDER, VarBranch_VAR_MIN_MIN,
-
-
-
- 4 -
-
- -
-
-
};
-
-
-
- 5 -
-
- -
-
-
use chuffed_rs::wrappers::{
-
-
-
- 6 -
-
- -
-
-
    all_different_wrapper, branch_wrapper, create_vars, output_vars_wrapper, var_sym_break_wrapper,
-
-
-
- 7 -
-
- -
-
-
};
-
-
-
- 8 -
-
- -
-
-

-            
-
-
- 9 -
-
- -
-
-
/// Creates the variable for the test problem and posts some constraints and
-
-
-
- 10 -
-
- -
-
-
/// branchings on it.
-
-
-
- 11 -
-
- -
-
-
unsafe fn post_constraints(_n: i32) -> *mut vec<*mut IntVar> {
-
-
-
- 12 -
-
- -
-
-
    // Create constant
-
-
-
- 13 -
-
- -
-
-
    let n: i32 = _n;
-
-
-
- 14 -
-
- -
-
-
    // Create some variables
-
-
-
- 15 -
-
- -
-
-
    let x: *mut vec<*mut IntVar> = create_vars(n, 0, n, false);
-
-
-
- 16 -
-
- -
-
-

-            
-
-
- 17 -
-
- -
-
-
    // Post some constraints
-
-
-
- 18 -
-
- -
-
-
    all_different_wrapper(x, ConLevel_CL_DEF);
-
-
-
- 19 -
-
- -
-
-

-            
-
-
- 20 -
-
- -
-
-
    // Post some branchings
-
-
-
- 21 -
-
- -
-
-
    branch_wrapper(x as _, VarBranch_VAR_INORDER, VarBranch_VAR_MIN_MIN);
-
-
-
- 22 -
-
- -
-
-

-            
-
-
- 23 -
-
- -
-
-
    // Declare output variables (optional)
-
-
-
- 24 -
-
- -
-
-
    output_vars_wrapper(x);
-
-
-
- 25 -
-
- -
-
-

-            
-
-
- 26 -
-
- -
-
-
    // Declare symmetries (optional)
-
-
-
- 27 -
-
- -
-
-
    var_sym_break_wrapper(x);
-
-
-
- 28 -
-
- -
-
-

-            
-
-
- 29 -
-
- -
-
-
    // Return the variable
-
-
-
- 30 -
-
- -
-
-
    x
-
-
-
- 31 -
-
- -
-
-
}
-
-
-
- 32 -
-
- -
-
-

-            
-
-
- 33 -
-
- -
-
-
/// Custom printing function for this test problem
-
-
-
- 34 -
-
- -
-
-
#[no_mangle]
-
-
-
- 35 -
-
- -
-
-
pub unsafe extern "C" fn callback(x: *mut vec<*mut IntVar>) {
-
-
-
- 36 -
-
- -
-
-
    print!("First output is: {}", get_idx(x, 0));
-
-
-
- 37 -
-
- -
-
-
}
-
-
-
- 38 -
-
- -
-
-

-            
-
-
- 39 -
-
- -
-
-
/// Basic test to make sure that running the ffi bindings and wrappers does not
-
-
-
- 40 -
-
- -
-
-
/// crash
-
-
-
- 41 -
-
- -
-
-
#[test]
-
-
-
- 42 -
-
- 1 -
-
-
fn run_basic_problem() {
-
-
-
- 43 -
-
- 1 -
-
-
    let args: Vec<String> = std::env::args().collect();
-
-
-
- 44 -
-
- 1 -
-
-

-            
-
-
- 45 -
-
- 1 -
-
-
    if args.len() != 2 {
-
-
-
- 46 -
-
- 1 -
-
-
        println!("Invalid number of arguments");
-
-
-
- 47 -
-
- 1 -
-
-
        return;
-
-
-
- 48 -
-
- -
-
-
    }
-
-
-
- 49 -
-
- -
-
-

-            
-
-
- 50 -
-
- -
-
-
    let n: i32 = args[1].parse().expect("Invalid input");
-
-
-
- 51 -
-
- -
-
-

-            
-
-
- 52 -
-
- -
-
-
    unsafe {
-
-
-
- 53 -
-
- -
-
-
        let x = post_constraints(n);
-
-
-
- 54 -
-
- -
-
-
        // make new dummy problem
-
-
-
- 55 -
-
- -
-
-
        let p = new_dummy_problem();
-
-
-
- 56 -
-
- -
-
-
        // Call problem.addvars()
-
-
-
- 57 -
-
- -
-
-
        p_addVars(p, x);
-
-
-
- 58 -
-
- -
-
-
        // Call problem.setcallback()
-
-
-
- 59 -
-
- -
-
-
        p_setcallback(p, Some(callback));
-
-
-
- 60 -
-
- -
-
-
        // Commented out currently as trying to print causes the assertion of
-
-
-
- 61 -
-
- -
-
-
        // isFixed() in IntVar::getVal() to fail.
-
-
-
- 62 -
-
- -
-
-
        // p_print(p);
-
-
-
- 63 -
-
- -
-
-

-            
-
-
- 64 -
-
- -
-
-
        // Pass test if no crash occurs
-
-
-
- 65 -
-
- -
-
-
        assert!(true);
-
-
-
- 66 -
-
- -
-
-
    }
-
-
-
- 67 -
-
- 1 -
-
-
}
-
-
-
-
-
-

Date: 2024-05-01 08:39

-
-
- - diff --git a/coverage/main/solvers/chuffed/tests/chuffed_cpp_run.rs.html b/coverage/main/solvers/chuffed/tests/chuffed_cpp_run.rs.html deleted file mode 100644 index 343baccd7..000000000 --- a/coverage/main/solvers/chuffed/tests/chuffed_cpp_run.rs.html +++ /dev/null @@ -1,265 +0,0 @@ - - - - - Grcov report - chuffed_cpp_run.rs - - -
- - - -
-
- 1 -
-
- -
-
-
use chuffed_rs::bindings::{new_xyz_problem, solve_xyz};
-
-
-
- 2 -
-
- -
-
-

-            
-
-
- 3 -
-
- -
-
-
#[test]
-
-
-
- 4 -
-
- 1 -
-
-
fn run_cpp_problem() {
-
-
-
- 5 -
-
- 1 -
-
-
    let n: i32 = 1;
-
-
-
- 6 -
-
- 1 -
-
-

-            
-
-
- 7 -
-
- 1 -
-
-
    unsafe {
-
-
-
- 8 -
-
- 1 -
-
-
        let p = new_xyz_problem(n);
-
-
-
- 9 -
-
- 1 -
-
-
        solve_xyz(p);
-
-
-
- 10 -
-
- 1 -
-
-

-            
-
-
- 11 -
-
- 1 -
-
-
        // Pass test if no crash occurs
-
-
-
- 12 -
-
- 1 -
-
-
        assert!(true);
-
-
-
- 13 -
-
- -
-
-
    }
-
-
-
- 14 -
-
- 1 -
-
-
}
-
-
-
-
-
-

Date: 2024-05-01 08:39

-
-
- - diff --git a/coverage/main/solvers/chuffed/tests/dummy_test.rs.html b/coverage/main/solvers/chuffed/tests/dummy_test.rs.html deleted file mode 100644 index d0c315dec..000000000 --- a/coverage/main/solvers/chuffed/tests/dummy_test.rs.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - Grcov report - dummy_test.rs - - -
- - - -
-
- 1 -
-
- -
-
-
#[test]
-
-
-
- 2 -
-
- 1 -
-
-
fn dummy() {
-
-
-
- 3 -
-
- 1 -
-
-
    assert_eq!(1, 1);
-
-
-
- 4 -
-
- 1 -
-
-
}
-
-
-
-
-
-

Date: 2024-05-01 08:39

-
-
- - diff --git a/coverage/main/solvers/chuffed/tests/index.html b/coverage/main/solvers/chuffed/tests/index.html deleted file mode 100644 index f8134583d..000000000 --- a/coverage/main/solvers/chuffed/tests/index.html +++ /dev/null @@ -1,122 +0,0 @@ - - - - - Grcov report - solvers/chuffed/tests - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
FileLine CoverageFunctions
chuffed_basic_run.rs - - 14.29% - - - 14.29% - - 7 / 49 - 33.33%1 / 3
chuffed_cpp_run.rs - - 100% - - - 100% - - 10 / 10 - 100%1 / 1
dummy_test.rs - - 100% - - - 100% - - 3 / 3 - 100%1 / 1
-
-
-

Date: 2024-05-01 08:39

-
-
- - diff --git a/coverage/main/solvers/kissat/src/index.html b/coverage/main/solvers/kissat/src/index.html index f5c3453c1..950efd0d8 100644 --- a/coverage/main/solvers/kissat/src/index.html +++ b/coverage/main/solvers/kissat/src/index.html @@ -14,16 +14,16 @@

Lines

-

- 96 %

+

+ 0 %

Functions

-

- 100 %

+

+ 0 %

@@ -45,21 +45,21 @@ - 96% + 0% - - 96% + + 0% - - 24 / 25 + + 0 / 25 - 100% - 1 / 1 + 0% + 0 / 1 @@ -67,7 +67,7 @@
-

Date: 2024-05-01 08:39

+

Date: 2024-05-27 10:40

diff --git a/coverage/main/solvers/kissat/src/lib.rs.html b/coverage/main/solvers/kissat/src/lib.rs.html index d67f67479..2856e37f5 100644 --- a/coverage/main/solvers/kissat/src/lib.rs.html +++ b/coverage/main/solvers/kissat/src/lib.rs.html @@ -14,16 +14,16 @@

Lines

-

- 96 %

+

+ 0 %

Functions

-

- 100 %

+

+ 0 %

@@ -70,13 +70,13 @@ 3
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn test1() {
+
fn test1() {
4
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    use kissat_rs::Assignment;
+
    use kissat_rs::Assignment;
5
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    use kissat_rs::Solver;
+
    use kissat_rs::Solver;
6
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
7
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    // Define three literals used in both formulae.
+
    // Define three literals used in both formulae.
8
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let x = 1;
+
    let x = 1;
9
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let y = 2;
+
    let y = 2;
10
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let z = 3;
+
    let z = 3;
11
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
12
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    // Construct a formula from clauses (i.e. an iterator over literals).
+
    // Construct a formula from clauses (i.e. an iterator over literals).
13
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    // (~x || y) && (~y || z) && (x || ~z) && (x || y || z)
+
    // (~x || y) && (~y || z) && (x || ~z) && (x || y || z)
14
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let formula1 = vec![vec![-x, y], vec![-y, z], vec![x, -z], vec![x, y, z]];
+
    let formula1 = vec![vec![-x, y], vec![-y, z], vec![x, -z], vec![x, y, z]];
15
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let satisfying_assignment = Solver::solve_formula(formula1).unwrap();
+
    let satisfying_assignment = Solver::solve_formula(formula1).unwrap();
18
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    if let Some(assignments) = satisfying_assignment {
+
    if let Some(assignments) = satisfying_assignment {
19
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        assert_eq!(assignments.get(&x).unwrap(), &Some(Assignment::True));
+
        assert_eq!(assignments.get(&x).unwrap(), &Some(Assignment::True));
20
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        assert_eq!(assignments.get(&y).unwrap(), &Some(Assignment::True));
+
        assert_eq!(assignments.get(&y).unwrap(), &Some(Assignment::True));
21
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        assert_eq!(assignments.get(&z).unwrap(), &Some(Assignment::True));
+
        assert_eq!(assignments.get(&z).unwrap(), &Some(Assignment::True));
25
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let formula2 = vec![vec![x, y, -z], vec![-x], vec![x, y, z], vec![x, -y]];
+
    let formula2 = vec![vec![x, y, -z], vec![-x], vec![x, y, z], vec![x, -y]];
26
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let unsat_result = Solver::solve_formula(formula2).unwrap();
+
    let unsat_result = Solver::solve_formula(formula2).unwrap();
27
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
28
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    // The second formula is unsatisfiable.
+
    // The second formula is unsatisfiable.
29
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    // This can for example be proved by resolution.
+
    // This can for example be proved by resolution.
30
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    assert_eq!(unsat_result, None);
+
    assert_eq!(unsat_result, None);
31
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
-

Date: 2024-05-01 08:39

+

Date: 2024-05-27 10:40

diff --git a/coverage/main/solvers/minion/src/ast.rs.html b/coverage/main/solvers/minion/src/ast.rs.html index c0f1dd3e2..fe69dbb3c 100644 --- a/coverage/main/solvers/minion/src/ast.rs.html +++ b/coverage/main/solvers/minion/src/ast.rs.html @@ -14,8 +14,8 @@

Lines

-

- 79.41 %

+

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 23.81 %

+ 0 %

@@ -326,13 +326,13 @@ 19
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub fn new() -> Model {
+
    pub fn new() -> Model {
20
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Model {
+
        Model {
21
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            named_variables: SymbolTable::new(),
+
            named_variables: SymbolTable::new(),
22
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            constraints: Vec::new(),
+
            constraints: Vec::new(),
23
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        }
+
        }
24
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
161
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn new() -> SymbolTable {
+
    fn new() -> SymbolTable {
162
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        SymbolTable {
+
        SymbolTable {
163
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            table: HashMap::new(),
+
            table: HashMap::new(),
164
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            var_order: Vec::new(),
+
            var_order: Vec::new(),
165
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        }
+
        }
166
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
173
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub fn add_var(&mut self, name: VarName, vartype: VarDomain) -> Option<()> {
+
    pub fn add_var(&mut self, name: VarName, vartype: VarDomain) -> Option<()> {
174
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        if self.table.contains_key(&name) {
+
        if self.table.contains_key(&name) {
176
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        }
+
        }
177
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
178
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        self.table.insert(name.clone(), vartype);
+
        self.table.insert(name.clone(), vartype);
179
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        self.var_order.push(name);
+
        self.var_order.push(name);
180
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
181
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Some(())
+
        Some(())
182
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
189
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub fn get_vartype(&self, name: VarName) -> Option<VarDomain> {
+
    pub fn get_vartype(&self, name: VarName) -> Option<VarDomain> {
190
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        self.table.get(&name).cloned()
+
        self.table.get(&name).cloned()
191
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
194
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub fn get_variable_order(&self) -> Vec<VarName> {
+
    pub fn get_variable_order(&self) -> Vec<VarName> {
195
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        self.var_order.clone()
+
        self.var_order.clone()
196
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
-

Date: 2024-05-01 08:39

+

Date: 2024-05-27 10:40

diff --git a/coverage/main/solvers/minion/src/error.rs.html b/coverage/main/solvers/minion/src/error.rs.html index d91fe0d24..e27e6f346 100644 --- a/coverage/main/solvers/minion/src/error.rs.html +++ b/coverage/main/solvers/minion/src/error.rs.html @@ -23,7 +23,7 @@

Functions

- 0 %

+ 0 %

@@ -898,7 +898,7 @@
-

Date: 2024-05-01 08:39

+

Date: 2024-05-27 10:40

diff --git a/coverage/main/solvers/minion/src/ffi.rs.html b/coverage/main/solvers/minion/src/ffi.rs.html index 0c4f84939..93f40cda1 100644 --- a/coverage/main/solvers/minion/src/ffi.rs.html +++ b/coverage/main/solvers/minion/src/ffi.rs.html @@ -14,16 +14,16 @@

Lines

-

- 100 %

+

+ 0 %

Functions

-

- 100 %

+

+ 0 %

@@ -278,13 +278,13 @@ 16
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub extern "C" fn hello_from_rust() -> bool {
+
    pub extern "C" fn hello_from_rust() -> bool {
17
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        unsafe {
+
        unsafe {
18
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            X_VAL = printMatrix_getValue(0) as _;
+
            X_VAL = printMatrix_getValue(0) as _;
19
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Y_VAL = printMatrix_getValue(1) as _;
+
            Y_VAL = printMatrix_getValue(1) as _;
20
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Z_VAL = printMatrix_getValue(2) as _;
+
            Z_VAL = printMatrix_getValue(2) as _;
21
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            return true;
+
            return true;
22
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        }
+
        }
23
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
26
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn xyz_raw() {
+
    fn xyz_raw() {
27
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        // A simple constraints model, manually written using FFI functions.
+
        // A simple constraints model, manually written using FFI functions.
28
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        // Testing to see if it does not segfault.
+
        // Testing to see if it does not segfault.
29
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        // Results can be manually inspected in the outputted minion logs.
+
        // Results can be manually inspected in the outputted minion logs.
30
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        unsafe {
+
        unsafe {
31
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            // See https://rust-lang.github.io/rust-bindgen/cpp.html
+
            // See https://rust-lang.github.io/rust-bindgen/cpp.html
32
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let options = searchOptions_new();
+
            let options = searchOptions_new();
33
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let args = searchMethod_new();
+
            let args = searchMethod_new();
34
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let instance = instance_new();
+
            let instance = instance_new();
35
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
36
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let x_str = CString::new("x").expect("bad x");
+
            let x_str = CString::new("x").expect("bad x");
37
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let y_str = CString::new("y").expect("bad y");
+
            let y_str = CString::new("y").expect("bad y");
38
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let z_str = CString::new("z").expect("bad z");
+
            let z_str = CString::new("z").expect("bad z");
39
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
40
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            newVar_ffi(instance, x_str.as_ptr() as _, VariableType_VAR_BOUND, 1, 3);
+
            newVar_ffi(instance, x_str.as_ptr() as _, VariableType_VAR_BOUND, 1, 3);
41
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            newVar_ffi(instance, y_str.as_ptr() as _, VariableType_VAR_BOUND, 2, 4);
+
            newVar_ffi(instance, y_str.as_ptr() as _, VariableType_VAR_BOUND, 2, 4);
42
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            newVar_ffi(instance, z_str.as_ptr() as _, VariableType_VAR_BOUND, 1, 5);
+
            newVar_ffi(instance, z_str.as_ptr() as _, VariableType_VAR_BOUND, 1, 5);
43
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
44
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let x = getVarByName(instance, x_str.as_ptr() as _);
+
            let x = getVarByName(instance, x_str.as_ptr() as _);
45
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let y = getVarByName(instance, y_str.as_ptr() as _);
+
            let y = getVarByName(instance, y_str.as_ptr() as _);
46
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let z = getVarByName(instance, z_str.as_ptr() as _);
+
            let z = getVarByName(instance, z_str.as_ptr() as _);
47
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
48
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            // PRINT
+
            // PRINT
49
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            printMatrix_addVar(instance, x);
+
            printMatrix_addVar(instance, x);
50
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            printMatrix_addVar(instance, y);
+
            printMatrix_addVar(instance, y);
51
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            printMatrix_addVar(instance, z);
+
            printMatrix_addVar(instance, z);
52
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
53
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            // VARORDER
+
            // VARORDER
54
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let search_vars = vec_var_new();
+
            let search_vars = vec_var_new();
55
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            vec_var_push_back(search_vars as _, x);
+
            vec_var_push_back(search_vars as _, x);
56
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            vec_var_push_back(search_vars as _, y);
+
            vec_var_push_back(search_vars as _, y);
57
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            vec_var_push_back(search_vars as _, z);
+
            vec_var_push_back(search_vars as _, z);
58
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let search_order = searchOrder_new(search_vars as _, VarOrderEnum_ORDER_STATIC, false);
+
            let search_order = searchOrder_new(search_vars as _, VarOrderEnum_ORDER_STATIC, false);
59
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            instance_addSearchOrder(instance, search_order);
+
            instance_addSearchOrder(instance, search_order);
60
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
61
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            // CONSTRAINTS
+
            // CONSTRAINTS
62
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let leq = constraint_new(ConstraintType_CT_LEQSUM);
+
            let leq = constraint_new(ConstraintType_CT_LEQSUM);
63
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let geq = constraint_new(ConstraintType_CT_GEQSUM);
+
            let geq = constraint_new(ConstraintType_CT_GEQSUM);
64
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let ineq = constraint_new(ConstraintType_CT_INEQ);
+
            let ineq = constraint_new(ConstraintType_CT_INEQ);
65
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
66
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let rhs_vars = vec_var_new();
+
            let rhs_vars = vec_var_new();
67
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            vec_var_push_back(rhs_vars, constantAsVar(4));
+
            vec_var_push_back(rhs_vars, constantAsVar(4));
68
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
69
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            // leq / geq : [var] [var]
+
            // leq / geq : [var] [var]
70
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            constraint_addList(leq, search_vars as _);
+
            constraint_addList(leq, search_vars as _);
71
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            constraint_addList(leq, rhs_vars as _);
+
            constraint_addList(leq, rhs_vars as _);
72
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
73
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            constraint_addList(geq, search_vars as _);
+
            constraint_addList(geq, search_vars as _);
74
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            constraint_addList(geq, rhs_vars as _);
+
            constraint_addList(geq, rhs_vars as _);
75
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
76
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            // ineq: [var] [var] [const]
+
            // ineq: [var] [var] [const]
77
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let x_vec = vec_var_new();
+
            let x_vec = vec_var_new();
78
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            vec_var_push_back(x_vec, x);
+
            vec_var_push_back(x_vec, x);
79
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
80
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let y_vec = vec_var_new();
+
            let y_vec = vec_var_new();
81
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            vec_var_push_back(y_vec, y);
+
            vec_var_push_back(y_vec, y);
82
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
83
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let const_vec = vec_int_new();
+
            let const_vec = vec_int_new();
84
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            vec_int_push_back(const_vec, -1);
+
            vec_int_push_back(const_vec, -1);
85
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
86
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            constraint_addList(ineq, x_vec as _);
+
            constraint_addList(ineq, x_vec as _);
87
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            constraint_addList(ineq, y_vec as _);
+
            constraint_addList(ineq, y_vec as _);
88
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            constraint_addConstantList(ineq, const_vec as _);
+
            constraint_addConstantList(ineq, const_vec as _);
89
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
90
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            instance_addConstraint(instance, leq);
+
            instance_addConstraint(instance, leq);
91
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            instance_addConstraint(instance, geq);
+
            instance_addConstraint(instance, geq);
92
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            instance_addConstraint(instance, ineq);
+
            instance_addConstraint(instance, ineq);
93
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
94
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let res = runMinion(options, args, instance, Some(hello_from_rust));
+
            let res = runMinion(options, args, instance, Some(hello_from_rust));
95
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
96
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            // does it get this far?
+
            // does it get this far?
97
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            assert_eq!(res, 0);
+
            assert_eq!(res, 0);
100
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            assert_eq!(X_VAL, 1);
+
            assert_eq!(X_VAL, 1);
101
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            assert_eq!(Y_VAL, 2);
+
            assert_eq!(Y_VAL, 2);
102
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            assert_eq!(Z_VAL, 1);
+
            assert_eq!(Z_VAL, 1);
104
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
-

Date: 2024-05-01 08:39

+

Date: 2024-05-27 10:40

diff --git a/coverage/main/solvers/minion/src/index.html b/coverage/main/solvers/minion/src/index.html index 3ea3060ee..29f8b4b10 100644 --- a/coverage/main/solvers/minion/src/index.html +++ b/coverage/main/solvers/minion/src/index.html @@ -15,7 +15,7 @@

Lines

- 73.1 %

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 29.37 %

+ 0 %

@@ -45,21 +45,21 @@ - 79.41% + 0% - - 79.41% + + 0% - - 27 / 34 + + 0 / 34 - 23.81% - 5 / 21 + 0% + 0 / 14 @@ -83,7 +83,7 @@ 0% - 0 / 18 + 0 / 12 @@ -93,45 +93,21 @@ - 100% - - - - 100% - - - 84 / 84 - - - 100% - 2 / 2 - - - - - - lib.rs - - - - 100% + 0% - - 100% + + 0% - - 73 / 73 + + 0 / 84 - 100% - 3 / 3 + 0% + 0 / 2 @@ -142,20 +118,20 @@ - 65.49% + 0% - 65.49% + 0% - 372 / 568 + 0 / 491 - 30.49% - 25 / 82 + 0% + 0 / 53 @@ -165,21 +141,21 @@ - 100% + 0% - - 100% + + 0% - - 6 / 6 + + 0 / 6 - 42.86% - 6 / 14 + 0% + 0 / 8 @@ -189,21 +165,21 @@ - 87.5% + 0% - - 87.5% + + 0% - - 14 / 16 + + 0 / 16 - 33.33% - 1 / 3 + 0% + 0 / 2 @@ -211,7 +187,7 @@
-

Date: 2024-05-01 08:39

+

Date: 2024-05-27 10:40

diff --git a/coverage/main/solvers/minion/src/lib.rs.html b/coverage/main/solvers/minion/src/lib.rs.html deleted file mode 100644 index cb170e7d3..000000000 --- a/coverage/main/solvers/minion/src/lib.rs.html +++ /dev/null @@ -1,1945 +0,0 @@ - - - - - Grcov report - lib.rs - - -
- - - -
-
- 1 -
-
- -
-
-
//! This crate provides low level Rust bindings to the [Minion](https://github.com/minion/minion)
-
-
-
- 2 -
-
- -
-
-
//! constraint solver.
-
-
-
- 3 -
-
- -
-
-
//!
-
-
-
- 4 -
-
- -
-
-
//! # Examples
-
-
-
- 5 -
-
- -
-
-
//!
-
-
-
- 6 -
-
- -
-
-
//! Consider the following Minion problem:
-
-
-
- 7 -
-
- -
-
-
//!
-
-
-
- 8 -
-
- -
-
-
//! ```plaintext
-
-
-
- 9 -
-
- -
-
-
//! MINION 3
-
-
-
- 10 -
-
- -
-
-
//! **VARIABLES**
-
-
-
- 11 -
-
- -
-
-
//! DISCRETE x #
-
-
-
- 12 -
-
- -
-
-
//! {1..3}
-
-
-
- 13 -
-
- -
-
-
//! DISCRETE y #
-
-
-
- 14 -
-
- -
-
-
//! {2..4}
-
-
-
- 15 -
-
- -
-
-
//! DISCRETE z #
-
-
-
- 16 -
-
- -
-
-
//! {1..5}
-
-
-
- 17 -
-
- -
-
-
//! **SEARCH**
-
-
-
- 18 -
-
- -
-
-
//! PRINT[[x],[y],[z]]
-
-
-
- 19 -
-
- -
-
-
//! VARORDER STATIC [x, y, z]
-
-
-
- 20 -
-
- -
-
-
//! **CONSTRAINTS**
-
-
-
- 21 -
-
- -
-
-
//! sumleq([x,y,z],4)
-
-
-
- 22 -
-
- -
-
-
//! ineq(x, y, -1)
-
-
-
- 23 -
-
- -
-
-
//! **EOF**
-
-
-
- 24 -
-
- -
-
-
//! ```
-
-
-
- 25 -
-
- -
-
-
//!
-
-
-
- 26 -
-
- -
-
-
//! This can be solved in Rust like so:
-
-
-
- 27 -
-
- -
-
-
//!
-
-
-
- 28 -
-
- -
-
-
//! ```
-
-
-
- 29 -
-
- 1 -
-
-
//! use minion_rs::ast::*;
-
-
-
- 30 -
-
- 1 -
-
-
//! use minion_rs::run_minion;
-
-
-
- 31 -
-
- 1 -
-
-
//! use std::collections::HashMap;
-
-
-
- 32 -
-
- 1 -
-
-
//! use std::sync::Mutex;
-
-
-
- 33 -
-
- 1 -
-
-
//!
-
-
-
- 34 -
-
- 1 -
-
-
//! // Get solutions out of Minion.
-
-
-
- 35 -
-
- 1 -
-
-
//! // See the documentation for Callback for details.
-
-
-
- 36 -
-
- 1 -
-
-
//!
-
-
-
- 37 -
-
- 1 -
-
-
//! static ALL_SOLUTIONS: Mutex<Vec<HashMap<VarName,Constant>>>  = Mutex::new(vec![]);
-
-
-
- 38 -
-
- 1 -
-
-
//!
-
-
-
- 39 -
-
- 1 -
-
-
//! fn callback(solutions: HashMap<VarName,Constant>) -> bool {
-
-
-
- 40 -
-
- 1 -
-
-
//!     let mut guard = ALL_SOLUTIONS.lock().unwrap();
-
-
-
- 41 -
-
- 1 -
-
-
//!     guard.push(solutions);
-
-
-
- 42 -
-
- 1 -
-
-
//!     true
-
-
-
- 43 -
-
- 1 -
-
-
//! }
-
-
-
- 44 -
-
- 1 -
-
-
//!
-
-
-
- 45 -
-
- 1 -
-
-
//! // Build and run the model.
-
-
-
- 46 -
-
- 1 -
-
-
//! let mut model = Model::new();
-
-
-
- 47 -
-
- 1 -
-
-
//! model
-
-
-
- 48 -
-
- 1 -
-
-
//!     .named_variables
-
-
-
- 49 -
-
- 1 -
-
-
//!     .add_var("x".to_owned(), VarDomain::Bound(1, 3));
-
-
-
- 50 -
-
- 1 -
-
-
//! model
-
-
-
- 51 -
-
- 1 -
-
-
//!     .named_variables
-
-
-
- 52 -
-
- 1 -
-
-
//!     .add_var("y".to_owned(), VarDomain::Bound(2, 4));
-
-
-
- 53 -
-
- 1 -
-
-
//! model
-
-
-
- 54 -
-
- 1 -
-
-
//!     .named_variables
-
-
-
- 55 -
-
- 1 -
-
-
//!     .add_var("z".to_owned(), VarDomain::Bound(1, 5));
-
-
-
- 56 -
-
- 1 -
-
-
//!
-
-
-
- 57 -
-
- 1 -
-
-
//! let leq = Constraint::SumLeq(
-
-
-
- 58 -
-
- 1 -
-
-
//!     vec![
-
-
-
- 59 -
-
- 1 -
-
-
//!         Var::NameRef("x".to_owned()),
-
-
-
- 60 -
-
- 1 -
-
-
//!         Var::NameRef("y".to_owned()),
-
-
-
- 61 -
-
- 1 -
-
-
//!         Var::NameRef("z".to_owned()),
-
-
-
- 62 -
-
- 1 -
-
-
//!     ],
-
-
-
- 63 -
-
- 1 -
-
-
//!     Var::ConstantAsVar(4),
-
-
-
- 64 -
-
- 1 -
-
-
//! );
-
-
-
- 65 -
-
- 1 -
-
-
//!
-
-
-
- 66 -
-
- 1 -
-
-
//! let geq = Constraint::SumGeq(
-
-
-
- 67 -
-
- 1 -
-
-
//!     vec![
-
-
-
- 68 -
-
- 1 -
-
-
//!         Var::NameRef("x".to_owned()),
-
-
-
- 69 -
-
- 1 -
-
-
//!         Var::NameRef("y".to_owned()),
-
-
-
- 70 -
-
- 1 -
-
-
//!         Var::NameRef("z".to_owned()),
-
-
-
- 71 -
-
- 1 -
-
-
//!     ],
-
-
-
- 72 -
-
- 1 -
-
-
//!     Var::ConstantAsVar(4),
-
-
-
- 73 -
-
- 1 -
-
-
//! );
-
-
-
- 74 -
-
- 1 -
-
-
//!
-
-
-
- 75 -
-
- 1 -
-
-
//! let ineq = Constraint::Ineq(
-
-
-
- 76 -
-
- 1 -
-
-
//!     Var::NameRef("x".to_owned()),
-
-
-
- 77 -
-
- 1 -
-
-
//!     Var::NameRef("y".to_owned()),
-
-
-
- 78 -
-
- 1 -
-
-
//!     Constant::Integer(-1),
-
-
-
- 79 -
-
- 1 -
-
-
//! );
-
-
-
- 80 -
-
- 1 -
-
-
//!
-
-
-
- 81 -
-
- 1 -
-
-
//! model.constraints.push(leq);
-
-
-
- 82 -
-
- 1 -
-
-
//! model.constraints.push(geq);
-
-
-
- 83 -
-
- 1 -
-
-
//! model.constraints.push(ineq);
-
-
-
- 84 -
-
- 1 -
-
-
//!
-
-
-
- 85 -
-
- 1 -
-
-
//! let res = run_minion(model, callback);
-
-
-
- 86 -
-
- 1 -
-
-
//! res.expect("Error occurred");
-
-
-
- 87 -
-
- 1 -
-
-
//!
-
-
-
- 88 -
-
- 1 -
-
-
//! // Get solutions
-
-
-
- 89 -
-
- 1 -
-
-
//! let guard = ALL_SOLUTIONS.lock().unwrap();
-
-
-
- 90 -
-
- 1 -
-
-
//! let solution_set_1 = &(guard.get(0).unwrap());
-
-
-
- 91 -
-
- 1 -
-
-
//!
-
-
-
- 92 -
-
- 1 -
-
-
//! let x1 = solution_set_1.get("x").unwrap();
-
-
-
- 93 -
-
- 1 -
-
-
//! let y1 = solution_set_1.get("y").unwrap();
-
-
-
- 94 -
-
- 1 -
-
-
//! let z1 = solution_set_1.get("z").unwrap();
-
-
-
- 95 -
-
- 1 -
-
-
//!
-
-
-
- 96 -
-
- 1 -
-
-
//! assert_eq!(guard.len(),1);
-
-
-
- 97 -
-
- 1 -
-
-
//! assert_eq!(*x1,Constant::Integer(1));
-
-
-
- 98 -
-
- 1 -
-
-
//! assert_eq!(*y1,Constant::Integer(2));
-
-
-
- 99 -
-
- 1 -
-
-
//! assert_eq!(*z1,Constant::Integer(1));
-
-
-
- 100 -
-
- 1 -
-
-
//! ```
-
-
-
- 101 -
-
- 1 -
-
-
//!
-
-
-
- 102 -
-
- -
-
-
//! ## `PRINT` and `VARORDER`
-
-
-
- 103 -
-
- -
-
-
//!
-
-
-
- 104 -
-
- -
-
-
//! These bindings have no replacement for Minion's `PRINT` and `VARORDER` statements - any
-
-
-
- 105 -
-
- -
-
-
//! variable given to the model that does not have a constant value is considered a search
-
-
-
- 106 -
-
- -
-
-
//! variable. Solutions are returned through the [callback function](Callback) as a `HashMap`.
-
-
-
- 107 -
-
- -
-
-

-            
-
-
- 108 -
-
- -
-
-
pub use run::*;
-
-
-
- 109 -
-
- -
-
-

-            
-
-
- 110 -
-
- -
-
-
pub mod error;
-
-
-
- 111 -
-
- -
-
-
mod ffi;
-
-
-
- 112 -
-
- -
-
-

-            
-
-
- 113 -
-
- -
-
-
pub mod ast;
-
-
-
- 114 -
-
- -
-
-
mod run;
-
-
-
- 115 -
-
- -
-
-

-            
-
-
- 116 -
-
- -
-
-
mod scoped_ptr;
-
-
-
- 117 -
-
- -
-
-

-            
-
-
- 118 -
-
- -
-
-
mod wrappers;
-
-
-
- 119 -
-
- -
-
-
pub use wrappers::*;
-
-
-
-
-
-

Date: 2024-05-01 08:39

-
-
- - diff --git a/coverage/main/solvers/minion/src/run.rs.html b/coverage/main/solvers/minion/src/run.rs.html index 183d9f518..ce82a35b6 100644 --- a/coverage/main/solvers/minion/src/run.rs.html +++ b/coverage/main/solvers/minion/src/run.rs.html @@ -15,7 +15,7 @@

Lines

- 65.49 %

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 30.49 %

+ 0 %

@@ -486,13 +486,13 @@ 29
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///   use minion_rs::ast::*;
+
///   use minion_rs::ast::*;
30
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///   use minion_rs::run_minion;
+
///   use minion_rs::run_minion;
31
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///   use std::{
+
///   use std::{
32
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///       collections::HashMap,
+
///       collections::HashMap,
33
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///       sync::{Mutex, MutexGuard},
+
///       sync::{Mutex, MutexGuard},
34
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///   };
+
///   };
35
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///
+
///
36
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///   // More elaborate data-structures are possible, but for sake of example store
+
///   // More elaborate data-structures are possible, but for sake of example store
37
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///   // a vector of solution sets.
+
///   // a vector of solution sets.
38
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///   static ALL_SOLUTIONS: Mutex<Vec<HashMap<VarName,Constant>>>  = Mutex::new(vec![]);
+
///   static ALL_SOLUTIONS: Mutex<Vec<HashMap<VarName,Constant>>>  = Mutex::new(vec![]);
39
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///   
+
///   
40
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///   fn callback(solutions: HashMap<VarName,Constant>) -> bool {
+
///   fn callback(solutions: HashMap<VarName,Constant>) -> bool {
41
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///       let mut guard = ALL_SOLUTIONS.lock().unwrap();
+
///       let mut guard = ALL_SOLUTIONS.lock().unwrap();
42
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///       guard.push(solutions);
+
///       guard.push(solutions);
43
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///       true
+
///       true
44
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///   }
+
///   }
45
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///    
+
///    
46
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///   // Build and run the model.
+
///   // Build and run the model.
47
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///   let mut model = Model::new();
+
///   let mut model = Model::new();
48
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///
+
///
49
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///   // ... omitted for brevity ...
+
///   // ... omitted for brevity ...
50
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// # model
+
/// # model
51
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// #     .named_variables
+
/// #     .named_variables
52
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// #     .add_var("x".to_owned(), VarDomain::Bound(1, 3));
+
/// #     .add_var("x".to_owned(), VarDomain::Bound(1, 3));
53
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// # model
+
/// # model
54
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// #     .named_variables
+
/// #     .named_variables
55
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// #     .add_var("y".to_owned(), VarDomain::Bound(2, 4));
+
/// #     .add_var("y".to_owned(), VarDomain::Bound(2, 4));
56
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// # model
+
/// # model
57
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// #     .named_variables
+
/// #     .named_variables
58
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// #     .add_var("z".to_owned(), VarDomain::Bound(1, 5));
+
/// #     .add_var("z".to_owned(), VarDomain::Bound(1, 5));
59
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// #
+
/// #
60
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// # let leq = Constraint::SumLeq(
+
/// # let leq = Constraint::SumLeq(
61
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// #     vec![
+
/// #     vec![
62
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// #         Var::NameRef("x".to_owned()),
+
/// #         Var::NameRef("x".to_owned()),
63
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// #         Var::NameRef("y".to_owned()),
+
/// #         Var::NameRef("y".to_owned()),
64
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// #         Var::NameRef("z".to_owned()),
+
/// #         Var::NameRef("z".to_owned()),
65
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// #     ],
+
/// #     ],
66
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// #     Var::ConstantAsVar(4),
+
/// #     Var::ConstantAsVar(4),
67
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// # );
+
/// # );
68
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// #
+
/// #
69
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// # let geq = Constraint::SumGeq(
+
/// # let geq = Constraint::SumGeq(
70
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// #     vec![
+
/// #     vec![
71
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// #         Var::NameRef("x".to_owned()),
+
/// #         Var::NameRef("x".to_owned()),
72
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// #         Var::NameRef("y".to_owned()),
+
/// #         Var::NameRef("y".to_owned()),
73
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// #         Var::NameRef("z".to_owned()),
+
/// #         Var::NameRef("z".to_owned()),
74
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// #     ],
+
/// #     ],
75
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// #     Var::ConstantAsVar(4),
+
/// #     Var::ConstantAsVar(4),
76
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// # );
+
/// # );
77
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// #
+
/// #
78
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// # let ineq = Constraint::Ineq(
+
/// # let ineq = Constraint::Ineq(
79
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// #     Var::NameRef("x".to_owned()),
+
/// #     Var::NameRef("x".to_owned()),
80
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// #     Var::NameRef("y".to_owned()),
+
/// #     Var::NameRef("y".to_owned()),
81
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// #     Constant::Integer(-1),
+
/// #     Constant::Integer(-1),
82
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// # );
+
/// # );
83
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// #
+
/// #
84
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// # model.constraints.push(leq);
+
/// # model.constraints.push(leq);
85
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// # model.constraints.push(geq);
+
/// # model.constraints.push(geq);
86
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// # model.constraints.push(ineq);
+
/// # model.constraints.push(ineq);
87
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///  
+
///  
88
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///   let res = run_minion(model, callback);
+
///   let res = run_minion(model, callback);
89
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///   res.expect("Error occurred");
+
///   res.expect("Error occurred");
90
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///
+
///
91
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///   // Get solutions
+
///   // Get solutions
92
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///   let guard = ALL_SOLUTIONS.lock().unwrap();
+
///   let guard = ALL_SOLUTIONS.lock().unwrap();
93
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///   let solution_set_1 = &(guard.get(0).unwrap());
+
///   let solution_set_1 = &(guard.get(0).unwrap());
94
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///
+
///
95
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///   let x1 = solution_set_1.get("x").unwrap();
+
///   let x1 = solution_set_1.get("x").unwrap();
96
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///   let y1 = solution_set_1.get("y").unwrap();
+
///   let y1 = solution_set_1.get("y").unwrap();
97
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
///   let z1 = solution_set_1.get("z").unwrap();
+
///   let z1 = solution_set_1.get("z").unwrap();
98
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// #
+
/// #
99
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// # // TODO: this test would be better with an example with >1 solution.
+
/// # // TODO: this test would be better with an example with >1 solution.
100
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// # assert_eq!(guard.len(),1);
+
/// # assert_eq!(guard.len(),1);
101
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// # assert_eq!(*x1,Constant::Integer(1));
+
/// # assert_eq!(*x1,Constant::Integer(1));
102
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// # assert_eq!(*y1,Constant::Integer(2));
+
/// # assert_eq!(*y1,Constant::Integer(2));
103
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// # assert_eq!(*z1,Constant::Integer(1));
+
/// # assert_eq!(*z1,Constant::Integer(1));
104
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
/// ```
+
/// ```
105
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-white has-background-white" + role="cell" aria-label="no coverage"> +
-
-
pub type Callback = fn(solution_set: HashMap<VarName, Constant>) -> bool;
+
pub type Callback = fn(solution_set: HashMap<VarName, Constant>) -> bool;
119
- 2888 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
unsafe extern "C" fn run_callback() -> bool {
+
unsafe extern "C" fn run_callback() -> bool {
120
- 2888 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    // get printvars from static PRINT_VARS if they exist.
+
    // get printvars from static PRINT_VARS if they exist.
121
- 2888 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    // if not, return true and continue search.
+
    // if not, return true and continue search.
122
- 2888 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
123
- 2888 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    // Mutex poisoning is probably panic worthy.
+
    // Mutex poisoning is probably panic worthy.
124
- 2888 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    #[allow(clippy::unwrap_used)]
+
    #[allow(clippy::unwrap_used)]
125
- 2888 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let mut guard: MutexGuard<'_, Option<Vec<VarName>>> = PRINT_VARS.lock().unwrap();
+
    let mut guard: MutexGuard<'_, Option<Vec<VarName>>> = PRINT_VARS.lock().unwrap();
126
- 2888 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
127
- 2888 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    if guard.is_none() {
+
    if guard.is_none() {
129
- 2888 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
131
- 2888 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let print_vars = match &mut *guard {
+
    let print_vars = match &mut *guard {
132
- 2888 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Some(x) => x,
+
        Some(x) => x,
136
- 2888 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    if print_vars.is_empty() {
+
    if print_vars.is_empty() {
138
- 2888 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
139
- 2888 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
140
- 2888 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    // build nice solutions view to be used by callback
+
    // build nice solutions view to be used by callback
141
- 2888 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let mut solutions: HashMap<VarName, Constant> = HashMap::new();
+
    let mut solutions: HashMap<VarName, Constant> = HashMap::new();
143
- 9994 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    for (i, var) in print_vars.iter().enumerate() {
+
    for (i, var) in print_vars.iter().enumerate() {
144
- 9994 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let solution_int: i32 = ffi::printMatrix_getValue(i as _);
+
        let solution_int: i32 = ffi::printMatrix_getValue(i as _);
145
- 9994 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let solution: Constant = Constant::Integer(solution_int);
+
        let solution: Constant = Constant::Integer(solution_int);
146
- 9994 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        solutions.insert(var.to_string(), solution);
+
        solutions.insert(var.to_string(), solution);
147
- 9994 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
150
- 2888 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match *CALLBACK.lock().unwrap() {
+
    match *CALLBACK.lock().unwrap() {
152
- 2888 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Some(func) => func(solutions),
+
        Some(func) => func(solutions),
154
- 2888 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
162
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
pub fn run_minion(model: Model, callback: Callback) -> Result<(), MinionError> {
+
pub fn run_minion(model: Model, callback: Callback) -> Result<(), MinionError> {
163
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    // Mutex poisoning is probably panic worthy.
+
    // Mutex poisoning is probably panic worthy.
164
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    *CALLBACK.lock().unwrap() = Some(callback);
+
    *CALLBACK.lock().unwrap() = Some(callback);
165
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
166
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let (lock, condvar) = &LOCK;
+
    let (lock, condvar) = &LOCK;
167
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let mut _lock_guard = condvar
+
    let mut _lock_guard = condvar
168
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .wait_while(lock.lock().unwrap(), |locked| *locked)
+
        .wait_while(lock.lock().unwrap(), |locked| *locked)
169
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .unwrap();
+
        .unwrap();
170
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
171
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    *_lock_guard = true;
+
    *_lock_guard = true;
172
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
173
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    unsafe {
+
    unsafe {
174
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        // TODO: something better than a manual spinlock
+
        // TODO: something better than a manual spinlock
175
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let search_opts = ffi::searchOptions_new();
+
        let search_opts = ffi::searchOptions_new();
176
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let search_method = ffi::searchMethod_new();
+
        let search_method = ffi::searchMethod_new();
177
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let search_instance = ffi::instance_new();
+
        let search_instance = ffi::instance_new();
178
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
179
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        convert_model_to_raw(search_instance, &model)?;
+
        convert_model_to_raw(search_instance, &model)?;
181
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let res = ffi::runMinion(
+
        let res = ffi::runMinion(
182
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            search_opts,
+
            search_opts,
183
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            search_method,
+
            search_method,
184
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            search_instance,
+
            search_instance,
185
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Some(run_callback),
+
            Some(run_callback),
186
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        );
+
        );
187
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
188
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ffi::searchMethod_free(search_method);
+
        ffi::searchMethod_free(search_method);
189
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ffi::searchOptions_free(search_opts);
+
        ffi::searchOptions_free(search_opts);
190
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ffi::instance_free(search_instance);
+
        ffi::instance_free(search_instance);
191
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
192
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        *_lock_guard = false;
+
        *_lock_guard = false;
193
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        std::mem::drop(_lock_guard);
+
        std::mem::drop(_lock_guard);
194
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
195
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        condvar.notify_one();
+
        condvar.notify_one();
196
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
197
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        match res {
+
        match res {
198
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            0 => Ok(()),
+
            0 => Ok(()),
202
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
204
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
unsafe fn convert_model_to_raw(
+
unsafe fn convert_model_to_raw(
205
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    instance: *mut ffi::ProbSpec_CSPInstance,
+
    instance: *mut ffi::ProbSpec_CSPInstance,
206
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    model: &Model,
+
    model: &Model,
207
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
) -> Result<(), MinionError> {
+
) -> Result<(), MinionError> {
208
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    /*******************************/
+
    /*******************************/
209
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    /*        Add variables        */
+
    /*        Add variables        */
210
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    /*******************************/
+
    /*******************************/
211
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
212
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    /*
+
    /*
213
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
     * Add variables to:
+
     * Add variables to:
214
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
     * 1. symbol table
+
     * 1. symbol table
215
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
     * 2. print matrix
+
     * 2. print matrix
216
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
     * 3. search vars
+
     * 3. search vars
217
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
     *
+
     *
218
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
     * These are all done in the order saved in the SymbolTable.
+
     * These are all done in the order saved in the SymbolTable.
219
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
     */
+
     */
220
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
221
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let search_vars = Scoped::new(ffi::vec_var_new(), |x| ffi::vec_var_free(x as _));
+
    let search_vars = Scoped::new(ffi::vec_var_new(), |x| ffi::vec_var_free(x as _));
222
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
223
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    // store variables and the order they will be returned inside rust for later use.
+
    // store variables and the order they will be returned inside rust for later use.
224
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    #[allow(clippy::unwrap_used)]
+
    #[allow(clippy::unwrap_used)]
225
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let mut print_vars_guard = PRINT_VARS.lock().unwrap();
+
    let mut print_vars_guard = PRINT_VARS.lock().unwrap();
226
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    *print_vars_guard = Some(vec![]);
+
    *print_vars_guard = Some(vec![]);
228
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    for var_name in model.named_variables.get_variable_order() {
+
    for var_name in model.named_variables.get_variable_order() {
229
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let c_str = CString::new(var_name.clone()).map_err(|_| {
+
        let c_str = CString::new(var_name.clone()).map_err(|_| {
234
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        })?;
+
        })?;
236
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let vartype = model
+
        let vartype = model
237
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            .named_variables
+
            .named_variables
238
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            .get_vartype(var_name.clone())
+
            .get_vartype(var_name.clone())
239
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            .ok_or(anyhow!("Could not get var type for {:?}", var_name.clone()))?;
+
            .ok_or(anyhow!("Could not get var type for {:?}", var_name.clone()))?;
241
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let (vartype_raw, domain_low, domain_high) = match vartype {
+
        let (vartype_raw, domain_low, domain_high) = match vartype {
242
- 1292 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            VarDomain::Bound(a, b) => Ok((ffi::VariableType_VAR_BOUND, a, b)),
+
            VarDomain::Bound(a, b) => Ok((ffi::VariableType_VAR_BOUND, a, b)),
243
- 190 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            VarDomain::Bool => Ok((ffi::VariableType_VAR_BOOL, 0, 1)), // TODO: will this work?
+
            VarDomain::Bool => Ok((ffi::VariableType_VAR_BOOL, 0, 1)), // TODO: will this work?
247
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ffi::newVar_ffi(
+
        ffi::newVar_ffi(
248
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            instance,
+
            instance,
249
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            c_str.as_ptr() as _,
+
            c_str.as_ptr() as _,
250
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            vartype_raw,
+
            vartype_raw,
251
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            domain_low,
+
            domain_low,
252
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            domain_high,
+
            domain_high,
253
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        );
+
        );
254
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
255
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let var = ffi::getVarByName(instance, c_str.as_ptr() as _);
+
        let var = ffi::getVarByName(instance, c_str.as_ptr() as _);
256
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
257
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ffi::printMatrix_addVar(instance, var);
+
        ffi::printMatrix_addVar(instance, var);
258
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
259
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        // add to the print vars stored in rust so to remember
+
        // add to the print vars stored in rust so to remember
260
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        // the order for callback function.
+
        // the order for callback function.
261
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
262
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        #[allow(clippy::unwrap_used)]
+
        #[allow(clippy::unwrap_used)]
263
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        (*print_vars_guard).as_mut().unwrap().push(var_name.clone());
+
        (*print_vars_guard).as_mut().unwrap().push(var_name.clone());
264
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
265
- 1482 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ffi::vec_var_push_back(search_vars.ptr, var);
+
        ffi::vec_var_push_back(search_vars.ptr, var);
268
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let search_order = Scoped::new(
+
    let search_order = Scoped::new(
269
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ffi::searchOrder_new(search_vars.ptr, ffi::VarOrderEnum_ORDER_STATIC, false),
+
        ffi::searchOrder_new(search_vars.ptr, ffi::VarOrderEnum_ORDER_STATIC, false),
270
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        |x| ffi::searchOrder_free(x as _),
+
        |x| ffi::searchOrder_free(x as _),
271
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    );
+
    );
272
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
273
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    ffi::instance_addSearchOrder(instance, search_order.ptr);
+
    ffi::instance_addSearchOrder(instance, search_order.ptr);
279
- 6023 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    for constraint in &model.constraints {
+
    for constraint in &model.constraints {
284
- 5491 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let constraint_type = get_constraint_type(constraint)?;
+
        let constraint_type = get_constraint_type(constraint)?;
285
- 5491 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let raw_constraint = Scoped::new(ffi::constraint_new(constraint_type), |x| {
+
        let raw_constraint = Scoped::new(ffi::constraint_new(constraint_type), |x| {
286
- 5491 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            ffi::constraint_free(x as _)
+
            ffi::constraint_free(x as _)
287
- 5491 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        });
+
        });
288
- 5491 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
289
- 5491 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        constraint_add_args(instance, raw_constraint.ptr, constraint)?;
+
        constraint_add_args(instance, raw_constraint.ptr, constraint)?;
290
- 5491 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ffi::instance_addConstraint(instance, raw_constraint.ptr);
+
        ffi::instance_addConstraint(instance, raw_constraint.ptr);
293
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    Ok(())
+
    Ok(())
294
- 532 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
296
- 21850 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
unsafe fn get_constraint_type(constraint: &Constraint) -> Result<u32, MinionError> {
+
unsafe fn get_constraint_type(constraint: &Constraint) -> Result<u32, MinionError> {
297
- 21850 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match constraint {
+
    match constraint {
298
- 5472 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Constraint::SumGeq(_, _) => Ok(ffi::ConstraintType_CT_GEQSUM),
+
        Constraint::SumGeq(_, _) => Ok(ffi::ConstraintType_CT_GEQSUM),
299
- 5491 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Constraint::SumLeq(_, _) => Ok(ffi::ConstraintType_CT_LEQSUM),
+
        Constraint::SumLeq(_, _) => Ok(ffi::ConstraintType_CT_LEQSUM),
300
- 5795 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Constraint::Ineq(_, _, _) => Ok(ffi::ConstraintType_CT_INEQ),
+
        Constraint::Ineq(_, _, _) => Ok(ffi::ConstraintType_CT_INEQ),
301
- 247 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Constraint::Eq(_, _) => Ok(ffi::ConstraintType_CT_EQ),
+
        Constraint::Eq(_, _) => Ok(ffi::ConstraintType_CT_EQ),
304
- 76 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Constraint::DivUndefZero(_, _) => Ok(ffi::ConstraintType_CT_DIV_UNDEFZERO),
+
        Constraint::DivUndefZero(_, _) => Ok(ffi::ConstraintType_CT_DIV_UNDEFZERO),
315
- 19 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Constraint::ReifyImply(_, _) => Ok(ffi::ConstraintType_CT_REIFYIMPLY),
+
        Constraint::ReifyImply(_, _) => Ok(ffi::ConstraintType_CT_REIFYIMPLY),
318
- 4579 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Constraint::WatchedOr(_) => Ok(ffi::ConstraintType_CT_WATCHED_NEW_OR),
+
        Constraint::WatchedOr(_) => Ok(ffi::ConstraintType_CT_WATCHED_NEW_OR),
366
- 38 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Constraint::WInset(_, _) => Ok(ffi::ConstraintType_CT_WATCHED_INSET),
+
        Constraint::WInset(_, _) => Ok(ffi::ConstraintType_CT_WATCHED_INSET),
370
- 133 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Constraint::DisEq(_, _) => Ok(ffi::ConstraintType_CT_DISEQ),
+
        Constraint::DisEq(_, _) => Ok(ffi::ConstraintType_CT_DISEQ),
382
- 21850 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
384
- 21850 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
unsafe fn constraint_add_args(
+
unsafe fn constraint_add_args(
385
- 21850 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    i: *mut ffi::ProbSpec_CSPInstance,
+
    i: *mut ffi::ProbSpec_CSPInstance,
386
- 21850 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    r_constr: *mut ffi::ProbSpec_ConstraintBlob,
+
    r_constr: *mut ffi::ProbSpec_ConstraintBlob,
387
- 21850 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    constr: &Constraint,
+
    constr: &Constraint,
388
- 21850 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
) -> Result<(), MinionError> {
+
) -> Result<(), MinionError> {
389
- 21850 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    match constr {
+
    match constr {
390
- 5472 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Constraint::SumGeq(lhs_vars, rhs_var) => {
+
        Constraint::SumGeq(lhs_vars, rhs_var) => {
391
- 5472 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            read_list(i, r_constr, lhs_vars)?;
+
            read_list(i, r_constr, lhs_vars)?;
392
- 5472 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            read_var(i, r_constr, rhs_var)?;
+
            read_var(i, r_constr, rhs_var)?;
393
- 5472 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Ok(())
+
            Ok(())
395
- 5491 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Constraint::SumLeq(lhs_vars, rhs_var) => {
+
        Constraint::SumLeq(lhs_vars, rhs_var) => {
396
- 5491 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            read_list(i, r_constr, lhs_vars)?;
+
            read_list(i, r_constr, lhs_vars)?;
397
- 5491 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            read_var(i, r_constr, rhs_var)?;
+
            read_var(i, r_constr, rhs_var)?;
398
- 5491 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Ok(())
+
            Ok(())
400
- 5795 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Constraint::Ineq(var1, var2, c) => {
+
        Constraint::Ineq(var1, var2, c) => {
401
- 5795 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            read_var(i, r_constr, var1)?;
+
            read_var(i, r_constr, var1)?;
402
- 5795 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            read_var(i, r_constr, var2)?;
+
            read_var(i, r_constr, var2)?;
403
- 5795 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            read_constant(r_constr, c)?;
+
            read_constant(r_constr, c)?;
404
- 5795 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Ok(())
+
            Ok(())
406
- 247 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Constraint::Eq(var1, var2) => {
+
        Constraint::Eq(var1, var2) => {
407
- 247 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            read_var(i, r_constr, var1)?;
+
            read_var(i, r_constr, var1)?;
408
- 247 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            read_var(i, r_constr, var2)?;
+
            read_var(i, r_constr, var2)?;
409
- 247 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Ok(())
+
            Ok(())
421
- 76 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Constraint::DivUndefZero((a, b), c) => {
+
        Constraint::DivUndefZero((a, b), c) => {
422
- 76 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            read_2_vars(i, r_constr, a, b)?;
+
            read_2_vars(i, r_constr, a, b)?;
423
- 76 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            read_var(i, r_constr, c)?;
+
            read_var(i, r_constr, c)?;
424
- 76 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Ok(())
+
            Ok(())
475
- 19 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Constraint::ReifyImply(a, b) => {
+
        Constraint::ReifyImply(a, b) => {
476
- 19 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            read_constraint(i, r_constr, (**a).clone())?;
+
            read_constraint(i, r_constr, (**a).clone())?;
477
- 19 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            read_var(i, r_constr, b)?;
+
            read_var(i, r_constr, b)?;
478
- 19 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Ok(())
+
            Ok(())
489
- 4579 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Constraint::WatchedOr(a) => {
+
        Constraint::WatchedOr(a) => {
490
- 4579 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            read_constraint_list(i, r_constr, a)?;
+
            read_constraint_list(i, r_constr, a)?;
491
- 4579 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Ok(())
+
            Ok(())
569
- 38 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Constraint::WInset(a, b) => {
+
        Constraint::WInset(a, b) => {
570
- 38 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            read_var(i, r_constr, a)?;
+
            read_var(i, r_constr, a)?;
571
- 38 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            read_constant_list(r_constr, b)?;
+
            read_constant_list(r_constr, b)?;
572
- 38 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Ok(())
+
            Ok(())
577
- 133 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Constraint::DisEq(a, b) => {
+
        Constraint::DisEq(a, b) => {
578
- 133 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            read_var(i, r_constr, a)?;
+
            read_var(i, r_constr, a)?;
579
- 133 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            read_var(i, r_constr, b)?;
+
            read_var(i, r_constr, b)?;
580
- 133 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Ok(())
+
            Ok(())
594
- 21850 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
598
- 10963 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
unsafe fn read_list(
+
unsafe fn read_list(
599
- 10963 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    instance: *mut ffi::ProbSpec_CSPInstance,
+
    instance: *mut ffi::ProbSpec_CSPInstance,
600
- 10963 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    raw_constraint: *mut ffi::ProbSpec_ConstraintBlob,
+
    raw_constraint: *mut ffi::ProbSpec_ConstraintBlob,
601
- 10963 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    vars: &Vec<Var>,
+
    vars: &Vec<Var>,
602
- 10963 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
) -> Result<(), MinionError> {
+
) -> Result<(), MinionError> {
603
- 10963 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let raw_vars = Scoped::new(ffi::vec_var_new(), |x| ffi::vec_var_free(x as _));
+
    let raw_vars = Scoped::new(ffi::vec_var_new(), |x| ffi::vec_var_free(x as _));
604
- 43852 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    for var in vars {
+
    for var in vars {
605
- 32889 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let raw_var = match var {
+
        let raw_var = match var {
606
- 32889 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Var::NameRef(name) => {
+
            Var::NameRef(name) => {
607
- 32889 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                let c_str = CString::new(name.clone()).map_err(|_| {
+
                let c_str = CString::new(name.clone()).map_err(|_| {
612
- 32889 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                })?;
+
                })?;
613
- 32889 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
                ffi::getVarByName(instance, c_str.as_ptr() as _)
+
                ffi::getVarByName(instance, c_str.as_ptr() as _)
618
- 32889 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ffi::vec_var_push_back(raw_vars.ptr, raw_var);
+
        ffi::vec_var_push_back(raw_vars.ptr, raw_var);
621
- 10963 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    ffi::constraint_addList(raw_constraint, raw_vars.ptr);
+
    ffi::constraint_addList(raw_constraint, raw_vars.ptr);
622
- 10963 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
623
- 10963 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    Ok(())
+
    Ok(())
624
- 10963 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
626
- 23446 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
unsafe fn read_var(
+
unsafe fn read_var(
627
- 23446 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    instance: *mut ffi::ProbSpec_CSPInstance,
+
    instance: *mut ffi::ProbSpec_CSPInstance,
628
- 23446 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    raw_constraint: *mut ffi::ProbSpec_ConstraintBlob,
+
    raw_constraint: *mut ffi::ProbSpec_ConstraintBlob,
629
- 23446 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    var: &Var,
+
    var: &Var,
630
- 23446 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
) -> Result<(), MinionError> {
+
) -> Result<(), MinionError> {
631
- 23446 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let raw_vars = Scoped::new(ffi::vec_var_new(), |x| ffi::vec_var_free(x as _));
+
    let raw_vars = Scoped::new(ffi::vec_var_new(), |x| ffi::vec_var_free(x as _));
632
- 23446 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let raw_var = match var {
+
    let raw_var = match var {
633
- 12255 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Var::NameRef(name) => {
+
        Var::NameRef(name) => {
634
- 12255 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let c_str = CString::new(name.clone()).map_err(|_| {
+
            let c_str = CString::new(name.clone()).map_err(|_| {
639
- 12255 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            })?;
+
            })?;
640
- 12255 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            ffi::getVarByName(instance, c_str.as_ptr() as _)
+
            ffi::getVarByName(instance, c_str.as_ptr() as _)
642
- 11191 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Var::ConstantAsVar(n) => ffi::constantAsVar(*n),
+
        Var::ConstantAsVar(n) => ffi::constantAsVar(*n),
645
- 23446 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    ffi::vec_var_push_back(raw_vars.ptr, raw_var);
+
    ffi::vec_var_push_back(raw_vars.ptr, raw_var);
646
- 23446 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    ffi::constraint_addList(raw_constraint, raw_vars.ptr);
+
    ffi::constraint_addList(raw_constraint, raw_vars.ptr);
647
- 23446 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
648
- 23446 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    Ok(())
+
    Ok(())
649
- 23446 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
651
- 76 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
unsafe fn read_2_vars(
+
unsafe fn read_2_vars(
652
- 76 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    instance: *mut ffi::ProbSpec_CSPInstance,
+
    instance: *mut ffi::ProbSpec_CSPInstance,
653
- 76 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    raw_constraint: *mut ffi::ProbSpec_ConstraintBlob,
+
    raw_constraint: *mut ffi::ProbSpec_ConstraintBlob,
654
- 76 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    var1: &Var,
+
    var1: &Var,
655
- 76 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    var2: &Var,
+
    var2: &Var,
656
- 76 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
) -> Result<(), MinionError> {
+
) -> Result<(), MinionError> {
657
- 76 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let mut raw_var = match var1 {
+
    let mut raw_var = match var1 {
658
- 57 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Var::NameRef(name) => {
+
        Var::NameRef(name) => {
659
- 57 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let c_str = CString::new(name.clone()).map_err(|_| {
+
            let c_str = CString::new(name.clone()).map_err(|_| {
664
- 57 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            })?;
+
            })?;
665
- 57 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            ffi::getVarByName(instance, c_str.as_ptr() as _)
+
            ffi::getVarByName(instance, c_str.as_ptr() as _)
667
- 19 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Var::ConstantAsVar(n) => ffi::constantAsVar(*n),
+
        Var::ConstantAsVar(n) => ffi::constantAsVar(*n),
669
- 76 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let mut raw_var2 = match var2 {
+
    let mut raw_var2 = match var2 {
670
- 76 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Var::NameRef(name) => {
+
        Var::NameRef(name) => {
671
- 76 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let c_str = CString::new(name.clone()).map_err(|_| {
+
            let c_str = CString::new(name.clone()).map_err(|_| {
676
- 76 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            })?;
+
            })?;
677
- 76 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            ffi::getVarByName(instance, c_str.as_ptr() as _)
+
            ffi::getVarByName(instance, c_str.as_ptr() as _)
684
- 76 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    ffi::constraint_addTwoVars(raw_constraint, &mut raw_var, &mut raw_var2);
+
    ffi::constraint_addTwoVars(raw_constraint, &mut raw_var, &mut raw_var2);
685
- 76 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    Ok(())
+
    Ok(())
686
- 76 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
688
- 5795 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
unsafe fn read_constant(
+
unsafe fn read_constant(
689
- 5795 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    raw_constraint: *mut ffi::ProbSpec_ConstraintBlob,
+
    raw_constraint: *mut ffi::ProbSpec_ConstraintBlob,
690
- 5795 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    constant: &Constant,
+
    constant: &Constant,
691
- 5795 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
) -> Result<(), MinionError> {
+
) -> Result<(), MinionError> {
692
- 5795 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let val: i32 = match constant {
+
    let val: i32 = match constant {
693
- 5795 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Constant::Integer(n) => Ok(*n),
+
        Constant::Integer(n) => Ok(*n),
699
- 5795 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    ffi::constraint_addConstant(raw_constraint, val);
+
    ffi::constraint_addConstant(raw_constraint, val);
700
- 5795 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
701
- 5795 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    Ok(())
+
    Ok(())
702
- 5795 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
704
- 38 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
unsafe fn read_constant_list(
+
unsafe fn read_constant_list(
705
- 38 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    raw_constraint: *mut ffi::ProbSpec_ConstraintBlob,
+
    raw_constraint: *mut ffi::ProbSpec_ConstraintBlob,
706
- 38 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    constants: &[Constant],
+
    constants: &[Constant],
707
- 38 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
) -> Result<(), MinionError> {
+
) -> Result<(), MinionError> {
708
- 38 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let raw_consts = Scoped::new(ffi::vec_int_new(), |x| ffi::vec_var_free(x as _));
+
    let raw_consts = Scoped::new(ffi::vec_int_new(), |x| ffi::vec_var_free(x as _));
710
- 38 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    for constant in constants.iter() {
+
    for constant in constants.iter() {
711
- 38 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let val = match constant {
+
        let val = match constant {
713
- 19 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Constant::Bool(true) => Ok(1),
+
            Constant::Bool(true) => Ok(1),
714
- 19 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Constant::Bool(false) => Ok(0),
+
            Constant::Bool(false) => Ok(0),
719
- 38 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ffi::vec_int_push_back(raw_consts.ptr, val);
+
        ffi::vec_int_push_back(raw_consts.ptr, val);
722
- 38 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    ffi::constraint_addConstantList(raw_constraint, raw_consts.ptr);
+
    ffi::constraint_addConstantList(raw_constraint, raw_consts.ptr);
723
- 38 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    Ok(())
+
    Ok(())
724
- 38 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
729
- 19 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
unsafe fn read_constraint(
+
unsafe fn read_constraint(
730
- 19 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    instance: *mut ffi::ProbSpec_CSPInstance,
+
    instance: *mut ffi::ProbSpec_CSPInstance,
731
- 19 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    raw_constraint: *mut ffi::ProbSpec_ConstraintBlob,
+
    raw_constraint: *mut ffi::ProbSpec_ConstraintBlob,
732
- 19 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    inner_constraint: Constraint,
+
    inner_constraint: Constraint,
733
- 19 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
) -> Result<(), MinionError> {
+
) -> Result<(), MinionError> {
734
- 19 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let constraint_type = get_constraint_type(&inner_constraint)?;
+
    let constraint_type = get_constraint_type(&inner_constraint)?;
735
- 19 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let raw_inner_constraint = Scoped::new(ffi::constraint_new(constraint_type), |x| {
+
    let raw_inner_constraint = Scoped::new(ffi::constraint_new(constraint_type), |x| {
736
- 19 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ffi::constraint_free(x as _)
+
        ffi::constraint_free(x as _)
737
- 19 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    });
+
    });
738
- 19 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
739
- 19 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    constraint_add_args(instance, raw_inner_constraint.ptr, &inner_constraint)?;
+
    constraint_add_args(instance, raw_inner_constraint.ptr, &inner_constraint)?;
741
- 19 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    ffi::constraint_addConstraint(raw_constraint, raw_inner_constraint.ptr);
+
    ffi::constraint_addConstraint(raw_constraint, raw_inner_constraint.ptr);
742
- 19 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    Ok(())
+
    Ok(())
743
- 19 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
745
- 4579 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
unsafe fn read_constraint_list(
+
unsafe fn read_constraint_list(
746
- 4579 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    instance: *mut ffi::ProbSpec_CSPInstance,
+
    instance: *mut ffi::ProbSpec_CSPInstance,
747
- 4579 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    raw_constraint: *mut ffi::ProbSpec_ConstraintBlob,
+
    raw_constraint: *mut ffi::ProbSpec_ConstraintBlob,
748
- 4579 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    inner_constraints: &[Constraint],
+
    inner_constraints: &[Constraint],
749
- 4579 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
) -> Result<(), MinionError> {
+
) -> Result<(), MinionError> {
750
- 4579 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let raw_inners = Scoped::new(ffi::vec_constraints_new(), |x| {
+
    let raw_inners = Scoped::new(ffi::vec_constraints_new(), |x| {
751
- 4579 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ffi::vec_constraints_free(x as _)
+
        ffi::vec_constraints_free(x as _)
752
- 4579 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    });
+
    });
753
- 16340 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    for inner_constraint in inner_constraints.iter() {
+
    for inner_constraint in inner_constraints.iter() {
754
- 16340 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let constraint_type = get_constraint_type(inner_constraint)?;
+
        let constraint_type = get_constraint_type(inner_constraint)?;
755
- 16340 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let raw_inner_constraint = Scoped::new(ffi::constraint_new(constraint_type), |x| {
+
        let raw_inner_constraint = Scoped::new(ffi::constraint_new(constraint_type), |x| {
756
- 16340 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            ffi::constraint_free(x as _)
+
            ffi::constraint_free(x as _)
757
- 16340 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        });
+
        });
758
- 16340 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
759
- 16340 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        constraint_add_args(instance, raw_inner_constraint.ptr, inner_constraint)?;
+
        constraint_add_args(instance, raw_inner_constraint.ptr, inner_constraint)?;
760
- 16340 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ffi::vec_constraints_push_back(raw_inners.ptr, raw_inner_constraint.ptr);
+
        ffi::vec_constraints_push_back(raw_inners.ptr, raw_inner_constraint.ptr);
763
- 4579 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    ffi::constraint_addConstraintList(raw_constraint, raw_inners.ptr);
+
    ffi::constraint_addConstraintList(raw_constraint, raw_inners.ptr);
764
- 4579 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    Ok(())
+
    Ok(())
765
- 4579 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
-

Date: 2024-05-01 08:39

+

Date: 2024-05-27 10:40

diff --git a/coverage/main/solvers/minion/src/scoped_ptr.rs.html b/coverage/main/solvers/minion/src/scoped_ptr.rs.html index 5d1447ef8..a2c2c79db 100644 --- a/coverage/main/solvers/minion/src/scoped_ptr.rs.html +++ b/coverage/main/solvers/minion/src/scoped_ptr.rs.html @@ -14,8 +14,8 @@

Lines

-

- 100 %

+

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 42.86 %

+ 0 %

@@ -294,13 +294,13 @@ 17
- 61940 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    pub unsafe fn new(ptr: *mut T, destructor: fn(*mut T)) -> Scoped<T> {
+
    pub unsafe fn new(ptr: *mut T, destructor: fn(*mut T)) -> Scoped<T> {
18
- 61940 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Scoped { ptr, destructor }
+
        Scoped { ptr, destructor }
19
- 61940 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
24
- 61940 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    fn drop(&mut self) {
+
    fn drop(&mut self) {
25
- 61940 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        (self.destructor)(self.ptr);
+
        (self.destructor)(self.ptr);
26
- 61940 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    }
+
    }
-

Date: 2024-05-01 08:39

+

Date: 2024-05-27 10:40

diff --git a/coverage/main/solvers/minion/src/wrappers.rs.html b/coverage/main/solvers/minion/src/wrappers.rs.html index b010774be..e5dc2a43e 100644 --- a/coverage/main/solvers/minion/src/wrappers.rs.html +++ b/coverage/main/solvers/minion/src/wrappers.rs.html @@ -14,8 +14,8 @@

Lines

-

- 87.5 %

+

+ 0 %

@@ -23,7 +23,7 @@

Functions

- 33.33 %

+ 0 %

@@ -166,13 +166,13 @@ 9
- 494 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
pub fn get_from_table(key: String) -> Option<String> {
+
pub fn get_from_table(key: String) -> Option<String> {
10
- 494 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    unsafe {
+
    unsafe {
11
- 494 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        #[allow(clippy::expect_used)]
+
        #[allow(clippy::expect_used)]
12
- 494 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let c_string = CString::new(key).expect("");
+
        let c_string = CString::new(key).expect("");
13
- 494 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let key_ptr = c_string.into_raw();
+
        let key_ptr = c_string.into_raw();
14
- 494 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        let val_ptr: *mut c_char = ffi::TableOut_get(key_ptr);
+
        let val_ptr: *mut c_char = ffi::TableOut_get(key_ptr);
15
- 494 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
16
- 494 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        drop(CString::from_raw(key_ptr));
+
        drop(CString::from_raw(key_ptr));
17
- 494 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
18
- 494 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        if val_ptr.is_null() {
+
        if val_ptr.is_null() {
25
- 494 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            let res = CStr::from_ptr(val_ptr).to_str().unwrap().to_owned();
+
            let res = CStr::from_ptr(val_ptr).to_str().unwrap().to_owned();
26
- 494 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            free(val_ptr as _);
+
            free(val_ptr as _);
27
- 494 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Some(res)
+
            Some(res)
30
- 494 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
-

Date: 2024-05-01 08:39

+

Date: 2024-05-27 10:40

diff --git a/coverage/main/solvers/minion/tests/index.html b/coverage/main/solvers/minion/tests/index.html index 71b8259f5..cae4a519f 100644 --- a/coverage/main/solvers/minion/tests/index.html +++ b/coverage/main/solvers/minion/tests/index.html @@ -14,16 +14,16 @@

Lines

-

- 100 %

+

+ 0 %

Functions

-

- 100 %

+

+ 0 %

@@ -45,21 +45,21 @@ - 100% + 0% - - 100% + + 0% - - 32 / 32 + + 0 / 32 - 100% - 2 / 2 + 0% + 0 / 2 @@ -67,7 +67,7 @@
-

Date: 2024-05-01 08:39

+

Date: 2024-05-27 10:40

diff --git a/coverage/main/solvers/minion/tests/test_watchedor_reifyimply_1.rs.html b/coverage/main/solvers/minion/tests/test_watchedor_reifyimply_1.rs.html index d601f4916..132ee4b2e 100644 --- a/coverage/main/solvers/minion/tests/test_watchedor_reifyimply_1.rs.html +++ b/coverage/main/solvers/minion/tests/test_watchedor_reifyimply_1.rs.html @@ -14,16 +14,16 @@

Lines

-

- 100 %

+

+ 0 %

Functions

-

- 100 %

+

+ 0 %

@@ -486,13 +486,13 @@ 29
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn test_watchedor_reifyimply_1() -> Result<(), MinionError> {
+
fn test_watchedor_reifyimply_1() -> Result<(), MinionError> {
30
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let mut model = Model::new();
+
    let mut model = Model::new();
31
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    model
+
    model
32
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .named_variables
+
        .named_variables
33
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .add_var(String::from("a"), VarDomain::Bool);
+
        .add_var(String::from("a"), VarDomain::Bool);
34
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    model
+
    model
35
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .named_variables
+
        .named_variables
36
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .add_var(String::from("b"), VarDomain::Bool);
+
        .add_var(String::from("b"), VarDomain::Bool);
37
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    model
+
    model
38
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .named_variables
+
        .named_variables
39
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        .add_var(String::from("c"), VarDomain::Bool);
+
        .add_var(String::from("c"), VarDomain::Bool);
40
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
41
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    model.constraints.push(Constraint::ReifyImply(
+
    model.constraints.push(Constraint::ReifyImply(
42
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Box::new(Constraint::WatchedOr(vec![
+
        Box::new(Constraint::WatchedOr(vec![
43
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Constraint::WInset(Var::NameRef(String::from("a")), vec![Constant::Bool(true)]),
+
            Constraint::WInset(Var::NameRef(String::from("a")), vec![Constant::Bool(true)]),
44
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
            Constraint::WInset(Var::NameRef(String::from("b")), vec![Constant::Bool(false)]),
+
            Constraint::WInset(Var::NameRef(String::from("b")), vec![Constant::Bool(false)]),
45
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        ])),
+
        ])),
46
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
        Var::NameRef(String::from("c")),
+
        Var::NameRef(String::from("c")),
47
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    ));
+
    ));
48
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-

+                

             
49
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    minion_rs::run_minion(model, callback)?;
+
    minion_rs::run_minion(model, callback)?;
51
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let guard = SOLS_COUNTER.lock().unwrap();
+
    let guard = SOLS_COUNTER.lock().unwrap();
52
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    assert_eq!(*guard, 7);
+
    assert_eq!(*guard, 7);
53
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    assert_ne!(get_from_table("Nodes".into()), None);
+
    assert_ne!(get_from_table("Nodes".into()), None);
54
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    Ok(())
+
    Ok(())
55
- 1 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}
58
- 7 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
fn callback(_: HashMap<VarName, Constant>) -> bool {
+
fn callback(_: HashMap<VarName, Constant>) -> bool {
59
- 7 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    #[allow(clippy::unwrap_used)]
+
    #[allow(clippy::unwrap_used)]
60
- 7 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    let mut guard = SOLS_COUNTER.lock().unwrap();
+
    let mut guard = SOLS_COUNTER.lock().unwrap();
61
- 7 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    *guard += 1;
+
    *guard += 1;
62
- 7 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
    true
+
    true
63
- 7 + class="column is-1 is-narrow p-0 has-text-centered has-text-danger-light has-background-danger" + role="cell" aria-label="0"> +
-
-
}
+
}