[INFO] updating cached repository https://github.com/CrystalGamma/oxide
[INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"`
[INFO] running `"git" "rev-parse" "HEAD"`
[INFO] [stdout] a57beed551fbb87d422c665969eb5d3c31c261a7
[INFO] checking CrystalGamma/oxide against master#209b2be09fcaff937480d1fbbe8b31646e361c7a for pr-70917
[INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FCrystalGamma%2Foxide" "/workspace/builds/worker-4/source"`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/CrystalGamma/oxide on toolchain 209b2be09fcaff937480d1fbbe8b31646e361c7a
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "read-manifest" "--manifest-path" "Cargo.toml"`
[INFO] started tweaking git repo https://github.com/CrystalGamma/oxide
[INFO] finished tweaking git repo https://github.com/CrystalGamma/oxide
[INFO] tweaked toml for git repo https://github.com/CrystalGamma/oxide written to /workspace/builds/worker-4/source/Cargo.toml
[INFO] crate git repo https://github.com/CrystalGamma/oxide already has a lockfile, it will not be regenerated
[INFO] running `"/workspace/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "fetch" "--locked" "--manifest-path" "Cargo.toml"`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4/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" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+209b2be09fcaff937480d1fbbe8b31646e361c7a" "check" "--frozen" "--all" "--all-targets"`
[INFO] [stdout] c34151f0201aade53612b2c6f2728823be8715de87fe76772db0611a309a475f
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `"docker" "start" "-a" "c34151f0201aade53612b2c6f2728823be8715de87fe76772db0611a309a475f"`
[INFO] [stderr]     Checking compile v0.0.1 (/opt/rustwide/workdir)
[INFO] [stderr] error: expected parameter name, found `:`
[INFO] [stderr]   --> src/main.rs:67:10
[INFO] [stderr]    |
[INFO] [stderr] 66 |                         Record(None, ref cont) => content.iter().zip(cont.iter()).map(
[INFO] [stderr]    |                                                -- while parsing the `match` arm starting here
[INFO] [stderr] 67 |                             |&: (a, b)| superimpose(b, &func.values[*a].typ).unwrap()
[INFO] [stderr]    |                               ^ expected parameter name
[INFO] [stderr] 
[INFO] [stderr] error: expected parameter name, found `:`
[INFO] [stderr]   --> src/main.rs:67:10
[INFO] [stderr]    |
[INFO] [stderr] 66 |                         Record(None, ref cont) => content.iter().zip(cont.iter()).map(
[INFO] [stderr]    |                                                -- while parsing the `match` arm starting here
[INFO] [stderr] 67 |                             |&: (a, b)| superimpose(b, &func.values[*a].typ).unwrap()
[INFO] [stderr]    |                               ^ expected parameter name
[INFO] [stderr] 
[INFO] [stderr] error: invalid suffix `u` for integer literal
[INFO] [stderr]    --> src/main.rs:166:63
[INFO] [stderr]     |
[INFO] [stderr] 166 |     }), Function { blocks: vec![BBlock { vars: param, ops: vec![(0u, Tuple(Vec::new())), (1u, Return(0u32))], goto: DeadEnd }], values: vec![Value { typ: Record(None, Vec::new()), value: ValueKnowledge, pos: CodeReference }], type_params: vec!["Drop"] });
[INFO] [stderr]     |                                                                  ^^ invalid suffix `u`
[INFO] [stderr]     |
[INFO] [stderr]     = help: the suffix must be one of the integral types (`u32`, `isize`, etc)
[INFO] [stderr] 
[INFO] [stderr] error: cannot find derive macro `Show` in this scope
[INFO] [stderr]  --> src/main.rs:3:10
[INFO] [stderr]   |
[INFO] [stderr] 3 | #[derive(Show, PartialEq)]
[INFO] [stderr]   |          ^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find derive macro `Show` in this scope
[INFO] [stderr]  --> src/main.rs:5:10
[INFO] [stderr]   |
[INFO] [stderr] 5 | #[derive(Show, PartialEq)]
[INFO] [stderr]   |          ^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find derive macro `Show` in this scope
[INFO] [stderr]  --> src/main.rs:8:28
[INFO] [stderr]   |
[INFO] [stderr] 8 | #[derive(PartialEq, Clone, Show)]
[INFO] [stderr]   |                            ^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find derive macro `Show` in this scope
[INFO] [stderr]   --> src/main.rs:14:10
[INFO] [stderr]    |
[INFO] [stderr] 14 | #[derive(Show, PartialEq)]
[INFO] [stderr]    |          ^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find derive macro `Show` in this scope
[INFO] [stderr]   --> src/main.rs:21:10
[INFO] [stderr]    |
[INFO] [stderr] 21 | #[derive(Show, PartialEq)]
[INFO] [stderr]    |          ^^^^
[INFO] [stderr] 
[INFO] [stderr] error: invalid suffix `u` for integer literal
[INFO] [stderr]    --> src/main.rs:166:88
[INFO] [stderr]     |
[INFO] [stderr] 166 |     }), Function { blocks: vec![BBlock { vars: param, ops: vec![(0u, Tuple(Vec::new())), (1u, Return(0u32))], goto: DeadEnd }], values: vec![Value { typ: Record(None, Vec::new()), value: ValueKnowledge, pos: CodeReference }], type_params: vec!["Drop"] });
[INFO] [stderr]     |                                                                                           ^^ invalid suffix `u`
[INFO] [stderr]     |
[INFO] [stderr]     = help: the suffix must be one of the integral types (`u32`, `isize`, etc)
[INFO] [stderr] 
[INFO] [stderr] error: cannot find derive macro `Show` in this scope
[INFO] [stderr]  --> src/main.rs:3:10
[INFO] [stderr]   |
[INFO] [stderr] 3 | #[derive(Show, PartialEq)]
[INFO] [stderr]   |          ^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find derive macro `Show` in this scope
[INFO] [stderr]  --> src/main.rs:5:10
[INFO] [stderr]   |
[INFO] [stderr] 5 | #[derive(Show, PartialEq)]
[INFO] [stderr]   |          ^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find derive macro `Show` in this scope
[INFO] [stderr]  --> src/main.rs:8:28
[INFO] [stderr]   |
[INFO] [stderr] 8 | #[derive(PartialEq, Clone, Show)]
[INFO] [stderr]   |                            ^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find derive macro `Show` in this scope
[INFO] [stderr]   --> src/main.rs:14:10
[INFO] [stderr]    |
[INFO] [stderr] 14 | #[derive(Show, PartialEq)]
[INFO] [stderr]    |          ^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find derive macro `Show` in this scope
[INFO] [stderr]   --> src/main.rs:21:10
[INFO] [stderr]    |
[INFO] [stderr] 21 | #[derive(Show, PartialEq)]
[INFO] [stderr]    |          ^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find derive macro `Show` in this scope
[INFO] [stderr]   --> src/main.rs:28:10
[INFO] [stderr]    |
[INFO] [stderr] 28 | #[derive(Show, PartialEq)]
[INFO] [stderr]    |          ^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find derive macro `Show` in this scope
[INFO] [stderr]   --> src/main.rs:41:10
[INFO] [stderr]    |
[INFO] [stderr] 41 | #[derive(Show, PartialEq)]
[INFO] [stderr]    |          ^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find derive macro `Show` in this scope
[INFO] [stderr]   --> src/main.rs:48:10
[INFO] [stderr]    |
[INFO] [stderr] 48 | #[derive(Show, PartialEq)]
[INFO] [stderr]    |          ^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find derive macro `Show` in this scope
[INFO] [stderr]   --> src/main.rs:55:10
[INFO] [stderr]    |
[INFO] [stderr] 55 | #[derive(Show)]
[INFO] [stderr]    |          ^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0425]: cannot find value `DeadEnd` in this scope
[INFO] [stderr]    --> src/main.rs:166:114
[INFO] [stderr]     |
[INFO] [stderr] 166 |     }), Function { blocks: vec![BBlock { vars: param, ops: vec![(0u, Tuple(Vec::new())), (1u, Return(0u32))], goto: DeadEnd }], values: vec![Value { typ: Record(None, Vec::new()), value: ValueKnowledge, pos: CodeReference }], type_params: vec!["Drop"] });
[INFO] [stderr]     |                                                                                                                     ^^^^^^^ not found in this scope
[INFO] [stderr]     |
[INFO] [stderr] help: possible candidate is found in another module, you can import it into scope
[INFO] [stderr]     |
[INFO] [stderr] 1   | use Goto::DeadEnd;
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] error: cannot find derive macro `Show` in this scope
[INFO] [stderr]   --> src/main.rs:28:10
[INFO] [stderr]    |
[INFO] [stderr] 28 | #[derive(Show, PartialEq)]
[INFO] [stderr]    |          ^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find derive macro `Show` in this scope
[INFO] [stderr]   --> src/main.rs:41:10
[INFO] [stderr]    |
[INFO] [stderr] 41 | #[derive(Show, PartialEq)]
[INFO] [stderr]    |          ^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find derive macro `Show` in this scope
[INFO] [stderr]   --> src/main.rs:48:10
[INFO] [stderr]    |
[INFO] [stderr] 48 | #[derive(Show, PartialEq)]
[INFO] [stderr]    |          ^^^^
[INFO] [stderr] 
[INFO] [stderr] error: cannot find derive macro `Show` in this scope
[INFO] [stderr]   --> src/main.rs:55:10
[INFO] [stderr]    |
[INFO] [stderr] 55 | #[derive(Show)]
[INFO] [stderr]    |          ^^^^
[INFO] [stderr] 
[INFO] [stderr] error[E0601]: `main` function not found in crate `compile`
[INFO] [stderr]    --> src/main.rs:1:1
[INFO] [stderr]     |
[INFO] [stderr] 1   | / use std::collections::HashMap;
[INFO] [stderr] 2   | |
[INFO] [stderr] 3   | | #[derive(Show, PartialEq)]
[INFO] [stderr] 4   | | struct ValueKnowledge;
[INFO] [stderr] ...   |
[INFO] [stderr] 166 | |     }), Function { blocks: vec![BBlock { vars: param, ops: vec![(0u, Tuple(Vec::new())), (1u, Return(0u32))], goto: DeadEnd }], values: vec![Value { typ: Record(None, Vec::new()), value: ValueKnowledge, pos: CodeReference }], type_params: vec!["Drop"] });
[INFO] [stderr] 167 | | }
[INFO] [stderr]     | |_^ consider adding a `main` function to `src/main.rs`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable call
[INFO] [stderr]   --> src/main.rs:65:29
[INFO] [stderr]    |
[INFO] [stderr] 65 |                       func.values[pos].typ = Record(None, match func.values[pos].typ {
[INFO] [stderr]    |  ____________________________________________^^^^^^_______-
[INFO] [stderr]    | |                                            |
[INFO] [stderr]    | |                                            unreachable call
[INFO] [stderr] 66 | |                         Record(None, ref cont) => content.iter().zip(cont.iter()).map(
[INFO] [stderr] 67 | |                             |&: (a, b)| superimpose(b, &func.values[*a].typ).unwrap()
[INFO] [stderr] 68 | |                         ).collect(),
[INFO] [stderr] ...  |
[INFO] [stderr] 71 | |                         _ => return Err(TypeError)
[INFO] [stderr] 72 | |                     });
[INFO] [stderr]    | |_____________________- any code following this expression is unreachable
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unreachable_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable call
[INFO] [stderr]   --> src/main.rs:65:29
[INFO] [stderr]    |
[INFO] [stderr] 65 |                       func.values[pos].typ = Record(None, match func.values[pos].typ {
[INFO] [stderr]    |  ____________________________________________^^^^^^_______-
[INFO] [stderr]    | |                                            |
[INFO] [stderr]    | |                                            unreachable call
[INFO] [stderr] 66 | |                         Record(None, ref cont) => content.iter().zip(cont.iter()).map(
[INFO] [stderr] 67 | |                             |&: (a, b)| superimpose(b, &func.values[*a].typ).unwrap()
[INFO] [stderr] 68 | |                         ).collect(),
[INFO] [stderr] ...  |
[INFO] [stderr] 71 | |                         _ => return Err(TypeError)
[INFO] [stderr] 72 | |                     });
[INFO] [stderr]    | |_____________________- any code following this expression is unreachable
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unreachable_code)]` on by default
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `unwrap` found for enum `std::result::Result<Type, TypeError>` in the current scope
[INFO] [stderr]    --> src/main.rs:107:71
[INFO] [stderr]     |
[INFO] [stderr] 56  | struct TypeError;
[INFO] [stderr]     | ----------------- doesn't satisfy `TypeError: std::fmt::Debug`
[INFO] [stderr] ...
[INFO] [stderr] 107 |                         func.values[idx].typ = superimpose(&func.values[idx].typ, &typ).unwrap();
[INFO] [stderr]     |                                                                                         ^^^^^^ method not found in `std::result::Result<Type, TypeError>`
[INFO] [stderr]     |
[INFO] [stderr]     = note: the method `unwrap` exists but the following trait bounds were not satisfied:
[INFO] [stderr]             `TypeError: std::fmt::Debug`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `unwrap` found for enum `std::result::Result<(), TypeError>` in the current scope
[INFO] [stderr]    --> src/main.rs:120:27
[INFO] [stderr]     |
[INFO] [stderr] 56  | struct TypeError;
[INFO] [stderr]     | ----------------- doesn't satisfy `TypeError: std::fmt::Debug`
[INFO] [stderr] ...
[INFO] [stderr] 120 |     infer_forward(&mut func).unwrap();
[INFO] [stderr]     |                              ^^^^^^ method not found in `std::result::Result<(), TypeError>`
[INFO] [stderr]     |
[INFO] [stderr]     = note: the method `unwrap` exists but the following trait bounds were not satisfied:
[INFO] [stderr]             `TypeError: std::fmt::Debug`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `unwrap` found for enum `std::result::Result<(), TypeError>` in the current scope
[INFO] [stderr]    --> src/main.rs:121:28
[INFO] [stderr]     |
[INFO] [stderr] 56  | struct TypeError;
[INFO] [stderr]     | ----------------- doesn't satisfy `TypeError: std::fmt::Debug`
[INFO] [stderr] ...
[INFO] [stderr] 121 |     infer_backward(&mut func).unwrap();
[INFO] [stderr]     |                               ^^^^^^ method not found in `std::result::Result<(), TypeError>`
[INFO] [stderr]     |
[INFO] [stderr]     = note: the method `unwrap` exists but the following trait bounds were not satisfied:
[INFO] [stderr]             `TypeError: std::fmt::Debug`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: `Function` doesn't implement `std::fmt::Debug`
[INFO] [stderr]    --> src/main.rs:122:19
[INFO] [stderr]     |
[INFO] [stderr] 122 |     println!("{:?}", func);
[INFO] [stderr]     |                      ^^^^ `Function` cannot be formatted using `{:?}`
[INFO] [stderr]     |
[INFO] [stderr]     = help: the trait `std::fmt::Debug` is not implemented for `Function`
[INFO] [stderr]     = note: add `#[derive(Debug)]` or manually implement `std::fmt::Debug`
[INFO] [stderr]     = note: required by `std::fmt::Debug::fmt`
[INFO] [stderr]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 15 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0277, E0599, E0601.
[INFO] [stderr] For more information about an error, try `rustc --explain E0277`.
[INFO] [stderr] error[E0599]: no method named `unwrap` found for enum `std::result::Result<Type, TypeError>` in the current scope
[INFO] [stderr]    --> src/main.rs:107:71
[INFO] [stderr]     |
[INFO] [stderr] 56  | struct TypeError;
[INFO] [stderr]     | ----------------- doesn't satisfy `TypeError: std::fmt::Debug`
[INFO] [stderr] ...
[INFO] [stderr] 107 |                         func.values[idx].typ = superimpose(&func.values[idx].typ, &typ).unwrap();
[INFO] [stderr]     |                                                                                         ^^^^^^ method not found in `std::result::Result<Type, TypeError>`
[INFO] [stderr]     |
[INFO] [stderr]     = note: the method `unwrap` exists but the following trait bounds were not satisfied:
[INFO] [stderr]             `TypeError: std::fmt::Debug`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `unwrap` found for enum `std::result::Result<(), TypeError>` in the current scope
[INFO] [stderr]    --> src/main.rs:120:27
[INFO] [stderr]     |
[INFO] [stderr] 56  | struct TypeError;
[INFO] [stderr]     | ----------------- doesn't satisfy `TypeError: std::fmt::Debug`
[INFO] [stderr] ...
[INFO] [stderr] 120 |     infer_forward(&mut func).unwrap();
[INFO] [stderr]     |                              ^^^^^^ method not found in `std::result::Result<(), TypeError>`
[INFO] [stderr]     |
[INFO] [stderr]     = note: the method `unwrap` exists but the following trait bounds were not satisfied:
[INFO] [stderr]             `TypeError: std::fmt::Debug`
[INFO] [stderr] 
[INFO] [stderr] error[E0599]: no method named `unwrap` found for enum `std::result::Result<(), TypeError>` in the current scope
[INFO] [stderr]    --> src/main.rs:121:28
[INFO] [stderr]     |
[INFO] [stderr] 56  | struct TypeError;
[INFO] [stderr]     | ----------------- doesn't satisfy `TypeError: std::fmt::Debug`
[INFO] [stderr] ...
[INFO] [stderr] 121 |     infer_backward(&mut func).unwrap();
[INFO] [stderr]     |                               ^^^^^^ method not found in `std::result::Result<(), TypeError>`
[INFO] [stderr]     |
[INFO] [stderr]     = note: the method `unwrap` exists but the following trait bounds were not satisfied:
[INFO] [stderr]             `TypeError: std::fmt::Debug`
[INFO] [stderr] 
[INFO] [stderr] error: could not compile `compile`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stderr] error[E0277]: `Function` doesn't implement `std::fmt::Debug`
[INFO] [stderr]    --> src/main.rs:122:19
[INFO] [stderr]     |
[INFO] [stderr] 122 |     println!("{:?}", func);
[INFO] [stderr]     |                      ^^^^ `Function` cannot be formatted using `{:?}`
[INFO] [stderr]     |
[INFO] [stderr]     = help: the trait `std::fmt::Debug` is not implemented for `Function`
[INFO] [stderr]     = note: add `#[derive(Debug)]` or manually implement `std::fmt::Debug`
[INFO] [stderr]     = note: required by `std::fmt::Debug::fmt`
[INFO] [stderr]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: `Function` doesn't implement `std::fmt::Debug`
[INFO] [stderr]    --> src/main.rs:131:2
[INFO] [stderr]     |
[INFO] [stderr] 131 |       assert_eq!(type_inference(Function {
[INFO] [stderr]     |  _____^
[INFO] [stderr] 132 | |         blocks: vec![ BBlock {
[INFO] [stderr] 133 | |             vars: HashMap::new(),    // no parameters
[INFO] [stderr] 134 | |             ops: vec![ (0, Tuple(Vec::new())),
[INFO] [stderr] ...   |
[INFO] [stderr] 143 | |         type_params: Vec::new()
[INFO] [stderr] 144 | |     }), Function { blocks: vec![BBlock { vars: HashMap::new(), ops: vec![(0, Tuple(Vec::new())), (1, Return(0))], goto: Goto::DeadEnd }], values: vec![Value { typ: Record(None, vec![]), value: ValueKnowledge, pos: CodeReference }], type_params: Vec::new() });
[INFO] [stderr]     | |___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________^ `Function` cannot be formatted using `{:?}`
[INFO] [stderr]     |
[INFO] [stderr]     = help: the trait `std::fmt::Debug` is not implemented for `Function`
[INFO] [stderr]     = note: add `#[derive(Debug)]` or manually implement `std::fmt::Debug`
[INFO] [stderr]     = note: required because of the requirements on the impl of `std::fmt::Debug` for `&Function`
[INFO] [stderr]     = note: required by `std::fmt::Debug::fmt`
[INFO] [stderr]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: `Function` doesn't implement `std::fmt::Debug`
[INFO] [stderr]    --> src/main.rs:131:2
[INFO] [stderr]     |
[INFO] [stderr] 131 |       assert_eq!(type_inference(Function {
[INFO] [stderr]     |  _____^
[INFO] [stderr] 132 | |         blocks: vec![ BBlock {
[INFO] [stderr] 133 | |             vars: HashMap::new(),    // no parameters
[INFO] [stderr] 134 | |             ops: vec![ (0, Tuple(Vec::new())),
[INFO] [stderr] ...   |
[INFO] [stderr] 143 | |         type_params: Vec::new()
[INFO] [stderr] 144 | |     }), Function { blocks: vec![BBlock { vars: HashMap::new(), ops: vec![(0, Tuple(Vec::new())), (1, Return(0))], goto: Goto::DeadEnd }], values: vec![Value { typ: Record(None, vec![]), value: ValueKnowledge, pos: CodeReference }], type_params: Vec::new() });
[INFO] [stderr]     | |___________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________^ `Function` cannot be formatted using `{:?}`
[INFO] [stderr]     |
[INFO] [stderr]     = help: the trait `std::fmt::Debug` is not implemented for `Function`
[INFO] [stderr]     = note: add `#[derive(Debug)]` or manually implement `std::fmt::Debug`
[INFO] [stderr]     = note: required because of the requirements on the impl of `std::fmt::Debug` for `&Function`
[INFO] [stderr]     = note: required by `std::fmt::Debug::fmt`
[INFO] [stderr]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error[E0308]: mismatched types
[INFO] [stderr]    --> src/main.rs:166:242
[INFO] [stderr]     |
[INFO] [stderr] 166 |     }), Function { blocks: vec![BBlock { vars: param, ops: vec![(0u, Tuple(Vec::new())), (1u, Return(0u32))], goto: DeadEnd }], values: vec![Value { typ: Record(None, Vec::new()), value: ValueKnowledge, pos: CodeReference }], type_params: vec!["Drop"] });
[INFO] [stderr]     |                                                                                                                                                                                                                                                     ^^^^^^
[INFO] [stderr]     |                                                                                                                                                                                                                                                     |
[INFO] [stderr]     |                                                                                                                                                                                                                                                     expected struct `std::string::String`, found `&str`
[INFO] [stderr]     |                                                                                                                                                                                                                                                     help: try using a conversion method: `"Drop".to_string()`
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: `Function` doesn't implement `std::fmt::Debug`
[INFO] [stderr]    --> src/main.rs:153:2
[INFO] [stderr]     |
[INFO] [stderr] 153 |       assert_eq!(type_inference(Function {
[INFO] [stderr]     |  _____^
[INFO] [stderr] 154 | |         blocks: vec![ BBlock {
[INFO] [stderr] 155 | |             vars: param.clone(),
[INFO] [stderr] 156 | |             ops: vec![ (0, Tuple(Vec::new())),
[INFO] [stderr] ...   |
[INFO] [stderr] 165 | |         type_params: vec![ "Drop".to_string() ],
[INFO] [stderr] 166 | |     }), Function { blocks: vec![BBlock { vars: param, ops: vec![(0u, Tuple(Vec::new())), (1u, Return(0u32))], goto: DeadEnd }], values: vec![Value { typ: Record(None, Vec::new()), value: ValueKnowledge, pos: CodeReference }], type_params: vec!["Drop"] });
[INFO] [stderr]     | |_______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________^ `Function` cannot be formatted using `{:?}`
[INFO] [stderr]     |
[INFO] [stderr]     = help: the trait `std::fmt::Debug` is not implemented for `Function`
[INFO] [stderr]     = note: add `#[derive(Debug)]` or manually implement `std::fmt::Debug`
[INFO] [stderr]     = note: required because of the requirements on the impl of `std::fmt::Debug` for `&Function`
[INFO] [stderr]     = note: required by `std::fmt::Debug::fmt`
[INFO] [stderr]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error[E0277]: `Function` doesn't implement `std::fmt::Debug`
[INFO] [stderr]    --> src/main.rs:153:2
[INFO] [stderr]     |
[INFO] [stderr] 153 |       assert_eq!(type_inference(Function {
[INFO] [stderr]     |  _____^
[INFO] [stderr] 154 | |         blocks: vec![ BBlock {
[INFO] [stderr] 155 | |             vars: param.clone(),
[INFO] [stderr] 156 | |             ops: vec![ (0, Tuple(Vec::new())),
[INFO] [stderr] ...   |
[INFO] [stderr] 165 | |         type_params: vec![ "Drop".to_string() ],
[INFO] [stderr] 166 | |     }), Function { blocks: vec![BBlock { vars: param, ops: vec![(0u, Tuple(Vec::new())), (1u, Return(0u32))], goto: DeadEnd }], values: vec![Value { typ: Record(None, Vec::new()), value: ValueKnowledge, pos: CodeReference }], type_params: vec!["Drop"] });
[INFO] [stderr]     | |_______________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________^ `Function` cannot be formatted using `{:?}`
[INFO] [stderr]     |
[INFO] [stderr]     = help: the trait `std::fmt::Debug` is not implemented for `Function`
[INFO] [stderr]     = note: add `#[derive(Debug)]` or manually implement `std::fmt::Debug`
[INFO] [stderr]     = note: required because of the requirements on the impl of `std::fmt::Debug` for `&Function`
[INFO] [stderr]     = note: required by `std::fmt::Debug::fmt`
[INFO] [stderr]     = note: this error originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to 22 previous errors
[INFO] [stderr] 
[INFO] [stderr] Some errors have detailed explanations: E0277, E0308, E0425, E0599.
[INFO] [stderr] For more information about an error, try `rustc --explain E0277`.
[INFO] [stderr] error: could not compile `compile`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] running `"docker" "inspect" "c34151f0201aade53612b2c6f2728823be8715de87fe76772db0611a309a475f"`
[INFO] running `"docker" "rm" "-f" "c34151f0201aade53612b2c6f2728823be8715de87fe76772db0611a309a475f"`
[INFO] [stdout] c34151f0201aade53612b2c6f2728823be8715de87fe76772db0611a309a475f
