[INFO] cloning repository https://github.com/hayeb/loz
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/hayeb/loz" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhayeb%2Floz", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhayeb%2Floz'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 1f99bc4e0b819577fe53466817806bb5c1b6eb47
[INFO] testing hayeb/loz against beta-2021-08-01 for beta-1.55-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fhayeb%2Floz" "/workspace/builds/worker-8/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-8/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/hayeb/loz on toolchain beta-2021-08-01
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/hayeb/loz
[INFO] finished tweaking git repo https://github.com/hayeb/loz
[INFO] tweaked toml for git repo https://github.com/hayeb/loz written to /workspace/builds/worker-8/source/Cargo.toml
[INFO] crate git repo https://github.com/hayeb/loz already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating git repository `https://github.com/TheDan64/inkwell`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded llvm-sys v90.2.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] f2e33d2810a37fd181f62b878508e99f9947ae6b1cd915df14bc16e56b39f0ea
[INFO] running `Command { std: "docker" "start" "-a" "f2e33d2810a37fd181f62b878508e99f9947ae6b1cd915df14bc16e56b39f0ea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f2e33d2810a37fd181f62b878508e99f9947ae6b1cd915df14bc16e56b39f0ea", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f2e33d2810a37fd181f62b878508e99f9947ae6b1cd915df14bc16e56b39f0ea", kill_on_drop: false }`
[INFO] [stdout] f2e33d2810a37fd181f62b878508e99f9947ae6b1cd915df14bc16e56b39f0ea
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-8/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2021-08-01" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e62d3387430d1edf28a79976b4a25f9f00393ce9a53c5e653d64e951c5127b7e
[INFO] running `Command { std: "docker" "start" "-a" "e62d3387430d1edf28a79976b4a25f9f00393ce9a53c5e653d64e951c5127b7e", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.80
[INFO] [stderr]    Compiling regex-syntax v0.6.21
[INFO] [stderr]    Compiling syn v1.0.53
[INFO] [stderr]    Compiling smallvec v1.5.0
[INFO] [stderr]    Compiling inkwell v0.1.0 (https://github.com/TheDan64/inkwell?branch=llvm9-0#bd7d0214)
[INFO] [stderr]    Compiling fixedbitset v0.2.0
[INFO] [stderr]    Compiling once_cell v1.5.2
[INFO] [stderr]    Compiling number_prefix v0.4.0
[INFO] [stderr]    Compiling lock_api v0.4.2
[INFO] [stderr]    Compiling itertools v0.9.0
[INFO] [stderr]    Compiling quote v1.0.7
[INFO] [stderr]    Compiling petgraph v0.5.1
[INFO] [stderr]    Compiling parking_lot_core v0.8.0
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling clap v2.33.3
[INFO] [stderr]    Compiling parking_lot v0.11.1
[INFO] [stderr]    Compiling regex v1.4.2
[INFO] [stderr]    Compiling pest_generator v2.1.3
[INFO] [stderr]    Compiling inkwell_internals v0.2.0 (https://github.com/TheDan64/inkwell?branch=llvm9-0#bd7d0214)
[INFO] [stderr]    Compiling pest_derive v2.1.0
[INFO] [stderr]    Compiling llvm-sys v90.2.0
[INFO] [stderr]    Compiling loz-compiler v0.1.0 (/opt/rustwide/workdir/core/compiler)
[INFO] [stdout] error: expected pattern, found `}`
[INFO] [stdout]   --> core/compiler/src/rewriter/extractor.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |         }
[INFO] [stdout]    |         ^ expected pattern
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `function_bodies` in this scope
[INFO] [stdout]   --> core/compiler/src/rewriter/extractor.rs:29:9
[INFO] [stdout]    |
[INFO] [stdout] 29 |         function_bodies,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^ help: a local variable with a similar name exists: `function_type`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `n` in this scope
[INFO] [stdout]   --> core/compiler/src/rewriter/extractor.rs:70:60
[INFO] [stdout]    |
[INFO] [stdout] 70 |             let (es, lambdas) = free_variables_expressions(n, es);
[INFO] [stdout]    |                                                            ^ help: a local variable with a similar name exists: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `n` in this scope
[INFO] [stdout]   --> core/compiler/src/rewriter/extractor.rs:78:60
[INFO] [stdout]    |
[INFO] [stdout] 78 |             let (es, lambdas) = free_variables_expressions(n, es);
[INFO] [stdout]    |                                                            ^ help: a local variable with a similar name exists: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `n` in this scope
[INFO] [stdout]   --> core/compiler/src/rewriter/extractor.rs:89:67
[INFO] [stdout]    |
[INFO] [stdout] 89 |             let (he, te, lambdas) = free_variables_expression_duo(n, he, te);
[INFO] [stdout]    |                                                                   ^ help: a local variable with a similar name exists: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `n` in this scope
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:102:60
[INFO] [stdout]     |
[INFO] [stdout] 102 |             let (es, lambdas) = free_variables_expressions(n, blie);
[INFO] [stdout]     |                                                            ^ help: a local variable with a similar name exists: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `n` in this scope
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:118:57
[INFO] [stdout]     |
[INFO] [stdout] 118 |                 let (e, nl) = free_variables_expression(n, e);
[INFO] [stdout]     |                                                         ^ help: a local variable with a similar name exists: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `n` in this scope
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:136:65
[INFO] [stdout]     |
[INFO] [stdout] 136 |             let (ir_e, new_lambdas) = free_variables_expression(n, e);
[INFO] [stdout]     |                                                                 ^ help: a local variable with a similar name exists: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `n` in this scope
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:141:69
[INFO] [stdout]     |
[INFO] [stdout] 141 |                 let (ir_e, new_lambdas) = free_variables_expression(n, &r.result_rule);
[INFO] [stdout]     |                                                                     ^ help: a local variable with a similar name exists: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `n` in this scope
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:162:63
[INFO] [stdout]     |
[INFO] [stdout] 162 |             let (ir_es, lambdas) = free_variables_expressions(n, es);
[INFO] [stdout]     |                                                               ^ help: a local variable with a similar name exists: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `n` in this scope
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:179:61
[INFO] [stdout]     |
[INFO] [stdout] 179 |             let (ir_e, lambdas) = free_variables_expression(n, e);
[INFO] [stdout]     |                                                             ^ help: a local variable with a similar name exists: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `n` in this scope
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:183:61
[INFO] [stdout]     |
[INFO] [stdout] 183 |             let (ir_e, lambdas) = free_variables_expression(n, e);
[INFO] [stdout]     |                                                             ^ help: a local variable with a similar name exists: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `n` in this scope
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:188:73
[INFO] [stdout]     |
[INFO] [stdout] 188 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                                                                         ^ help: a local variable with a similar name exists: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `n` in this scope
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:195:73
[INFO] [stdout]     |
[INFO] [stdout] 195 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                                                                         ^ help: a local variable with a similar name exists: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `n` in this scope
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:202:73
[INFO] [stdout]     |
[INFO] [stdout] 202 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                                                                         ^ help: a local variable with a similar name exists: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `n` in this scope
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:209:73
[INFO] [stdout]     |
[INFO] [stdout] 209 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                                                                         ^ help: a local variable with a similar name exists: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `n` in this scope
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:213:73
[INFO] [stdout]     |
[INFO] [stdout] 213 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                                                                         ^ help: a local variable with a similar name exists: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `n` in this scope
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:220:73
[INFO] [stdout]     |
[INFO] [stdout] 220 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                                                                         ^ help: a local variable with a similar name exists: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `n` in this scope
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:227:73
[INFO] [stdout]     |
[INFO] [stdout] 227 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                                                                         ^ help: a local variable with a similar name exists: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `n` in this scope
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:234:73
[INFO] [stdout]     |
[INFO] [stdout] 234 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                                                                         ^ help: a local variable with a similar name exists: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `n` in this scope
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:241:73
[INFO] [stdout]     |
[INFO] [stdout] 241 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                                                                         ^ help: a local variable with a similar name exists: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `n` in this scope
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:248:73
[INFO] [stdout]     |
[INFO] [stdout] 248 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                                                                         ^ help: a local variable with a similar name exists: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `n` in this scope
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:252:73
[INFO] [stdout]     |
[INFO] [stdout] 252 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                                                                         ^ help: a local variable with a similar name exists: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `n` in this scope
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:259:73
[INFO] [stdout]     |
[INFO] [stdout] 259 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                                                                         ^ help: a local variable with a similar name exists: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `n` in this scope
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:263:73
[INFO] [stdout]     |
[INFO] [stdout] 263 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                                                                         ^ help: a local variable with a similar name exists: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `n` in this scope
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:267:73
[INFO] [stdout]     |
[INFO] [stdout] 267 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                                                                         ^ help: a local variable with a similar name exists: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `n` in this scope
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:271:73
[INFO] [stdout]     |
[INFO] [stdout] 271 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                                                                         ^ help: a local variable with a similar name exists: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `n` in this scope
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:276:73
[INFO] [stdout]     |
[INFO] [stdout] 276 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, el, er);
[INFO] [stdout]     |                                                                         ^ help: a local variable with a similar name exists: `e`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `n` in this scope
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:289:39
[INFO] [stdout]     |
[INFO] [stdout] 289 |             let lambda_name = Rc::new(n.lambda());
[INFO] [stdout]     |                                       ^ help: a local variable with a similar name exists: `a`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `add_closure_variables_to_type` in this scope
[INFO] [stdout]   --> core/compiler/src/rewriter.rs:65:21
[INFO] [stdout]    |
[INFO] [stdout] 65 |     let functions = add_closure_variables_to_type(functions);
[INFO] [stdout]    |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::rewriter::extractor::extract_closure_variables`
[INFO] [stdout]   --> core/compiler/src/rewriter.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::rewriter::extractor::extract_closure_variables;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: a value of type `std::collections::HashSet<std::rc::Rc<String>>` cannot be built from an iterator over elements of type `&std::rc::Rc<String>`
[INFO] [stdout]   --> core/compiler/src/rewriter/extractor.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 |         .collect();
[INFO] [stdout]    |          ^^^^^^^ value of type `std::collections::HashSet<std::rc::Rc<String>>` cannot be built from `std::iter::Iterator<Item=&std::rc::Rc<String>>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FromIterator<&std::rc::Rc<String>>` is not implemented for `std::collections::HashSet<std::rc::Rc<String>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: a value of type `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>` cannot be built from an iterator over elements of type `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]   --> core/compiler/src/rewriter/extractor.rs:55:10
[INFO] [stdout]    |
[INFO] [stdout] 55 |         .collect()
[INFO] [stdout]    |          ^^^^^^^ value of type `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>` cannot be built from `std::iter::Iterator<Item=Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>>`
[INFO] [stdout]    |
[INFO] [stdout]    = help: the trait `FromIterator<Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>>` is not implemented for `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> core/compiler/src/rewriter/extractor.rs:70:63
[INFO] [stdout]    |
[INFO] [stdout] 70 |             let (es, lambdas) = free_variables_expressions(n, es);
[INFO] [stdout]    |                                                               ^^ expected struct `std::collections::HashSet`, found struct `Vec`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected reference `&std::collections::HashSet<std::rc::Rc<String>>`
[INFO] [stdout]               found reference `&Vec<std::rc::Rc<ast::Expression>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> core/compiler/src/rewriter/extractor.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 61 | ) -> Vec<(Rc<String>, Rc<Type>)> {
[INFO] [stdout]    |      --------------------------- expected `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>` because of return type
[INFO] [stdout] ...
[INFO] [stdout] 71 |             (Rc::new(Expression::TupleLiteral(loc.clone(), es)), lambdas)
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected struct `Vec`, found tuple
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]                found tuple `(std::rc::Rc<ast::Expression>, Vec<std::rc::Rc<ast::FunctionDefinition>>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> core/compiler/src/rewriter/extractor.rs:78:63
[INFO] [stdout]    |
[INFO] [stdout] 78 |             let (es, lambdas) = free_variables_expressions(n, es);
[INFO] [stdout]    |                                                               ^^ expected struct `std::collections::HashSet`, found struct `Vec`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected reference `&std::collections::HashSet<std::rc::Rc<String>>`
[INFO] [stdout]               found reference `&Vec<std::rc::Rc<ast::Expression>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> core/compiler/src/rewriter/extractor.rs:79:13
[INFO] [stdout]    |
[INFO] [stdout] 61 |   ) -> Vec<(Rc<String>, Rc<Type>)> {
[INFO] [stdout]    |        --------------------------- expected `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>` because of return type
[INFO] [stdout] ...
[INFO] [stdout] 79 | /             (
[INFO] [stdout] 80 | |                 Rc::new(Expression::ShorthandListLiteral(
[INFO] [stdout] 81 | |                     loc.clone(),
[INFO] [stdout] 82 | |                     list_type.clone(),
[INFO] [stdout] ...  |
[INFO] [stdout] 85 | |                 lambdas,
[INFO] [stdout] 86 | |             )
[INFO] [stdout]    | |_____________^ expected struct `Vec`, found tuple
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]                found tuple `(std::rc::Rc<ast::Expression>, Vec<std::rc::Rc<ast::FunctionDefinition>>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> core/compiler/src/rewriter/extractor.rs:89:74
[INFO] [stdout]    |
[INFO] [stdout] 89 |             let (he, te, lambdas) = free_variables_expression_duo(n, he, te);
[INFO] [stdout]    |                                                                          ^^ expected struct `std::collections::HashSet`, found struct `std::rc::Rc`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected reference `&std::collections::HashSet<std::rc::Rc<String>>`
[INFO] [stdout]               found reference `&std::rc::Rc<ast::Expression>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> core/compiler/src/rewriter/extractor.rs:89:17
[INFO] [stdout]    |
[INFO] [stdout] 89 |             let (he, te, lambdas) = free_variables_expression_duo(n, he, te);
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^   ---------------------------------------- this expression has type `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]    |                 |
[INFO] [stdout]    |                 expected struct `Vec`, found tuple
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected struct `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]                found tuple `(_, _, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:102:63
[INFO] [stdout]     |
[INFO] [stdout] 102 |             let (es, lambdas) = free_variables_expressions(n, blie);
[INFO] [stdout]     |                                                               ^^^^ expected struct `std::collections::HashSet`, found struct `Vec`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&std::collections::HashSet<std::rc::Rc<String>>`
[INFO] [stdout]                found reference `&Vec<std::rc::Rc<ast::Expression>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:103:13
[INFO] [stdout]     |
[INFO] [stdout] 61  |   ) -> Vec<(Rc<String>, Rc<Type>)> {
[INFO] [stdout]     |        --------------------------- expected `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>` because of return type
[INFO] [stdout] ...
[INFO] [stdout] 103 | /             (
[INFO] [stdout] 104 | |                 Rc::new(Expression::ADTTypeConstructor(
[INFO] [stdout] 105 | |                     loc.clone(),
[INFO] [stdout] 106 | |                     adt_type.clone(),
[INFO] [stdout] ...   |
[INFO] [stdout] 110 | |                 lambdas,
[INFO] [stdout] 111 | |             )
[INFO] [stdout]     | |_____________^ expected struct `Vec`, found tuple
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]                 found tuple `(std::rc::Rc<ast::Expression>, Vec<std::rc::Rc<ast::FunctionDefinition>>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:118:60
[INFO] [stdout]     |
[INFO] [stdout] 118 |                 let (e, nl) = free_variables_expression(n, e);
[INFO] [stdout]     |                                                            ^ expected struct `std::collections::HashSet`, found struct `std::rc::Rc`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&std::collections::HashSet<std::rc::Rc<String>>`
[INFO] [stdout]                found reference `&std::rc::Rc<ast::Expression>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:118:21
[INFO] [stdout]     |
[INFO] [stdout] 118 |                 let (e, nl) = free_variables_expression(n, e);
[INFO] [stdout]     |                     ^^^^^^^   ------------------------------- this expression has type `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     expected struct `Vec`, found tuple
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]                 found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:124:13
[INFO] [stdout]     |
[INFO] [stdout] 61  |   ) -> Vec<(Rc<String>, Rc<Type>)> {
[INFO] [stdout]     |        --------------------------- expected `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>` because of return type
[INFO] [stdout] ...
[INFO] [stdout] 124 | /             (
[INFO] [stdout] 125 | |                 Rc::new(Expression::Record(
[INFO] [stdout] 126 | |                     loc.clone(),
[INFO] [stdout] 127 | |                     record_type.clone(),
[INFO] [stdout] ...   |
[INFO] [stdout] 131 | |                 lambdas,
[INFO] [stdout] 132 | |             )
[INFO] [stdout]     | |_____________^ expected struct `Vec`, found tuple
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]                 found tuple `(std::rc::Rc<ast::Expression>, Vec<_>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:136:68
[INFO] [stdout]     |
[INFO] [stdout] 136 |             let (ir_e, new_lambdas) = free_variables_expression(n, e);
[INFO] [stdout]     |                                                                    ^ expected struct `std::collections::HashSet`, found struct `std::rc::Rc`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&std::collections::HashSet<std::rc::Rc<String>>`
[INFO] [stdout]                found reference `&std::rc::Rc<ast::Expression>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:136:17
[INFO] [stdout]     |
[INFO] [stdout] 136 |             let (ir_e, new_lambdas) = free_variables_expression(n, e);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^   ------------------------------- this expression has type `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 expected struct `Vec`, found tuple
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]                 found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:141:72
[INFO] [stdout]     |
[INFO] [stdout] 141 |                 let (ir_e, new_lambdas) = free_variables_expression(n, &r.result_rule);
[INFO] [stdout]     |                                                                        ^^^^^^^^^^^^^^ expected struct `std::collections::HashSet`, found struct `std::rc::Rc`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&std::collections::HashSet<std::rc::Rc<String>>`
[INFO] [stdout]                found reference `&std::rc::Rc<ast::Expression>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:141:21
[INFO] [stdout]     |
[INFO] [stdout] 141 |                 let (ir_e, new_lambdas) = free_variables_expression(n, &r.result_rule);
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^   -------------------------------------------- this expression has type `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     expected struct `Vec`, found tuple
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]                 found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:151:13
[INFO] [stdout]     |
[INFO] [stdout] 61  |   ) -> Vec<(Rc<String>, Rc<Type>)> {
[INFO] [stdout]     |        --------------------------- expected `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>` because of return type
[INFO] [stdout] ...
[INFO] [stdout] 151 | /             (
[INFO] [stdout] 152 | |                 Rc::new(Expression::Case(
[INFO] [stdout] 153 | |                     loc.clone(),
[INFO] [stdout] 154 | |                     ir_e,
[INFO] [stdout] ...   |
[INFO] [stdout] 158 | |                 lambdas,
[INFO] [stdout] 159 | |             )
[INFO] [stdout]     | |_____________^ expected struct `Vec`, found tuple
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]                 found tuple `(std::rc::Rc<ast::Expression>, Vec<_>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:162:66
[INFO] [stdout]     |
[INFO] [stdout] 162 |             let (ir_es, lambdas) = free_variables_expressions(n, es);
[INFO] [stdout]     |                                                                  ^^ expected struct `std::collections::HashSet`, found struct `Vec`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&std::collections::HashSet<std::rc::Rc<String>>`
[INFO] [stdout]                found reference `&Vec<std::rc::Rc<ast::Expression>>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:163:13
[INFO] [stdout]     |
[INFO] [stdout] 61  |   ) -> Vec<(Rc<String>, Rc<Type>)> {
[INFO] [stdout]     |        --------------------------- expected `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>` because of return type
[INFO] [stdout] ...
[INFO] [stdout] 163 | /             (
[INFO] [stdout] 164 | |                 Rc::new(Expression::Call(
[INFO] [stdout] 165 | |                     loc.clone(),
[INFO] [stdout] 166 | |                     function_type.clone(),
[INFO] [stdout] ...   |
[INFO] [stdout] 170 | |                 lambdas,
[INFO] [stdout] 171 | |             )
[INFO] [stdout]     | |_____________^ expected struct `Vec`, found tuple
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]                 found tuple `(std::rc::Rc<ast::Expression>, Vec<std::rc::Rc<ast::FunctionDefinition>>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:179:64
[INFO] [stdout]     |
[INFO] [stdout] 179 |             let (ir_e, lambdas) = free_variables_expression(n, e);
[INFO] [stdout]     |                                                                ^ expected struct `std::collections::HashSet`, found struct `std::rc::Rc`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&std::collections::HashSet<std::rc::Rc<String>>`
[INFO] [stdout]                found reference `&std::rc::Rc<ast::Expression>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:179:17
[INFO] [stdout]     |
[INFO] [stdout] 179 |             let (ir_e, lambdas) = free_variables_expression(n, e);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^   ------------------------------- this expression has type `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 expected struct `Vec`, found tuple
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]                 found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:183:64
[INFO] [stdout]     |
[INFO] [stdout] 183 |             let (ir_e, lambdas) = free_variables_expression(n, e);
[INFO] [stdout]     |                                                                ^ expected struct `std::collections::HashSet`, found struct `std::rc::Rc`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&std::collections::HashSet<std::rc::Rc<String>>`
[INFO] [stdout]                found reference `&std::rc::Rc<ast::Expression>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:183:17
[INFO] [stdout]     |
[INFO] [stdout] 183 |             let (ir_e, lambdas) = free_variables_expression(n, e);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^   ------------------------------- this expression has type `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 expected struct `Vec`, found tuple
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]                 found tuple `(_, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:188:80
[INFO] [stdout]     |
[INFO] [stdout] 188 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                                                                                ^^ expected struct `std::collections::HashSet`, found struct `std::rc::Rc`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&std::collections::HashSet<std::rc::Rc<String>>`
[INFO] [stdout]                found reference `&std::rc::Rc<ast::Expression>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:188:17
[INFO] [stdout]     |
[INFO] [stdout] 188 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^   ---------------------------------------- this expression has type `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 expected struct `Vec`, found tuple
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]                 found tuple `(_, _, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:195:80
[INFO] [stdout]     |
[INFO] [stdout] 195 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                                                                                ^^ expected struct `std::collections::HashSet`, found struct `std::rc::Rc`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&std::collections::HashSet<std::rc::Rc<String>>`
[INFO] [stdout]                found reference `&std::rc::Rc<ast::Expression>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:195:17
[INFO] [stdout]     |
[INFO] [stdout] 195 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^   ---------------------------------------- this expression has type `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 expected struct `Vec`, found tuple
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]                 found tuple `(_, _, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:202:80
[INFO] [stdout]     |
[INFO] [stdout] 202 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                                                                                ^^ expected struct `std::collections::HashSet`, found struct `std::rc::Rc`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&std::collections::HashSet<std::rc::Rc<String>>`
[INFO] [stdout]                found reference `&std::rc::Rc<ast::Expression>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:202:17
[INFO] [stdout]     |
[INFO] [stdout] 202 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^   ---------------------------------------- this expression has type `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 expected struct `Vec`, found tuple
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]                 found tuple `(_, _, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:209:80
[INFO] [stdout]     |
[INFO] [stdout] 209 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                                                                                ^^ expected struct `std::collections::HashSet`, found struct `std::rc::Rc`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&std::collections::HashSet<std::rc::Rc<String>>`
[INFO] [stdout]                found reference `&std::rc::Rc<ast::Expression>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:209:17
[INFO] [stdout]     |
[INFO] [stdout] 209 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^   ---------------------------------------- this expression has type `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 expected struct `Vec`, found tuple
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]                 found tuple `(_, _, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:213:80
[INFO] [stdout]     |
[INFO] [stdout] 213 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                                                                                ^^ expected struct `std::collections::HashSet`, found struct `std::rc::Rc`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&std::collections::HashSet<std::rc::Rc<String>>`
[INFO] [stdout]                found reference `&std::rc::Rc<ast::Expression>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:213:17
[INFO] [stdout]     |
[INFO] [stdout] 213 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^   ---------------------------------------- this expression has type `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 expected struct `Vec`, found tuple
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]                 found tuple `(_, _, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:220:80
[INFO] [stdout]     |
[INFO] [stdout] 220 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                                                                                ^^ expected struct `std::collections::HashSet`, found struct `std::rc::Rc`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&std::collections::HashSet<std::rc::Rc<String>>`
[INFO] [stdout]                found reference `&std::rc::Rc<ast::Expression>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:220:17
[INFO] [stdout]     |
[INFO] [stdout] 220 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^   ---------------------------------------- this expression has type `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 expected struct `Vec`, found tuple
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]                 found tuple `(_, _, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:227:80
[INFO] [stdout]     |
[INFO] [stdout] 227 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                                                                                ^^ expected struct `std::collections::HashSet`, found struct `std::rc::Rc`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&std::collections::HashSet<std::rc::Rc<String>>`
[INFO] [stdout]                found reference `&std::rc::Rc<ast::Expression>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:227:17
[INFO] [stdout]     |
[INFO] [stdout] 227 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^   ---------------------------------------- this expression has type `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 expected struct `Vec`, found tuple
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]                 found tuple `(_, _, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:234:80
[INFO] [stdout]     |
[INFO] [stdout] 234 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                                                                                ^^ expected struct `std::collections::HashSet`, found struct `std::rc::Rc`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&std::collections::HashSet<std::rc::Rc<String>>`
[INFO] [stdout]                found reference `&std::rc::Rc<ast::Expression>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:234:17
[INFO] [stdout]     |
[INFO] [stdout] 234 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^   ---------------------------------------- this expression has type `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 expected struct `Vec`, found tuple
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]                 found tuple `(_, _, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:241:80
[INFO] [stdout]     |
[INFO] [stdout] 241 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                                                                                ^^ expected struct `std::collections::HashSet`, found struct `std::rc::Rc`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&std::collections::HashSet<std::rc::Rc<String>>`
[INFO] [stdout]                found reference `&std::rc::Rc<ast::Expression>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:241:17
[INFO] [stdout]     |
[INFO] [stdout] 241 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^   ---------------------------------------- this expression has type `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 expected struct `Vec`, found tuple
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]                 found tuple `(_, _, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:248:80
[INFO] [stdout]     |
[INFO] [stdout] 248 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                                                                                ^^ expected struct `std::collections::HashSet`, found struct `std::rc::Rc`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&std::collections::HashSet<std::rc::Rc<String>>`
[INFO] [stdout]                found reference `&std::rc::Rc<ast::Expression>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:248:17
[INFO] [stdout]     |
[INFO] [stdout] 248 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^   ---------------------------------------- this expression has type `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 expected struct `Vec`, found tuple
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]                 found tuple `(_, _, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:252:80
[INFO] [stdout]     |
[INFO] [stdout] 252 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                                                                                ^^ expected struct `std::collections::HashSet`, found struct `std::rc::Rc`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&std::collections::HashSet<std::rc::Rc<String>>`
[INFO] [stdout]                found reference `&std::rc::Rc<ast::Expression>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:252:17
[INFO] [stdout]     |
[INFO] [stdout] 252 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^   ---------------------------------------- this expression has type `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 expected struct `Vec`, found tuple
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]                 found tuple `(_, _, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:259:80
[INFO] [stdout]     |
[INFO] [stdout] 259 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                                                                                ^^ expected struct `std::collections::HashSet`, found struct `std::rc::Rc`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&std::collections::HashSet<std::rc::Rc<String>>`
[INFO] [stdout]                found reference `&std::rc::Rc<ast::Expression>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:259:17
[INFO] [stdout]     |
[INFO] [stdout] 259 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^   ---------------------------------------- this expression has type `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 expected struct `Vec`, found tuple
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]                 found tuple `(_, _, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:263:80
[INFO] [stdout]     |
[INFO] [stdout] 263 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                                                                                ^^ expected struct `std::collections::HashSet`, found struct `std::rc::Rc`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&std::collections::HashSet<std::rc::Rc<String>>`
[INFO] [stdout]                found reference `&std::rc::Rc<ast::Expression>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:263:17
[INFO] [stdout]     |
[INFO] [stdout] 263 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^   ---------------------------------------- this expression has type `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 expected struct `Vec`, found tuple
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]                 found tuple `(_, _, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:267:80
[INFO] [stdout]     |
[INFO] [stdout] 267 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                                                                                ^^ expected struct `std::collections::HashSet`, found struct `std::rc::Rc`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&std::collections::HashSet<std::rc::Rc<String>>`
[INFO] [stdout]                found reference `&std::rc::Rc<ast::Expression>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:267:17
[INFO] [stdout]     |
[INFO] [stdout] 267 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^   ---------------------------------------- this expression has type `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 expected struct `Vec`, found tuple
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]                 found tuple `(_, _, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:271:80
[INFO] [stdout]     |
[INFO] [stdout] 271 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                                                                                ^^ expected struct `std::collections::HashSet`, found struct `std::rc::Rc`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&std::collections::HashSet<std::rc::Rc<String>>`
[INFO] [stdout]                found reference `&std::rc::Rc<ast::Expression>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:271:17
[INFO] [stdout]     |
[INFO] [stdout] 271 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, le, re);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^   ---------------------------------------- this expression has type `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 expected struct `Vec`, found tuple
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]                 found tuple `(_, _, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:276:80
[INFO] [stdout]     |
[INFO] [stdout] 276 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, el, er);
[INFO] [stdout]     |                                                                                ^^ expected struct `std::collections::HashSet`, found struct `std::rc::Rc`
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected reference `&std::collections::HashSet<std::rc::Rc<String>>`
[INFO] [stdout]                found reference `&std::rc::Rc<ast::Expression>`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:276:17
[INFO] [stdout]     |
[INFO] [stdout] 276 |             let (ir_le, ir_re, lambdas) = free_variables_expression_duo(n, el, er);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^   ---------------------------------------- this expression has type `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]     |                 |
[INFO] [stdout]     |                 expected struct `Vec`, found tuple
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]                 found tuple `(_, _, _)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `clone` found for struct `std::rc::Rc<_>` in the current scope
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:294:33
[INFO] [stdout]     |
[INFO] [stdout] 294 |                     lambda_name.clone(),
[INFO] [stdout]     |                                 ^^^^^ method not found in `std::rc::Rc<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `lambda_name` is a function, perhaps you wish to call it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `clone` found for struct `std::rc::Rc<_>` in the current scope
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:299:39
[INFO] [stdout]     |
[INFO] [stdout] 299 |                     name: lambda_name.clone(),
[INFO] [stdout]     |                                       ^^^^^ method not found in `std::rc::Rc<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `lambda_name` is a function, perhaps you wish to call it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `clone` found for struct `std::rc::Rc<_>` in the current scope
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:305:43
[INFO] [stdout]     |
[INFO] [stdout] 305 |                         name: lambda_name.clone(),
[INFO] [stdout]     |                                           ^^^^^ method not found in `std::rc::Rc<_>`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `lambda_name` is a function, perhaps you wish to call it
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:290:13
[INFO] [stdout]     |
[INFO] [stdout] 61  |   ) -> Vec<(Rc<String>, Rc<Type>)> {
[INFO] [stdout]     |        --------------------------- expected `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>` because of return type
[INFO] [stdout] ...
[INFO] [stdout] 290 | /             (
[INFO] [stdout] 291 | |                 Rc::new(Expression::Call(
[INFO] [stdout] 292 | |                     loc.clone(),
[INFO] [stdout] 293 | |                     lambda_type.clone(),
[INFO] [stdout] ...   |
[INFO] [stdout] 317 | |                 })],
[INFO] [stdout] 318 | |             )
[INFO] [stdout]     | |_____________^ expected struct `Vec`, found tuple
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected struct `Vec<(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]                 found tuple `(std::rc::Rc<ast::Expression>, Vec<std::rc::Rc<ast::FunctionDefinition>>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: a value of type `(Vec<std::rc::Rc<ast::Expression>>, Vec<std::rc::Rc<ast::FunctionDefinition>>)` cannot be built from an iterator over elements of type `(std::rc::Rc<String>, std::rc::Rc<Type>)`
[INFO] [stdout]    --> core/compiler/src/rewriter/extractor.rs:339:10
[INFO] [stdout]     |
[INFO] [stdout] 339 |         .collect()
[INFO] [stdout]     |          ^^^^^^^ value of type `(Vec<std::rc::Rc<ast::Expression>>, Vec<std::rc::Rc<ast::FunctionDefinition>>)` cannot be built from `std::iter::Iterator<Item=(std::rc::Rc<String>, std::rc::Rc<Type>)>`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `FromIterator<(std::rc::Rc<String>, std::rc::Rc<Type>)>` is not implemented for `(Vec<std::rc::Rc<ast::Expression>>, Vec<std::rc::Rc<ast::FunctionDefinition>>)`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 91 previous errors; 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0425, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `loz-compiler` due to 92 previous errors; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "e62d3387430d1edf28a79976b4a25f9f00393ce9a53c5e653d64e951c5127b7e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e62d3387430d1edf28a79976b4a25f9f00393ce9a53c5e653d64e951c5127b7e", kill_on_drop: false }`
[INFO] [stdout] e62d3387430d1edf28a79976b4a25f9f00393ce9a53c5e653d64e951c5127b7e
