[INFO] cloning repository https://github.com/oberien/rebo
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/oberien/rebo" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Foberien%2Frebo", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Foberien%2Frebo'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6d10fe95fa9215442afcfee465ea01f786553b67
[INFO] testing oberien/rebo against master#0d162b25edd5bf0dba9a22e83b614f1113e90474 for pr-150681
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Foberien%2Frebo" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/oberien/rebo
[INFO] finished tweaking git repo https://github.com/oberien/rebo
[INFO] tweaked toml for git repo https://github.com/oberien/rebo written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/oberien/rebo on toolchain 0d162b25edd5bf0dba9a22e83b614f1113e90474
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/oberien/rebo already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating git repository `https://github.com/oberien/diagnostic`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tracing-chrome v0.7.2
[INFO] [stderr]   Downloaded tracing-tree v0.4.0
[INFO] [stderr]   Downloaded typed-arena v2.0.2
[INFO] [stderr]   Downloaded lexical-sort v0.3.1
[INFO] [stderr]   Downloaded instant v0.1.13
[INFO] [stderr]   Downloaded rt-format v0.3.1
[INFO] [stderr]   Downloaded ppv-lite86 v0.2.15
[INFO] [stderr]   Downloaded appendlist v1.4.0
[INFO] [stderr]   Downloaded intervaltree v0.2.7
[INFO] [stderr]   Downloaded lexical v7.0.4
[INFO] [stderr]   Downloaded lexical-core v1.0.5
[INFO] [stderr]   Downloaded lexical-parse-integer v1.0.5
[INFO] [stderr]   Downloaded serde_derive v1.0.218
[INFO] [stderr]   Downloaded lexical-write-integer v1.0.5
[INFO] [stderr]   Downloaded serde v1.0.218
[INFO] [stderr]   Downloaded lexical-write-float v1.0.5
[INFO] [stderr]   Downloaded lexical-util v1.0.6
[INFO] [stderr]   Downloaded lexical-parse-float v1.0.5
[INFO] [stderr]   Downloaded any_ascii v0.1.7
[INFO] [stderr]   Downloaded petgraph v0.8.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9a135e6da9ec4bc71269a1ca63a8f465a41544f176de84eb4224e938965f9c85
[INFO] running `Command { std: "docker" "start" "-a" "9a135e6da9ec4bc71269a1ca63a8f465a41544f176de84eb4224e938965f9c85", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9a135e6da9ec4bc71269a1ca63a8f465a41544f176de84eb4224e938965f9c85", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9a135e6da9ec4bc71269a1ca63a8f465a41544f176de84eb4224e938965f9c85", kill_on_drop: false }`
[INFO] [stdout] 9a135e6da9ec4bc71269a1ca63a8f465a41544f176de84eb4224e938965f9c85
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ee3ed9b6a8a54c3c50e1d7ee3df543ae189743d2c5b117cf8cad6f1ee5123bda
[INFO] running `Command { std: "docker" "start" "-a" "ee3ed9b6a8a54c3c50e1d7ee3df543ae189743d2c5b117cf8cad6f1ee5123bda", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.94
[INFO] [stderr]    Compiling unicode-ident v1.0.12
[INFO] [stderr]    Compiling libc v0.2.174
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]    Compiling memchr v2.7.1
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling version_check v0.9.2
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling tracing-core v0.1.34
[INFO] [stderr]    Compiling regex-syntax v0.6.29
[INFO] [stderr]    Compiling serde v1.0.218
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling anstyle-parse v0.2.5
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling lexical-util v1.0.6
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling anstyle-query v1.1.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling anstyle v1.0.8
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling either v1.6.1
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling colorchoice v1.0.2
[INFO] [stderr]    Compiling rustversion v1.0.21
[INFO] [stderr]    Compiling anstream v0.6.15
[INFO] [stderr]    Compiling miniz_oxide v0.7.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling lock_api v0.4.13
[INFO] [stderr]    Compiling hashbrown v0.15.4
[INFO] [stderr]    Compiling ppv-lite86 v0.2.15
[INFO] [stderr]    Compiling quote v1.0.39
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling lexical-write-integer v1.0.5
[INFO] [stderr]    Compiling lexical-parse-integer v1.0.5
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling cc v1.0.83
[INFO] [stderr]    Compiling syn v2.0.99
[INFO] [stderr]    Compiling lexical-parse-float v1.0.5
[INFO] [stderr]    Compiling object v0.32.2
[INFO] [stderr]    Compiling lexical-write-float v1.0.5
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling clap_lex v0.7.5
[INFO] [stderr]    Compiling termcolor v1.1.0
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]    Compiling rustc-demangle v0.1.16
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling clap_builder v4.5.41
[INFO] [stderr]    Compiling codespan-reporting v0.11.1
[INFO] [stderr]    Compiling lexical-core v1.0.5
[INFO] [stderr]    Compiling indexmap v2.10.0
[INFO] [stderr]    Compiling itertools v0.10.3
[INFO] [stderr]    Compiling nu-ansi-term v0.50.1
[INFO] [stderr]    Compiling appendlist v1.4.0
[INFO] [stderr]    Compiling fixedbitset v0.5.7
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling backtrace v0.3.69
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling num-iter v0.1.45
[INFO] [stderr]    Compiling any_ascii v0.1.7
[INFO] [stderr]    Compiling petgraph v0.8.2
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling regex-automata v0.1.10
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling lexical-sort v0.3.1
[INFO] [stderr]    Compiling lexical v7.0.4
[INFO] [stderr]    Compiling rand v0.9.1
[INFO] [stderr]    Compiling uuid v1.17.0
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling intervaltree v0.2.7
[INFO] [stderr]    Compiling instant v0.1.13
[INFO] [stderr]    Compiling bitflags v2.9.1
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling strum v0.27.1
[INFO] [stderr]    Compiling typed-arena v2.0.2
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling matchers v0.1.0
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling num v0.4.3
[INFO] [stderr]    Compiling rt-format v0.3.1
[INFO] [stderr]    Compiling rebo_derive v0.1.0 (/opt/rustwide/workdir/rebo_derive)
[INFO] [stderr]    Compiling diagnostic v0.1.0 (https://github.com/oberien/diagnostic?rev=889fb5da592d746b47b0fafca6bc7e71c4e2a55e#889fb5da)
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling clap_derive v4.5.41
[INFO] [stderr]    Compiling derive_more-impl v2.0.1
[INFO] [stderr]    Compiling strum_macros v0.27.1
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling tracing-subscriber v0.3.19
[INFO] [stderr]    Compiling derive_more v2.0.1
[INFO] [stderr]    Compiling clap v4.5.41
[INFO] [stderr]    Compiling tracing-chrome v0.7.2
[INFO] [stderr]    Compiling tracing-tree v0.4.0
[INFO] [stderr]    Compiling rebo v0.1.0 (/opt/rustwide/workdir/rebo)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 52.47s
[INFO] running `Command { std: "docker" "inspect" "ee3ed9b6a8a54c3c50e1d7ee3df543ae189743d2c5b117cf8cad6f1ee5123bda", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ee3ed9b6a8a54c3c50e1d7ee3df543ae189743d2c5b117cf8cad6f1ee5123bda", kill_on_drop: false }`
[INFO] [stdout] ee3ed9b6a8a54c3c50e1d7ee3df543ae189743d2c5b117cf8cad6f1ee5123bda
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] bf32d115c1f703db021bcb7610281c1a23b68fe7277b1bcebec287d8082d407c
[INFO] running `Command { std: "docker" "start" "-a" "bf32d115c1f703db021bcb7610281c1a23b68fe7277b1bcebec287d8082d407c", kill_on_drop: false }`
[INFO] [stderr]    Compiling rebo_derive v0.1.0 (/opt/rustwide/workdir/rebo_derive)
[INFO] [stderr]    Compiling rebo v0.1.0 (/opt/rustwide/workdir/rebo)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 21.48s
[INFO] running `Command { std: "docker" "inspect" "bf32d115c1f703db021bcb7610281c1a23b68fe7277b1bcebec287d8082d407c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bf32d115c1f703db021bcb7610281c1a23b68fe7277b1bcebec287d8082d407c", kill_on_drop: false }`
[INFO] [stdout] bf32d115c1f703db021bcb7610281c1a23b68fe7277b1bcebec287d8082d407c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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:845e597a41426bbf2703be69acdb67d10b6de511142d05cba7bbe119c898b2c7" "/opt/rustwide/cargo-home/bin/cargo" "+0d162b25edd5bf0dba9a22e83b614f1113e90474" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 3432b6e3935c3af1917c600e875bc4c79e385b7ec0414ed96bc14d0804dc1edc
[INFO] running `Command { std: "docker" "start" "-a" "3432b6e3935c3af1917c600e875bc4c79e385b7ec0414ed96bc14d0804dc1edc", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.18s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rebo-64ab60f908767308)
[INFO] [stdout] 
[INFO] [stdout] running 68 tests
[INFO] [stdout] test parser::expr::generator_tests::generator_bool_not ... ok
[INFO] [stdout] test parser::expr::generator_tests::generator_field_access ... ok
[INFO] [stdout] test parser::expr::generator_tests::generator_neg ... ok
[INFO] [stdout] test parser::expr::generator_tests::generator_greater_than ... ok
[INFO] [stdout] test parser::expr::generator_tests::generator_block ... ok
[INFO] [stdout] test parser::expr::generator_tests::generator_mod ... ok
[INFO] [stderr] error[0081]: return inside generators must not have an expression
[INFO] [stderr]   ┌─ test:4:20
[INFO] [stderr]   │
[INFO] [stderr] 4 │             return 5;
[INFO] [stderr]   │                    ^ returns within generators must not have an expression
[INFO] [stderr] 
[INFO] [stdout] test parser::expr::generator_tests::generator_return_expr ... ok
[INFO] [stdout] test parser::expr::generator_tests::generator_equals ... ok
[INFO] [stdout] test parser::expr::generator_tests::generator_return ... ok
[INFO] [stdout] test parser::expr::generator_tests::generator_yield ... ok
[INFO] [stdout] test parser::expr::generator_tests::generator_bool_and ... ok
[INFO] [stdout] test stdlib::test::test_float_rounding ... ok
[INFO] [stdout] test parser::expr::generator_tests::generator_mul ... ok
[INFO] [stdout] test stdlib::option::test::option_or ... ok
[INFO] [stdout] test parser::expr::generator_tests::generator_greater_equals ... ok
[INFO] [stdout] test parser::expr::generator_tests::generator_add ... ok
[INFO] [stdout] test parser::expr::generator_tests::generator_bool_or ... ok
[INFO] [stdout] test parser::expr::generator_tests::generator_less_equals ... ok
[INFO] [stderr] error[0012]: unable to infer type
[INFO] [stderr]   ┌─ test:5:9
[INFO] [stderr]   │
[INFO] [stderr] 5 │         if true { 1337 } else { "" }
[INFO] [stderr]   │         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   │         │       │             │
[INFO] [stderr]   │         │       │             must have same type as this (`string`)
[INFO] [stderr]   │         │       must have same type as this (`int`)
[INFO] [stderr]   │         can't infer this type
[INFO] [stderr] 
[INFO] [stderr] error[0012]: unable to infer type
[INFO] [stderr]   ┌─ test:9:9
[INFO] [stderr]   │
[INFO] [stderr] 9 │         if true { 1337 } else {}
[INFO] [stderr]   │         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   │         │       │             │
[INFO] [stdout] test tests::binops::test_comparison ... ok
[INFO] [stderr]   │         │       │             must have same type as this (`()`)
[INFO] [stderr]   │         │       must have same type as this (`int`)
[INFO] [stderr]   │         can't infer this type
[INFO] [stderr] 
[INFO] [stderr] error[0012]: unable to infer type
[INFO] [stderr]    ┌─ test:11:9
[INFO] [stderr]    │
[INFO] [stderr] 11 │         if true { 1337 } else { 42; }
[INFO] [stderr]    │         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    │         │       │             │
[INFO] [stderr]    │         │       │             must have same type as this (`()`)
[INFO] [stderr]    │         │       must have same type as this (`int`)
[INFO] [stderr]    │         can't infer this type
[INFO] [stderr] 
[INFO] [stderr] error[0012]: unable to infer type
[INFO] [stderr]    ┌─ test:13:12
[INFO] [stderr]    │
[INFO] [stderr] 13 │         if 1337 {}
[INFO] [stderr]    │         ---^^^^---
[INFO] [stderr]    │         │  │
[INFO] [stderr]    │         │  can't infer this type
[INFO] [stderr]    │         │  this means it can only be `int`
[INFO] [stderr]    │         this means it can only be `bool`
[INFO] [stderr] 
[INFO] [stderr] warning[0029]: unnecessary parenthesis surrounding if condition
[INFO] [stderr]   ┌─ test:3:12
[INFO] [stderr]   │
[INFO] [stderr] 3 │         if (true) {} else {}
[INFO] [stderr]   │            ------ in this expression
[INFO] [stderr]   │
[INFO] [stderr]   = remove the parenthesis
[INFO] [stderr] 
[INFO] [stderr] error[0030]: missing else clause
[INFO] [stderr]   ┌─ test:7:9
[INFO] [stderr]   │
[INFO] [stderr] 7 │         if true { 1337 }
[INFO] [stderr]   │         ^^^^^^^^^^^^^^^^ missing else-branch in this if
[INFO] [stderr]   │
[INFO] [stderr]   = if the `if` should return a value, all branches must return a value
[INFO] [stderr] 
[INFO] [stdout] test tests::conditionals::if_else_diagnostics ... ok
[INFO] [stdout] test parser::expr::generator_tests::generator_parenthesized ... ok
[INFO] [stdout] test tests::binops::test_math ... ok
[INFO] [stdout] test tests::binops::test_math_precedence ... ok
[INFO] [stdout] test tests::binops::boolean_short_circuiting ... ok
[INFO] [stdout] test parser::expr::generator_tests::generator_not_equals ... ok
[INFO] [stdout] test parser::expr::generator_tests::generator_div ... ok
[INFO] [stdout] test tests::external_type::test_external_type_struct_functionvalue ... ok
[INFO] [stdout] test tests::external_type::test_external_type_struct_nested ... ok
[INFO] [stderr] error[0020]: conflicting duplicate global definition
[INFO] [stderr]   ┌─ test:5:9
[INFO] [stderr]   │  
[INFO] [stderr] 3 │           enum Foo {}
[INFO] [stderr]   │           ----------- first defined here
[INFO] [stderr] 4 │           // // recursive enum definition
[INFO] [stderr] 5 │ ╭         enum Foo {
[INFO] [stderr] 6 │ │             // Foo(Foo),
[INFO] [stderr] 7 │ │         }
[INFO] [stderr]   │ ╰─────────^ also defined here
[INFO] [stderr] 
[INFO] [stderr] error[0042]: non-exhaustive match
[INFO] [stderr]   ┌─ test:3:9
[INFO] [stderr]   │
[INFO] [stderr] 3 │         match true {}
[INFO] [stderr]   │         ^^^^^^^^^^^^^ cases `true`, `false` not covered
[INFO] [stderr] 
[INFO] [stderr] warning[0038]: unreachable match arm
[INFO] [stderr]   ┌─ test:5:31
[INFO] [stderr]   │
[INFO] [stderr] 5 │         match true { _ => (), foo => {} }
[INFO] [stderr]   │                      -        ^^^ this pattern is unreachable
[INFO] [stderr]   │                      │         
[INFO] [stderr]   │                      already covered here
[INFO] [stderr] 
[INFO] [stderr] error[0039]: can't match on a float
[INFO] [stderr]   ┌─ test:7:15
[INFO] [stderr]   │
[INFO] [stderr] 7 │         match 1.0 { _ => () }
[INFO] [stderr]   │               ^^^
[INFO] [stderr] 
[INFO] [stderr] error[0040]: match statement doesn't have a catchall pattern
[INFO] [stderr]   ┌─ test:9:9
[INFO] [stderr]   │
[INFO] [stderr] 9 │         match 1 { 1 => () }
[INFO] [stderr]   │         ^^^^^^^^^^^^^^^^^^^ this match doesn't have a catchall case
[INFO] [stderr]   │
[INFO] [stderr]   = consider adding a `_ => ...` or `foo => ...` case
[INFO] [stderr] 
[INFO] [stderr] error[0041]: can't match a struct
[INFO] [stderr]    ┌─ test:12:15
[INFO] [stderr]    │
[INFO] [stderr] 12 │         match Foo {} { _ => () }
[INFO] [stderr]    │               ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] error[0042]: non-exhaustive match
[INFO] [stderr]    ┌─ test:14:9
[INFO] [stderr]    │
[INFO] [stderr] 14 │         match true { true => (), }
[INFO] [stderr]    │         ^^^^^^^^^^^^^^^^^^^^^^^^^^ cases `false` not covered
[INFO] [stderr] 
[INFO] [stdout] test tests::conditionals::match_diagnostics ... ok
[INFO] [stderr] error[0012]: unable to infer type
[INFO] [stderr]    ┌─ test:33:13
[INFO] [stderr]    │
[INFO] [stderr] 33 │         let baz = Baz::Baz;
[INFO] [stderr]    │             ^^^   -------- must have same type as this (`enum Baz`)
[INFO] [stderr]    │             │      
[INFO] [stderr]    │             can't infer this type
[INFO] [stderr] 34 │         let qux = Qux::Qux;
[INFO] [stderr] 35 │         baz == qux;
[INFO] [stderr]    │         --- must have same type as this (`enum Qux`)
[INFO] [stderr] 
[INFO] [stderr] error[0016]: invalid number of arguments
[INFO] [stderr]    ┌─ test:23:27
[INFO] [stderr]    │
[INFO] [stderr] 23 │         let bar = Bar::Bar();
[INFO] [stderr]    │                   --------^^ found 0 arguments
[INFO] [stderr]    │                   │        
[INFO] [stderr]    │                   expected 1 arguments
[INFO] [stderr] 
[INFO] [stderr] error[0016]: invalid number of arguments
[INFO] [stderr]    ┌─ test:25:28
[INFO] [stderr]    │
[INFO] [stderr] 25 │         let bar = Bar::Bar(42, true);
[INFO] [stderr]    │                   -------- ^^^^^^^^ found 2 arguments
[INFO] [stderr]    │                   │         
[INFO] [stderr]    │                   expected 1 arguments
[INFO] [stderr] 
[INFO] [stderr] error[0014]: unknown function
[INFO] [stderr]    ┌─ test:28:9
[INFO] [stderr]    │
[INFO] [stderr] 28 │         Bar::Foo;
[INFO] [stderr]    │         ^^^^^^^^
[INFO] [stderr]    │         │
[INFO] [stderr]    │         can't find associated function or method with this name
[INFO] [stderr]    │         did you mean `Bar::Bar`
[INFO] [stderr] 
[INFO] [stdout] test tests::enums::enum_diagnostics ... ok
[INFO] [stdout] test tests::conditionals::if_else_usage ... ok
[INFO] [stderr] error[0007]: assignment to immutable variable
[INFO] [stderr]   ┌─ test:4:9
[INFO] [stderr]   │
[INFO] [stderr] 3 │         let foo = 1;
[INFO] [stderr]   │             ---
[INFO] [stderr]   │             │
[INFO] [stderr]   │             `foo` defined here
[INFO] [stderr]   │             help: try using `mut foo` here
[INFO] [stderr] 4 │         foo = 42;
[INFO] [stderr]   │         ^^^ variable `foo` is assigned to even though it's not declared as mutable
[INFO] [stderr] 
[INFO] [stdout] test tests::external_type::test_external_type_struct_int ... ok
[INFO] [stdout] test tests::immutable_assign_diagnostic ... ok
[INFO] [stdout] test parser::expr::generator_tests::generator_less_than ... ok
[INFO] [stdout] test tests::external_type::test_external_type_struct_float ... ok
[INFO] [stdout] test tests::external_type::test_external_type_struct_string ... ok
[INFO] [stdout] test tests::enums::enum_definitions ... ok
[INFO] [stdout] test tests::conditionals::match_usage ... ok
[INFO] [stderr] error[0020]: conflicting duplicate global definition
[INFO] [stderr]   ┌─ test:3:12
[INFO] [stderr]   │
[INFO] [stderr] 3 │         fn add_one() -> () {}
[INFO] [stderr]   │            ^^^^^^^ a function with the same name is already provided externally
[INFO] [stderr]   │
[INFO] [stderr]   = use a different name
[INFO] [stderr] 
[INFO] [stderr] error[0020]: conflicting duplicate global definition
[INFO] [stderr]   ┌─ test:9:12
[INFO] [stderr]   │
[INFO] [stderr] 7 │         fn foo() -> int {}
[INFO] [stderr]   │            --- `foo` first defined here
[INFO] [stderr] 8 │         // overwrite existing function
[INFO] [stderr] 9 │         fn foo(mut x: int, mut y: int) -> int {
[INFO] [stderr]   │            ^^^ but also defined here
[INFO] [stderr] 
[INFO] [stderr] error[0006]: unknown identifier
[INFO] [stderr]    ┌─ test:24:9
[INFO] [stderr]    │
[INFO] [stderr] 24 │         baz(5);
[INFO] [stderr]    │         ^^^
[INFO] [stderr]    │         │
[INFO] [stderr]    │         variable `baz` doesn't exist
[INFO] [stderr]    │         did you mean `bar`
[INFO] [stderr]    │         use `let baz = ...` to create a new binding
[INFO] [stderr] 
[INFO] [stderr] error[0012]: unable to infer type
[INFO] [stderr]   ┌─ test:4:39
[INFO] [stderr]   │
[INFO] [stderr] 3 │         fn foo<U, V>(u: U, v: V) -> V { v }
[INFO] [stderr]   │                   - must have same type as this (`<1560361>`)
[INFO] [stderr] 4 │         fn bar<T>(t: T) -> T { foo(t, 42) }
[INFO] [stderr]   │                                       ^^
[INFO] [stderr]   │                                       │
[INFO] [stderr]   │                                       can't infer this type
[INFO] [stderr]   │                                       this means it can only be `int`
[INFO] [stderr] 
[INFO] [stderr] error[0044]: unknown impl block target
[INFO] [stderr]   ┌─ test:3:14
[INFO] [stderr]   │
[INFO] [stderr] 3 │         impl Foo {
[INFO] [stderr]   │              ^^^
[INFO] [stderr]   │              │
[INFO] [stderr]   │              can't find this type
[INFO] [stderr]   │              did you mean `Map`
[INFO] [stderr] 
[INFO] [stdout] test tests::generics::generic_diagnostics ... ok
[INFO] [stdout] test tests::impl_blocks::associated_function_diagnostics2 ... ok
[INFO] [stderr] error[0012]: unable to infer type
[INFO] [stderr]    ┌─ test:14:18
[INFO] [stderr]    │
[INFO] [stderr]  6 │             fn foo(self, a: int, b: string) -> int { a }
[INFO] [stderr]    │             --------------------------------------
[INFO] [stderr]    │             │
[INFO] [stderr]    │             `Foo::foo` defined here
[INFO] [stderr]    │             `Foo::foo` defined here
[INFO] [stderr]    ·
[INFO] [stderr] 14 │         Foo::foo(1337, 42, "uiae");
[INFO] [stderr]    │         -------- ^^^^
[INFO] [stderr]    │         │        │
[INFO] [stderr]    │         │        can't infer this type
[INFO] [stderr]    │         │        this means it can only be `int`
[INFO] [stderr]    │         this means it can only be `struct Foo`
[INFO] [stderr] 
[INFO] [stderr] error[0012]: unable to infer type
[INFO] [stderr]    ┌─ test:16:17
[INFO] [stderr]    │
[INFO] [stderr]  6 │             fn foo(self, a: int, b: string) -> int { a }
[INFO] [stderr]    │             --------------------------------------
[INFO] [stderr]    │             │
[INFO] [stderr]    │             `Foo::foo` defined here
[INFO] [stderr]    │             `Foo::foo` defined here
[INFO] [stderr]    ·
[INFO] [stderr] 16 │         foo.foo("uiae", "uiae");
[INFO] [stderr]    │             --- ^^^^^^
[INFO] [stderr]    │             │   │
[INFO] [stderr]    │             │   can't infer this type
[INFO] [stderr]    │             │   this means it can only be `string`
[INFO] [stderr]    │             this means it can only be `int`
[INFO] [stderr] 
[INFO] [stderr] error[0012]: unable to infer type
[INFO] [stderr]    ┌─ test:18:23
[INFO] [stderr]    │
[INFO] [stderr]  6 │             fn foo(self, a: int, b: string) -> int { a }
[INFO] [stderr]    │             --------------------------------------
[INFO] [stderr]    │             │
[INFO] [stderr]    │             `Foo::foo` defined here
[INFO] [stderr]    │             `Foo::foo` defined here
[INFO] [stderr]    ·
[INFO] [stderr] 18 │         foo.foo(1337, 42);
[INFO] [stderr]    │             ---       ^^
[INFO] [stderr]    │             │         │
[INFO] [stderr]    │             │         can't infer this type
[INFO] [stderr]    │             │         this means it can only be `int`
[INFO] [stderr]    │             this means it can only be `string`
[INFO] [stderr] 
[INFO] [stderr] error[0012]: unable to infer type
[INFO] [stderr]    ┌─ test:20:29
[INFO] [stderr]    │
[INFO] [stderr] 20 │         let a: string = foo.foo(1337, "uiae");
[INFO] [stderr]    │                         ----^^^^^^^^^^^^^^^^^
[INFO] [stderr]    │                         │   │
[INFO] [stderr]    │                         │   can't infer this type
[INFO] [stderr]    │                         │   this means it can only be `int`
[INFO] [stderr]    │                         must have same type as this (`string`)
[INFO] [stderr] 
[INFO] [stderr] error[0055]: unknown method
[INFO] [stderr]   ┌─ test:9:13
[INFO] [stderr]   │
[INFO] [stderr] 9 │         foo.b();
[INFO] [stderr]   │             ^
[INFO] [stderr]   │             │
[INFO] [stderr]   │             can't find method `Foo::b`
[INFO] [stderr]   │             did you mean `Foo::a`
[INFO] [stderr] 
[INFO] [stderr] error[0016]: invalid number of arguments
[INFO] [stderr]    ┌─ test:12:14
[INFO] [stderr]    │
[INFO] [stderr] 12 │         foo.a();
[INFO] [stderr]    │             -^^ found 1 arguments
[INFO] [stderr]    │             │ 
[INFO] [stderr]    │             expected 0 arguments
[INFO] [stderr] 
[INFO] [stderr] error[0056]: not a method
[INFO] [stderr]    ┌─ test:12:13
[INFO] [stderr]    │
[INFO] [stderr]  5 │             fn a() {}
[INFO] [stderr]    │                 -- this function doesn't have `self` as first argument
[INFO] [stderr]    ·
[INFO] [stderr] 12 │         foo.a();
[INFO] [stderr]    │             ^
[INFO] [stderr]    │             │
[INFO] [stderr]    │             `Foo::a` is a function and not a method
[INFO] [stderr]    │             methods must have `self` as first argument
[INFO] [stderr] 
[INFO] [stdout] test tests::impl_blocks::method_diagnostics ... ok
[INFO] [stderr] error[0016]: invalid number of arguments
[INFO] [stderr]   ┌─ test:7:16
[INFO] [stderr]   │
[INFO] [stderr] 7 │         foo.bar();
[INFO] [stderr]   │             ---^^ found 1 arguments
[INFO] [stderr]   │             │   
[INFO] [stderr]   │             expected 1 arguments
[INFO] [stderr] 
[INFO] [stdout] test tests::impl_blocks::method_arg_number_diagnostic ... ok
[INFO] [stdout] test tests::includes::test_includes ... ok
[INFO] [stdout] test tests::lexer::format_strings ... ok
[INFO] [stderr] error[0035]: unescaped `}` in format string
[INFO] [stderr]   ┌─ test:3:11
[INFO] [stderr]   │
[INFO] [stderr] 3 │         f"}";
[INFO] [stderr]   │           ^ this paren isn't escaped
[INFO] [stderr]   │
[INFO] [stderr]   = escape it with `\}`
[INFO] [stderr] 
[INFO] [stderr] error[0034]: unterminated format string argument
[INFO] [stderr]   ┌─ test:5:17
[INFO] [stderr]   │    
[INFO] [stderr] 5 │   ╭         f"uiae {";
[INFO] [stderr]   │ ╭───────────────────^
[INFO] [stderr] 6 │ │ │     
[INFO] [stderr]   │ ╰─│────^ this interpolation argument isn't closed
[INFO] [stderr]   │   ╰────' in this format string
[INFO] [stderr]   │    
[INFO] [stderr]   = if you want to output a curly parenthesis, escape it like `\{`
[INFO] [stderr] 
[INFO] [stderr] error[0033]: unterminated format string
[INFO] [stderr]   ┌─ test:2:9
[INFO] [stderr]   │  
[INFO] [stderr] 2 │ ╭         f"uiae
[INFO] [stderr] 3 │ │     
[INFO] [stderr]   │ │     - try adding a closing `"`
[INFO] [stderr]   │ ╰────^ this format string is unterminated
[INFO] [stderr] 
[INFO] [stdout] test tests::lexer::format_string_diagnostics2 ... ok
[INFO] [stderr] warning[0043]: empty impl block
[INFO] [stderr]   ┌─ test:4:9
[INFO] [stderr]   │
[INFO] [stderr] 4 │         impl Foo {}
[INFO] [stderr]   │         ^^^^^^^^^^^ this impl is empty
[INFO] [stderr] 
[INFO] [stdout] test tests::impl_blocks::associated_function_diagnostics ... ok
[INFO] [stdout] test tests::lexer::format_string_diagnostics1 ... ok
[INFO] [stdout] test tests::impl_blocks::associated_functions ... ok
[INFO] [stdout] test tests::generics::generics ... ok
[INFO] [stdout] test parser::expr::generator_tests::generator_sub ... ok
[INFO] [stdout] test tests::lexer::idents_starting_with_underscore ... ok
[INFO] [stdout] test tests::functions::functions ... ok
[INFO] [stdout] test parser::expr::generator_tests::generator_xor ... ok
[INFO] [stdout] test util::test::test_try_parse_number ... ok
[INFO] [stdout] test tests::stdlib::assert_true ... ok
[INFO] [stderr] error[0020]: conflicting duplicate global definition
[INFO] [stderr]   ┌─ test:3:9
[INFO] [stderr]   │
[INFO] [stderr] 3 │         enum Option<T> {}
[INFO] [stderr]   │         ----------------- first defined here
[INFO] [stderr]   │
[INFO] [stderr]   ┌─ external-Option.re:1:1
[INFO] [stderr]   │  
[INFO] [stderr] 1 │ ╭ enum Option<T> {
[INFO] [stderr] 2 │ │     Some(T),
[INFO] [stderr] 3 │ │     None,
[INFO] [stderr] 4 │ │ }
[INFO] [stderr]   │ ╰─^ also defined here
[INFO] [stderr] 
[INFO] [stderr] error[0012]: unable to infer type
[INFO] [stderr]   ┌─ test:5:15
[INFO] [stderr]   │
[INFO] [stderr] 5 │         while 1337 {}
[INFO] [stderr]   │         ------^^^^---
[INFO] [stderr]   │         │     │
[INFO] [stderr]   │         │     can't infer this type
[INFO] [stderr]   │         │     this means it can only be `int`
[INFO] [stderr]   │         this means it can only be `bool`
[INFO] [stderr] 
[INFO] [stderr] warning[0046]: unnecessary parenthesis around while condition
[INFO] [stderr]   ┌─ test:3:15
[INFO] [stderr]   │
[INFO] [stderr] 3 │         while (true) {}
[INFO] [stderr]   │               ------ in this expression
[INFO] [stderr]   │
[INFO] [stderr]   = remove the parenthesis
[INFO] [stderr] 
[INFO] [stdout] test tests::loops::while_diagnostics ... ok
[INFO] [stdout] test tests::stdlib::redefine_external_types ... ok
[INFO] [stderr] error[0012]: unable to infer type
[INFO] [stderr]   ┌─ test:7:25
[INFO] [stderr]   │
[INFO] [stderr] 7 │         fn foo() -> int {}
[INFO] [stderr]   │         ----------------^^
[INFO] [stderr]   │         │               │
[INFO] [stderr]   │         │               can't infer this type
[INFO] [stderr]   │         │               this means it can only be `()`
[INFO] [stderr]   │         this means it can only be `int`
[INFO] [stderr] 
[INFO] [stderr] error[0012]: unable to infer type
[INFO] [stderr]    ┌─ test:17:19
[INFO] [stderr]    │
[INFO] [stderr] 15 │         fn takes_int(x: int) {}
[INFO] [stderr]    │         --------------------
[INFO] [stderr]    │         │
[INFO] [stderr]    │         `takes_int` defined here
[INFO] [stderr]    │         `takes_int` defined here
[INFO] [stderr] 16 │         // wrong arg type (float instead of int)
[INFO] [stderr] 17 │         takes_int(2.0);
[INFO] [stderr]    │         --------- ^^^
[INFO] [stderr]    │         │         │
[INFO] [stderr]    │         │         can't infer this type
[INFO] [stderr]    │         │         this means it can only be `float`
[INFO] [stderr]    │         this means it can only be `int`
[INFO] [stderr] 
[INFO] [stderr] error[0012]: unable to infer type
[INFO] [stderr]    ┌─ test:20:25
[INFO] [stderr]    │
[INFO] [stderr] 20 │         fn bar() -> int { 2.0 }
[INFO] [stdout] test tests::required_rebo_function::test_required_rebo_function_returns_int ... ok
[INFO] [stderr]    │         ----------------^^^^^^^
[INFO] [stderr]    │         │               │ │
[INFO] [stderr]    │         │               │ must have same type as this (`float`)
[INFO] [stderr]    │         │               can't infer this type
[INFO] [stderr]    │         this means it can only be `int`
[INFO] [stderr] 
[INFO] [stderr] error[0019]: empty function body
[INFO] [stderr]   ┌─ test:7:9
[INFO] [stderr]   │
[INFO] [stderr] 7 │         fn foo() -> int {}
[INFO] [stderr]   │         ^^^^^^^^^^^^^^^ this function returns int but has an empty body
[INFO] [stderr] 
[INFO] [stderr] error[0016]: invalid number of arguments
[INFO] [stderr]    ┌─ test:22:19
[INFO] [stderr]    │
[INFO] [stderr] 22 │         print(foo(5));
[INFO] [stderr]    │               --- ^ found 1 arguments
[INFO] [stderr]    │               │    
[INFO] [stderr]    │               expected 0 arguments
[INFO] [stderr] 
[INFO] [stderr] error[0014]: unknown function
[INFO] [stderr]    ┌─ test:24:9
[INFO] [stderr]    │
[INFO] [stderr] 24 │         baz(5);
[INFO] [stderr]    │         ^^^
[INFO] [stderr]    │         │
[INFO] [stderr]    │         can't find function with this name
[INFO] [stderr]    │         did you mean `bar`
[INFO] [stderr] 
[INFO] [stderr] error[0007]: assignment to immutable variable
[INFO] [stderr]    ┌─ test:29:13
[INFO] [stderr]    │
[INFO] [stderr] 28 │         fn change_broken(foo: Foo) {
[INFO] [stderr]    │                          ---
[INFO] [stderr]    │                          │
[INFO] [stderr]    │                          `foo` defined here
[INFO] [stderr]    │                          help: try using `mut foo` here
[INFO] [stderr] 29 │             foo.x = 42;
[INFO] [stderr]    │             ^^^ variable `foo` is assigned to even though it's not declared as mutable
[INFO] [stderr] 
[INFO] [stderr] error[0078]: named function cannot capture binding
[INFO] [stderr]    ┌─ test:39:9
[INFO] [stderr]    │
[INFO] [stderr] 39 │         fn qux() {
[INFO] [stderr]    │         ^^^^^^^^ this function captures binding `binding` but isn't allowed to
[INFO] [stderr]    │
[INFO] [stderr]    = only closures / anonymous functions can capture bindings from outer scopes
[INFO] [stderr] 
[INFO] [stderr] error[0079]: closure captures mutable primitive
[INFO] [stderr]    ┌─ test:45:23
[INFO] [stderr]    │
[INFO] [stderr] 44 │         let mut foo = 42;
[INFO] [stderr]    │                 --- declared here
[INFO] [stderr] 45 │         let closure = fn() { foo += 1 };
[INFO] [stderr]    │                       ^^^^ this function captures `foo`, which is a mutable primitive
[INFO] [stderr]    │
[INFO] [stderr]    = primitives can't be captured mutably in closures as their value is copied into the closure
[INFO] [stderr]    = if you want to modify a primitive from outside or within a closure, wrap it in a struct
[INFO] [stderr] 
[INFO] [stderr] error[0007]: assignment to immutable variable
[INFO] [stderr]    ┌─ test:50:30
[INFO] [stderr]    │
[INFO] [stderr] 49 │         let foo = 42;
[INFO] [stderr]    │             ---
[INFO] [stderr]    │             │
[INFO] [stderr]    │             `foo` defined here
[INFO] [stderr]    │             help: try using `mut foo` here
[INFO] [stderr] 50 │         let closure = fn() { foo += 1 };
[INFO] [stderr]    │                              ^^^ variable `foo` is assigned to even though it's not declared as mutable
[INFO] [stderr] 
[INFO] [stdout] test tests::functions::free_function_diagnostics ... ok
[INFO] [stdout] test tests::lexer::other_stuff ... ok
[INFO] [stdout] test tests::stdlib::test_clone ... ok
[INFO] [stderr] error[0012]: unable to infer type
[INFO] [stderr]   ┌─ test:4:9
[INFO] [stderr]   │
[INFO] [stderr] 4 │         2 + fn foo() {} && true
[INFO] [stderr]   │         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   │         │                  │
[INFO] [stderr]   │         │                  must have same type as this (`bool`)
[INFO] [stderr]   │         can't infer this type
[INFO] [stderr]   │         this means it can only be `bool`
[INFO] [stderr]   │         must have same type as this (`int`)
[INFO] [stderr] 
[INFO] [stderr] error[0012]: unable to infer type
[INFO] [stderr]   ┌─ test:4:13
[INFO] [stderr]   │
[INFO] [stderr] 4 │         2 + fn foo() {} && true
[INFO] [stderr]   │         ----^^^^^^^^^^^
[INFO] [stderr]   │         │   │
[INFO] [stderr]   │         │   can't infer this type
[INFO] [stderr]   │         │   this means it can only be `()`
[INFO] [stderr]   │         must have same type as this (`int`)
[INFO] [stderr]   │         this means it can only be one of `int, float`
[INFO] [stderr] 
[INFO] [stdout] test tests::pre_parsed ... ok
[INFO] [stderr] error[9998]: assertion failed
[INFO] [stderr]   ┌─ test:2:9
[INFO] [stderr]   │
[INFO] [stderr] 2 │         assert(false);
[INFO] [stderr]   │         ^^^^^^^^^^^^^ this assertion failed
[INFO] [stderr] 
[INFO] [stdout] test tests::stdlib::assert_false ... ok
[INFO] [stderr] error[0020]: conflicting duplicate global definition
[INFO] [stderr]   ┌─ test:4:9
[INFO] [stderr]   │
[INFO] [stderr] 3 │         struct Foo {}
[INFO] [stderr]   │         ------------- first defined here
[INFO] [stderr] 4 │         struct Foo { foo: int }
[INFO] [stderr]   │         ^^^^^^^^^^^^^^^^^^^^^^^ also defined here
[INFO] [stderr] 
[INFO] [stdout] test tests::loops::while_usage ... ok
[INFO] [stderr] error[0012]: unable to infer type
[INFO] [stderr]    ┌─ test:35:13
[INFO] [stderr]    │
[INFO] [stderr] 35 │         let baz = Baz {};
[INFO] [stderr]    │             ^^^   ------ must have same type as this (`struct Baz`)
[INFO] [stderr]    │             │      
[INFO] [stderr]    │             can't infer this type
[INFO] [stderr] 36 │         let qux = Qux {};
[INFO] [stderr] 37 │         baz == qux;
[INFO] [stderr]    │         --- must have same type as this (`struct Qux`)
[INFO] [stderr] 
[INFO] [stderr] error[0026]: missing struct field
[INFO] [stderr]    ┌─ test:24:19
[INFO] [stderr]    │
[INFO] [stderr] 24 │         let bar = Bar {};
[INFO] [stderr]    │                   ^^^ missing field `i`
[INFO] [stderr] 
[INFO] [stderr] error[0025]: unknown struct field in initializer
[INFO] [stderr]    ┌─ test:29:13
[INFO] [stderr]    │  
[INFO] [stderr] 19 │ ╭         struct Bar {
[INFO] [stderr] 20 │ │             i: int,
[INFO] [stderr] 21 │ │         }
[INFO] [stderr]    │ ╰─────────' defined here
[INFO] [stderr]    · │
[INFO] [stderr] 29 │               uiae: 42,
[INFO] [stderr]    │               ^^^^ unknown field `uiae`
[INFO] [stderr] 
[INFO] [stderr] error[0007]: assignment to immutable variable
[INFO] [stderr]    ┌─ test:40:9
[INFO] [stderr]    │
[INFO] [stderr] 24 │         let bar = Bar {};
[INFO] [stderr]    │             ---
[INFO] [stderr]    │             │
[INFO] [stderr]    │             `bar` defined here
[INFO] [stderr]    │             help: try using `mut bar` here
[INFO] [stderr]    ·
[INFO] [stderr] 40 │         bar.i = 42;
[INFO] [stderr]    │         ^^^ variable `bar` is assigned to even though it's not declared as mutable
[INFO] [stderr] 
[INFO] [stderr] error[0053]: duplicate struct field
[INFO] [stderr]    ┌─ test:45:13
[INFO] [stderr]    │
[INFO] [stderr] 44 │             foo: int,
[INFO] [stderr]    │             --- previously defined here
[INFO] [stderr] 45 │             foo: float,
[INFO] [stderr]    │             ^^^ duplicate struct field
[INFO] [stderr] 
[INFO] [stdout] test tests::structs::struct_diagnostics ... ok
[INFO] [stderr] error[9999]: explicit panic
[INFO] [stderr]   ┌─ test:2:9
[INFO] [stderr]   │
[INFO] [stderr] 2 │         panic("interesting message");
[INFO] [stderr]   │         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ interesting message
[INFO] [stderr] 
[INFO] [stdout] test tests::stdlib::test_panic ... ok
[INFO] [stdout] test tests::required_rebo_function::test_required_rebo_function_returns_list ... ok
[INFO] [stdout] test tests::structs::struct_definitions ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 68 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 5.66s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/rebo-8a8f1d5e74c4fb16)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/rebo_derive-2d4f7bded3443404)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests rebo
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test rebo/src/typeck/graph/check.rs - typeck::graph::check::Graph<'i>::normalize (line 186) ... ignored
[INFO] [stdout] test rebo/src/typeck/graph/check.rs - typeck::graph::check::Graph<'i>::normalize (line 194) ... ignored
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests rebo_derive
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "3432b6e3935c3af1917c600e875bc4c79e385b7ec0414ed96bc14d0804dc1edc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3432b6e3935c3af1917c600e875bc4c79e385b7ec0414ed96bc14d0804dc1edc", kill_on_drop: false }`
[INFO] [stdout] 3432b6e3935c3af1917c600e875bc4c79e385b7ec0414ed96bc14d0804dc1edc
