[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] f7b59c0f2ce01c5ed5e8803fc2bdaef65ff1d574 [INFO] testing oberien/rebo against master#b70888601af92f6cdc0364abab3446e418b91d36 for pr-86479 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Foberien%2Frebo" "/workspace/builds/worker-3/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-3/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/oberien/rebo on toolchain b70888601af92f6cdc0364abab3446e418b91d36 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+b70888601af92f6cdc0364abab3446e418b91d36" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [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-3/source/Cargo.toml [INFO] crate git repo https://github.com/oberien/rebo already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+b70888601af92f6cdc0364abab3446e418b91d36" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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" "+b70888601af92f6cdc0364abab3446e418b91d36" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 0a5efa11c8a79db5608808cf803539cadee62c8b7d26cb225a0351d1d2c46456 [INFO] running `Command { std: "docker" "start" "-a" "0a5efa11c8a79db5608808cf803539cadee62c8b7d26cb225a0351d1d2c46456", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "0a5efa11c8a79db5608808cf803539cadee62c8b7d26cb225a0351d1d2c46456", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0a5efa11c8a79db5608808cf803539cadee62c8b7d26cb225a0351d1d2c46456", kill_on_drop: false }` [INFO] [stdout] 0a5efa11c8a79db5608808cf803539cadee62c8b7d26cb225a0351d1d2c46456 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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" "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" "+b70888601af92f6cdc0364abab3446e418b91d36" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 173c883a883728468d518c42f5bf3cfc2d4167986c1b93d1677b8ef56bf92596 [INFO] running `Command { std: "docker" "start" "-a" "173c883a883728468d518c42f5bf3cfc2d4167986c1b93d1677b8ef56bf92596", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling proc-macro2 v1.0.27 [INFO] [stderr] Compiling unicode-xid v0.2.1 [INFO] [stderr] Compiling syn v1.0.73 [INFO] [stderr] Compiling version_check v0.9.2 [INFO] [stderr] Compiling cfg-if v1.0.0 [INFO] [stderr] Compiling memchr v2.4.0 [INFO] [stderr] Compiling cfg-if v0.1.10 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Compiling ryu v1.0.5 [INFO] [stderr] Compiling lexical-core v0.7.6 [INFO] [stderr] Compiling adler v0.2.3 [INFO] [stderr] Compiling autocfg v1.0.1 [INFO] [stderr] Compiling log v0.4.11 [INFO] [stderr] Compiling termcolor v1.1.0 [INFO] [stderr] Compiling arrayvec v0.5.2 [INFO] [stderr] Compiling scopeguard v1.1.0 [INFO] [stderr] Compiling object v0.20.0 [INFO] [stderr] Compiling regex-syntax v0.6.25 [INFO] [stderr] Compiling unicode-width v0.1.8 [INFO] [stderr] Compiling hashbrown v0.11.2 [INFO] [stderr] Compiling any_ascii v0.1.7 [INFO] [stderr] Compiling appendlist v1.4.0 [INFO] [stderr] Compiling typed-arena v2.0.1 [INFO] [stderr] Compiling paste v1.0.5 [INFO] [stderr] Compiling lazy_static v1.4.0 [INFO] [stderr] Compiling addr2line v0.13.0 [INFO] [stderr] Compiling instant v0.1.10 [INFO] [stderr] Compiling miniz_oxide v0.4.1 [INFO] [stderr] Compiling lock_api v0.4.4 [INFO] [stderr] Compiling lexical-sort v0.3.1 [INFO] [stderr] Compiling parking_lot_core v0.8.3 [INFO] [stderr] Compiling codespan-reporting v0.9.5 [INFO] [stderr] Compiling parking_lot v0.11.1 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling indexmap v1.7.0 [INFO] [stderr] Compiling quote v1.0.7 [INFO] [stderr] Compiling aho-corasick v0.7.18 [INFO] [stderr] Compiling backtrace v0.3.50 [INFO] [stderr] Compiling regex v1.5.4 [INFO] [stderr] Compiling diagnostic v0.1.0 (https://github.com/oberien/diagnostic?rev=c2f88cd#c2f88cd6) [INFO] [stderr] Compiling lexical v5.2.2 [INFO] [stderr] Compiling env_logger v0.8.4 [INFO] [stderr] Compiling thiserror-impl v1.0.20 [INFO] [stderr] Compiling rebo_derive v0.1.0 (/opt/rustwide/workdir/rebo_derive) [INFO] [stderr] Compiling derive_more v0.99.14 [INFO] [stderr] Compiling thiserror v1.0.20 [INFO] [stderr] Compiling rebo v0.1.0 (/opt/rustwide/workdir/rebo) [INFO] [stdout] warning: associated function is never used: `consume_until` [INFO] [stdout] --> rebo/src/parser/mod.rs:309:8 [INFO] [stdout] | [INFO] [stdout] 309 | fn consume_until(&mut self, until: &[TokenType]) -> Consumed<'i> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `Consumed` [INFO] [stdout] --> rebo/src/parser/mod.rs:347:6 [INFO] [stdout] | [INFO] [stdout] 347 | enum Consumed<'i> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 1m 53s [INFO] running `Command { std: "docker" "inspect" "173c883a883728468d518c42f5bf3cfc2d4167986c1b93d1677b8ef56bf92596", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "173c883a883728468d518c42f5bf3cfc2d4167986c1b93d1677b8ef56bf92596", kill_on_drop: false }` [INFO] [stdout] 173c883a883728468d518c42f5bf3cfc2d4167986c1b93d1677b8ef56bf92596 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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" "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" "+b70888601af92f6cdc0364abab3446e418b91d36" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 180a754384b13035c74509f7b5098824f211978977a0d30a0ceea13e6efd9854 [INFO] running `Command { std: "docker" "start" "-a" "180a754384b13035c74509f7b5098824f211978977a0d30a0ceea13e6efd9854", 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] [stdout] warning: associated function is never used: `consume_until` [INFO] [stdout] --> rebo/src/parser/mod.rs:309:8 [INFO] [stdout] | [INFO] [stdout] 309 | fn consume_until(&mut self, until: &[TokenType]) -> Consumed<'i> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `Consumed` [INFO] [stdout] --> rebo/src/parser/mod.rs:347:6 [INFO] [stdout] | [INFO] [stdout] 347 | enum Consumed<'i> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function is never used: `consume_until` [INFO] [stdout] --> rebo/src/parser/mod.rs:309:8 [INFO] [stdout] | [INFO] [stdout] 309 | fn consume_until(&mut self, until: &[TokenType]) -> Consumed<'i> { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum is never used: `Consumed` [INFO] [stdout] --> rebo/src/parser/mod.rs:347:6 [INFO] [stdout] | [INFO] [stdout] 347 | enum Consumed<'i> { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 2 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 19.32s [INFO] running `Command { std: "docker" "inspect" "180a754384b13035c74509f7b5098824f211978977a0d30a0ceea13e6efd9854", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "180a754384b13035c74509f7b5098824f211978977a0d30a0ceea13e6efd9854", kill_on_drop: false }` [INFO] [stdout] 180a754384b13035c74509f7b5098824f211978977a0d30a0ceea13e6efd9854 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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" "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" "+b70888601af92f6cdc0364abab3446e418b91d36" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 172d5e428a23caa2cf5680977fe692fa3ddb68dfc3f63ced6d337da4251de226 [INFO] running `Command { std: "docker" "start" "-a" "172d5e428a23caa2cf5680977fe692fa3ddb68dfc3f63ced6d337da4251de226", kill_on_drop: false }` [INFO] [stdout] [INFO] [stderr] warning: associated function is never used: `consume_until` [INFO] [stdout] running 18 tests [INFO] [stderr] --> rebo/src/parser/mod.rs:309:8 [INFO] [stderr] | [INFO] [stderr] 309 | fn consume_until(&mut self, until: &[TokenType]) -> Consumed<'i> { [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: enum is never used: `Consumed` [INFO] [stderr] --> rebo/src/parser/mod.rs:347:6 [INFO] [stderr] | [INFO] [stderr] 347 | enum Consumed<'i> { [INFO] [stderr] | ^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: `rebo` (lib) generated 2 warnings [INFO] [stderr] warning: `rebo` (lib test) generated 2 warnings (2 duplicates) [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.05s [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/rebo-05c30fa720b17bea) [INFO] [stderr] error[0020]: conflicting duplicate global definition [INFO] [stderr] ┌─ test:3:16 [INFO] [stderr] │ [INFO] [stderr] 3 │ struct Foo {} [INFO] [stderr] │ --- first defined here [INFO] [stderr] 4 │ // recursive struct definition [INFO] [stderr] 5 │ struct Foo { [INFO] [stderr] │ ^^^ also defined here [INFO] [stderr] [INFO] [stderr] error[0026]: missing struct field [INFO] [stderr] ┌─ test:22:19 [INFO] [stderr] │ [INFO] [stderr] 22 │ let bar = Bar {}; [INFO] [stderr] │ ^^^ missing field `i` [INFO] [stderr] [INFO] [stderr] warning[0029]: unnecessary parenthesis surrounding if condition [INFO] [stderr] ┌─ test:2:15 [INFO] [stderr] │ [INFO] [stderr] 2 │ while (true) {} [INFO] [stderr] │ ------ in this condition [INFO] [stderr] │ [INFO] [stderr] = remove the parenthesis [INFO] [stderr] [INFO] [stderr] error[0011]: type conflict [INFO] [stderr] ┌─ test:3:15 [INFO] [stderr] │ [INFO] [stderr] 3 │ while 1337 {} [INFO] [stderr] │ ^^^^ [INFO] [stderr] │ │ [INFO] [stderr] │ inferred type for `1337` is `int` [INFO] [stderr] │ tried to assign type `bool` [INFO] [stderr] [INFO] [stderr] error[0011]: type conflict [INFO] [stderr] ┌─ test:3:15 [INFO] [stderr] │ [INFO] [stderr] 3 │ while 1337 {} [INFO] [stderr] │ ^^^^ [INFO] [stderr] │ │ [INFO] [stderr] │ inferred type is int [INFO] [stderr] │ but expected `bool` [INFO] [stderr] [INFO] [stdout] test tests::while_diagnostics ... ok [INFO] [stderr] error[0011]: type conflict [INFO] [stderr] ┌─ test:2:9 [INFO] [stderr] │ [INFO] [stderr] 2 │ 2 + fn foo() {} && true [INFO] [stderr] │ ^^^^^^^^^^^^^^^-------- [INFO] [stderr] │ │ [INFO] [stderr] │ inferred type for `2 + fn foo() {}` is `bool` [INFO] [stderr] │ tried to assign type `int` [INFO] [stderr] [INFO] [stderr] error[0033]: unterminated format string [INFO] [stderr] ┌─ test:2:11 [INFO] [stderr] │ [INFO] [stderr] 2 │ f"uiae [INFO] [stderr] │ ╭───────────^ [INFO] [stderr] 3 │ │ [INFO] [stderr] │ │ - try adding a closing `"` [INFO] [stderr] │ ╰────^ this format string is unterminated [INFO] [stderr] [INFO] [stderr] error[0011]: type conflict [INFO] [stderr] ┌─ test:2:9 [INFO] [stderr] │ [INFO] [stderr] 2 │ 2 + fn foo() {} && true [INFO] [stderr] │ ^^^^^^^^^^^^^^^-------- [INFO] [stderr] │ │ [INFO] [stderr] │ inferred type for `2 + fn foo() {}` is `bool` [INFO] [stderr] │ tried to assign type `()` [INFO] [stderr] [INFO] [stderr] error[0011]: type conflict [INFO] [stderr] ┌─ test:2:9 [INFO] [stderr] │ [INFO] [stderr] 2 │ 2 + fn foo() {} && true [INFO] [stderr] │ ^^^^^^^^^^^^^^^ [INFO] [stderr] │ │ [INFO] [stderr] │ tried to assign type `bool` [INFO] [stderr] │ inferred type for `2` is `int` [INFO] [stderr] [INFO] [stderr] error[0011]: type conflict [INFO] [stderr] ┌─ test:2:9 [INFO] [stderr] │ [INFO] [stderr] 2 │ 2 + fn foo() {} && true [INFO] [stderr] │ ^^^^^^^^^^^^^^^ [INFO] [stderr] │ │ │ [INFO] [stderr] │ │ inferred type for `fn foo() {}` is `()` [INFO] [stderr] │ tried to assign type `bool` [INFO] [stderr] [INFO] [stderr] error[0011]: type conflict [INFO] [stderr] ┌─ test:2:13 [INFO] [stderr] │ [INFO] [stderr] 2 │ 2 + fn foo() {} && true [INFO] [stderr] │ ^^^^^^^^^^^ [INFO] [stderr] │ │ [INFO] [stderr] │ inferred type is () [INFO] [stderr] │ but expected one of `int`, `float` [INFO] [stderr] [INFO] [stderr] error[0011]: type conflict [INFO] [stderr] ┌─ test:2:9 [INFO] [stderr] │ [INFO] [stderr] 2 │ 2 + fn foo() {} && true [INFO] [stderr] │ ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] │ │ [INFO] [stdout] test tests::format_string_diagnostics2 ... ok [INFO] [stderr] │ inferred type is bool [INFO] [stderr] │ but expected one of `int`, `float` [INFO] [stderr] [INFO] [stderr] error[0025]: unknown struct field in initializer [INFO] [stderr] ┌─ test:17:16 [INFO] [stderr] │ [INFO] [stderr] 17 │ struct Bar { [INFO] [stderr] │ --- defined here [INFO] [stderr] · [INFO] [stderr] 27 │ uiae: 42, [INFO] [stderr] │ ^^^^ unknown field `uiae` [INFO] [stderr] [INFO] [stdout] test tests::pre_parsed ... ok [INFO] [stderr] error[0007]: assignment to immutable variable [INFO] [stdout] test tests::while_usage ... ok [INFO] [stderr] ┌─ test:22:13 [INFO] [stderr] │ [INFO] [stderr] 22 │ let bar = Bar {}; [INFO] [stderr] │ --- [INFO] [stdout] test tests::assert_true ... ok [INFO] [stderr] │ │ [INFO] [stderr] │ `bar` defined here [INFO] [stderr] │ help: try using `mut bar` here [INFO] [stderr] · [INFO] [stderr] 38 │ bar.i = 42; [INFO] [stderr] │ ^^^ variable `bar` is assigned to even though it's not declared as mutable [INFO] [stderr] [INFO] [stderr] error[0023]: recursive struct [INFO] [stderr] ┌─ test:5:16 [INFO] [stderr] │ [INFO] [stderr] 5 │ struct Foo { [INFO] [stderr] │ ^^^ this struct is recursive via `Foo.foo` [INFO] [stderr] │ [INFO] [stderr] = recursive structs can never be initialized [INFO] [stderr] [INFO] [stderr] error[0023]: recursive struct [INFO] [stderr] ┌─ test:10:16 [INFO] [stderr] │ [INFO] [stderr] 10 │ struct Foo2 { [INFO] [stderr] │ ^^^^ this struct is recursive via `Foo2.foo.foo` [INFO] [stderr] │ [INFO] [stderr] = recursive structs can never be initialized [INFO] [stderr] [INFO] [stderr] error[0023]: recursive struct [INFO] [stderr] ┌─ test:13:16 [INFO] [stderr] │ [INFO] [stderr] 13 │ struct Foo3 { [INFO] [stderr] │ ^^^^ this struct is recursive via `Foo3.foo.foo` [INFO] [stderr] │ [INFO] [stderr] = recursive structs can never be initialized [INFO] [stderr] [INFO] [stderr] error[0035]: unescaped `}` in format string [INFO] [stderr] ┌─ test:2:11 [INFO] [stderr] │ [INFO] [stderr] 2 │ 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:3:11 [INFO] [stderr] │ [INFO] [stderr] 3 │ f"uiae {"; [INFO] [stderr] │ ╭───────────────────^ [INFO] [stderr] │ │ ╭───────────' [INFO] [stderr] 4 │ │ │ [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[0002]: unterminated double quote string [INFO] [stderr] ┌─ test:3:17 [INFO] [stderr] │ [INFO] [stderr] 3 │ f"uiae {"; [INFO] [stderr] │ ╭─────────────────^ [INFO] [stderr] 4 │ │ [INFO] [stderr] │ │ - try adding a closing `"` [INFO] [stderr] │ ╰────^ this string is unterminated [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 condition [INFO] [stderr] │ [INFO] [stderr] = remove the parenthesis [INFO] [stderr] [INFO] [stderr] error[0011]: type conflict [INFO] [stderr] ┌─ test:34:9 [INFO] [stderr] │ [INFO] [stderr] 34 │ let qux = Qux {}; [INFO] [stderr] │ ---------------- inferred type for `qux` is `Qux` [INFO] [stderr] 35 │ baz == qux; [INFO] [stderr] │ ^^^^^^^^^^ tried to assign type `Baz` [INFO] [stderr] [INFO] [stderr] error[0011]: type conflict [INFO] [stderr] ┌─ test:33:9 [INFO] [stderr] │ [INFO] [stderr] 33 │ let baz = Baz {}; [INFO] [stderr] │ ---------------- inferred type for `baz` is `Baz` [INFO] [stderr] 34 │ let qux = Qux {}; [INFO] [stderr] 35 │ baz == qux; [INFO] [stderr] │ ^^^^^^^^^^ tried to assign type `Qux` [INFO] [stderr] [INFO] [stderr] error[0030]: missing else clause [INFO] [stderr] ┌─ test:4:9 [INFO] [stderr] │ [INFO] [stderr] 4 │ 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] = if the `if` should not return a value, all branches must be terminated with a `;` [INFO] [stderr] [INFO] [stderr] error[0032]: missing branch body [INFO] [stderr] ┌─ test:5:9 [INFO] [stderr] │ [INFO] [stderr] 5 │ if true { 1337 } else {} [INFO] [stderr] │ ----------------------^^ [INFO] [stderr] │ │ │ [INFO] [stderr] │ │ this branch body is expected to evaluate to a value [INFO] [stderr] │ all branches in this if must evaluate to a value [INFO] [stderr] │ [INFO] [stderr] = if not all branches are terminated with a `;` an if-expression evalutes to a value [INFO] [stderr] [INFO] [stderr] error[0031]: missing branch value [INFO] [stderr] ┌─ test:6:9 [INFO] [stderr] │ [INFO] [stderr] 6 │ if true { 1337 } else { 42; } [INFO] [stderr] │ ----------------------^^^^^^^ [INFO] [stderr] │ │ │ [INFO] [stderr] │ │ this block doesn't evaluate to a value [INFO] [stderr] │ all branches in this if must evaluate to a value [INFO] [stderr] │ [INFO] [stderr] = if not all branches are terminated with a `;` an if-expression evalutes to a value [INFO] [stderr] [INFO] [stderr] error[0011]: type conflict [INFO] [stderr] ┌─ test:7:12 [INFO] [stderr] │ [INFO] [stderr] 7 │ if 1337 {} [INFO] [stderr] │ ^^^^ [INFO] [stderr] │ │ [INFO] [stderr] │ inferred type for `1337` is `int` [INFO] [stderr] │ tried to assign type `bool` [INFO] [stderr] [INFO] [stderr] error[0011]: type conflict [INFO] [stderr] ┌─ test:2:19 [INFO] [stderr] │ [INFO] [stderr] 2 │ if true { 1337 } else { "" } [INFO] [stderr] │ ---- ^^ tried to assign type `string` [INFO] [stderr] │ │ [INFO] [stderr] │ inferred type for `if true { 1337 } else { "" }` is `int` [INFO] [stderr] [INFO] [stderr] error[0011]: type conflict [INFO] [stderr] ┌─ test:2:33 [INFO] [stderr] │ [INFO] [stderr] 2 │ if true { 1337 } else { "" } [INFO] [stderr] │ ^^ [INFO] [stderr] │ │ [INFO] [stderr] │ inferred type for `""` is `string` [INFO] [stderr] │ tried to assign type `int` [INFO] [stderr] [INFO] [stderr] error[0011]: type conflict [INFO] [stderr] ┌─ test:7:12 [INFO] [stderr] │ [INFO] [stderr] 7 │ if 1337 {} [INFO] [stderr] │ ^^^^ [INFO] [stderr] │ │ [INFO] [stderr] │ inferred type is int [INFO] [stderr] │ but expected `bool` [INFO] [stderr] [INFO] [stdout] test tests::format_string_diagnostics1 ... ok [INFO] [stdout] test tests::struct_diagnostics ... ok [INFO] [stdout] test tests::test_math_precedence ... ok [INFO] [stdout] test tests::if_else_diagnostics ... ok [INFO] [stdout] test tests::format_strings ... ok [INFO] [stdout] test tests::if_else_usage ... ok [INFO] [stdout] test tests::boolean_short_circuiting ... ok [INFO] [stderr] error[0020]: conflicting duplicate global definition [INFO] [stderr] ┌─ external:1:1 [INFO] [stderr] │ [INFO] [stderr] 1 │ defined externally [INFO] [stderr] │ ------------------ first defined here [INFO] [stderr] │ [INFO] [stderr] ┌─ test:5:12 [INFO] [stderr] │ [INFO] [stderr] 5 │ fn add_one() -> () {} [INFO] [stderr] │ ^^^^^^^ also defined here [INFO] [stderr] [INFO] [stderr] error[0020]: conflicting duplicate global definition [INFO] [stderr] ┌─ test:6:12 [INFO] [stderr] │ [INFO] [stderr] 6 │ fn foo() -> int {} [INFO] [stderr] │ --- first defined here [INFO] [stderr] 7 │ fn foo(mut x: int, mut y: int) -> int { [INFO] [stderr] │ ^^^ also defined here [INFO] [stderr] [INFO] [stderr] error[0019]: empty function body [INFO] [stderr] ┌─ test:6:12 [INFO] [stderr] │ [INFO] [stderr] 6 │ 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:7:12 [INFO] [stderr] │ [INFO] [stderr] 7 │ fn foo(mut x: int, mut y: int) -> int { [INFO] [stderr] │ --- expected 2 arguments [INFO] [stderr] · [INFO] [stderr] 14 │ print(foo(5)); [INFO] [stderr] │ ^ found 1 arguments [INFO] [stderr] [INFO] [stderr] error[0014]: tried to call a non-function [INFO] [stderr] ┌─ test:15:13 [INFO] [stderr] │ [INFO] [stderr] 15 │ let bar = 5; [INFO] [stderr] │ --- defined here [INFO] [stderr] 16 │ bar(5); [INFO] [stderr] │ ^^^ this is not a function [INFO] [stderr] [INFO] [stderr] error[0011]: type conflict [INFO] [stderr] ┌─ test:3:19 [INFO] [stderr] │ [INFO] [stderr] 3 │ takes_int(2.0); [INFO] [stderr] │ ^^^ [INFO] [stderr] │ │ [INFO] [stderr] │ inferred type for `2.0` is `float` [INFO] [stderr] │ tried to assign type `int` [INFO] [stderr] [INFO] [stderr] error[0011]: type conflict [INFO] [stderr] ┌─ test:12:27 [INFO] [stderr] │ [INFO] [stderr] 12 │ fn bar() -> int { 2.0 } [INFO] [stderr] │ ^^^ [INFO] [stderr] │ │ [INFO] [stderr] │ inferred type for `2.0` is `float` [INFO] [stderr] │ tried to assign type `int` [INFO] [stderr] [INFO] [stderr] error[0011]: type conflict [INFO] [stderr] ┌─ test:3:19 [INFO] [stderr] │ [INFO] [stderr] 3 │ takes_int(2.0); [INFO] [stderr] │ ^^^ [INFO] [stderr] │ │ [INFO] [stderr] │ inferred type is float [INFO] [stderr] │ but expected `int` [INFO] [stderr] [INFO] [stdout] test tests::function_diagnostics ... ok [INFO] [stdout] test tests::struct_definitions ... ok [INFO] [stdout] test tests::functions ... ok [INFO] [stdout] test tests::test_panic - should panic ... ok [INFO] [stdout] test tests::assert_false - should panic ... ok [INFO] [stdout] test tests::test_comparison ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 18 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.41s [INFO] [stdout] [INFO] [stderr] Running unittests (/opt/rustwide/target/debug/deps/rebo-5d7dffedcf411502) [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 (/opt/rustwide/target/debug/deps/rebo_derive-7d378c16d2a84045) [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 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_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" "172d5e428a23caa2cf5680977fe692fa3ddb68dfc3f63ced6d337da4251de226", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "172d5e428a23caa2cf5680977fe692fa3ddb68dfc3f63ced6d337da4251de226", kill_on_drop: false }` [INFO] [stdout] 172d5e428a23caa2cf5680977fe692fa3ddb68dfc3f63ced6d337da4251de226