[INFO] cloning repository https://github.com/cesar-guibo/Compiler [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/cesar-guibo/Compiler" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcesar-guibo%2FCompiler", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcesar-guibo%2FCompiler'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 43c16c34c1076f0b14af1aa923a3ae2ffcea4f60 [INFO] checking cesar-guibo/Compiler/43c16c34c1076f0b14af1aa923a3ae2ffcea4f60 against try#8d46be77cd48fdbcced888d027457e2c9cf2aa16 for pr-142723 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcesar-guibo%2FCompiler" "/workspace/builds/worker-2-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/cesar-guibo/Compiler on toolchain 8d46be77cd48fdbcced888d027457e2c9cf2aa16 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+8d46be77cd48fdbcced888d027457e2c9cf2aa16" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/cesar-guibo/Compiler [INFO] finished tweaking git repo https://github.com/cesar-guibo/Compiler [INFO] tweaked toml for git repo https://github.com/cesar-guibo/Compiler written to /workspace/builds/worker-2-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/cesar-guibo/Compiler 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" "+8d46be77cd48fdbcced888d027457e2c9cf2aa16" "fetch" "--manifest-path" "Cargo.toml", 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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8d46be77cd48fdbcced888d027457e2c9cf2aa16" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 92fcc8b467e7053ae99cb41aa6331f8fe6a5d5e029837288b6a6c5cc5ebbac08 [INFO] running `Command { std: "docker" "start" "-a" "92fcc8b467e7053ae99cb41aa6331f8fe6a5d5e029837288b6a6c5cc5ebbac08", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "92fcc8b467e7053ae99cb41aa6331f8fe6a5d5e029837288b6a6c5cc5ebbac08", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "92fcc8b467e7053ae99cb41aa6331f8fe6a5d5e029837288b6a6c5cc5ebbac08", kill_on_drop: false }` [INFO] [stdout] 92fcc8b467e7053ae99cb41aa6331f8fe6a5d5e029837288b6a6c5cc5ebbac08 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/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:90999bfc7ae267e83380e433d8e61a7c072ca6729e92edbae886d3423b3a6f4c" "/opt/rustwide/cargo-home/bin/cargo" "+8d46be77cd48fdbcced888d027457e2c9cf2aa16" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0820ee708cbb278adde89bd4c70c59e7d88f258a7c1c68dcb8229310c349a666 [INFO] running `Command { std: "docker" "start" "-a" "0820ee708cbb278adde89bd4c70c59e7d88f258a7c1c68dcb8229310c349a666", kill_on_drop: false }` [INFO] [stderr] Checking compiler v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused import: `TypedVariable` [INFO] [stdout] --> src/instructions.rs:1:38 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::expressions::{Expression, TypedVariable}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TypedVariable` [INFO] [stdout] --> src/instructions.rs:1:38 [INFO] [stdout] | [INFO] [stdout] 1 | use crate::expressions::{Expression, TypedVariable}; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: impl trait in impl method signature does not match trait method signature [INFO] [stdout] --> src/lexer/regex.rs:93:29 [INFO] [stdout] | [INFO] [stdout] 93 | fn root(self: &Self) -> RegexAstSubtree { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/parser.rs:30:23 [INFO] [stdout] | [INFO] [stdout] 30 | fn root(&self) -> impl AstView; [INFO] [stdout] | ------------------------ return type from trait method defined here [INFO] [stdout] | [INFO] [stdout] = note: add `#[allow(refining_impl_trait)]` if it is intended for this to be part of the public API of this crate [INFO] [stdout] = note: we are soliciting feedback, see issue #121718 for more information [INFO] [stdout] = note: `#[warn(refining_impl_trait_internal)]` on by default [INFO] [stdout] help: replace the return type so that it matches the trait [INFO] [stdout] | [INFO] [stdout] 93 - fn root(self: &Self) -> RegexAstSubtree { [INFO] [stdout] 93 + fn root(self: &Self) -> impl AstView<'_, RegexUnaryOp, RegexBinaryOp, RegexTernaryOp, char> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: impl trait in impl method signature does not match trait method signature [INFO] [stdout] --> src/lexer/regex.rs:93:29 [INFO] [stdout] | [INFO] [stdout] 93 | fn root(self: &Self) -> RegexAstSubtree { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/parser.rs:30:23 [INFO] [stdout] | [INFO] [stdout] 30 | fn root(&self) -> impl AstView; [INFO] [stdout] | ------------------------ return type from trait method defined here [INFO] [stdout] | [INFO] [stdout] = note: add `#[allow(refining_impl_trait)]` if it is intended for this to be part of the public API of this crate [INFO] [stdout] = note: we are soliciting feedback, see issue #121718 for more information [INFO] [stdout] = note: `#[warn(refining_impl_trait_internal)]` on by default [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/compiler-a0df0383be56d987.long-type-13374275686999536186.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] help: replace the return type so that it matches the trait [INFO] [stdout] | [INFO] [stdout] 93 - fn root(self: &Self) -> RegexAstSubtree { [INFO] [stdout] 93 + fn root(self: &Self) -> impl parser::AstView<'_, regex::RegexUnaryOp, regex::RegexBinaryOp, regex::RegexTernaryOp, char> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: impl trait in impl method signature does not match trait method signature [INFO] [stdout] --> src/expressions.rs:221:29 [INFO] [stdout] | [INFO] [stdout] 221 | fn root(self: &Self) -> ExpressionView { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/parser.rs:30:23 [INFO] [stdout] | [INFO] [stdout] 30 | fn root(&self) -> impl AstView; [INFO] [stdout] | ------------------------ return type from trait method defined here [INFO] [stdout] | [INFO] [stdout] = note: add `#[allow(refining_impl_trait)]` if it is intended for this to be part of the public API of this crate [INFO] [stdout] = note: we are soliciting feedback, see issue #121718 for more information [INFO] [stdout] help: replace the return type so that it matches the trait [INFO] [stdout] | [INFO] [stdout] 221 - fn root(self: &Self) -> ExpressionView { [INFO] [stdout] 221 + fn root(self: &Self) -> impl AstView<'_, UnaryOp, BinaryOp, TernaryOp, Value> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: impl trait in impl method signature does not match trait method signature [INFO] [stdout] --> src/instructions.rs:87:29 [INFO] [stdout] | [INFO] [stdout] 87 | fn root(self: &Self) -> InstructionView { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/parser.rs:30:23 [INFO] [stdout] | [INFO] [stdout] 30 | fn root(&self) -> impl AstView; [INFO] [stdout] | ------------------------ return type from trait method defined here [INFO] [stdout] | [INFO] [stdout] = note: add `#[allow(refining_impl_trait)]` if it is intended for this to be part of the public API of this crate [INFO] [stdout] = note: we are soliciting feedback, see issue #121718 for more information [INFO] [stdout] help: replace the return type so that it matches the trait [INFO] [stdout] | [INFO] [stdout] 87 - fn root(self: &Self) -> InstructionView { [INFO] [stdout] 87 + fn root(self: &Self) -> impl AstView<'_, UnaryInstruction, BinaryInstruction, TernaryInstruction, InstructionValue> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0046]: not all trait items implemented, missing: `apply_with_state` [INFO] [stdout] --> src/lexer/mod.rs:292:5 [INFO] [stdout] | [INFO] [stdout] 292 | impl<'a> AstView<'a, RegexUnaryOp, RegexBinaryOp, RegexTernaryOp, char> for MockedRegexAstView<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `apply_with_state` in implementation [INFO] [stdout] | [INFO] [stdout] ::: src/parser.rs:26:5 [INFO] [stdout] | [INFO] [stdout] 26 | fn apply_with_state, Z) -> (W, Z)>(self: Self, f: &F, s0: Z) -> (Option, Z); [INFO] [stdout] | ------------------------------------------------------------------------------------------------------------- `apply_with_state` from trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MockedRegexAst: AstDrawable` is not satisfied [INFO] [stdout] --> src/lexer/mod.rs:317:90 [INFO] [stdout] | [INFO] [stdout] 317 | impl Ast, char> for MockedRegexAst { [INFO] [stdout] | ^^^^^^^^^^^^^^ the trait `AstDrawable` is not implemented for `MockedRegexAst` [INFO] [stdout] | [INFO] [stdout] = help: the following other types implement trait `AstDrawable`: [INFO] [stdout] Expression [INFO] [stdout] Instruction [INFO] [stdout] InstructionValue [INFO] [stdout] String [INFO] [stdout] TypedVariable [INFO] [stdout] Value [INFO] [stdout] char [INFO] [stdout] regex::RegexAst [INFO] [stdout] note: required by a bound in `parser::Ast` [INFO] [stdout] --> src/parser.rs:29:113 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Ast : AstDrawable { [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Ast` [INFO] [stdout] = note: `Ast` is a "sealed trait", because to implement it you also need to implement `parser::AstDrawable`, which is not accessible; this is usually done to force you to use one of the provided types that already implement it [INFO] [stdout] = help: the following types implement the trait: [INFO] [stdout] char [INFO] [stdout] lexer::regex::RegexAst [INFO] [stdout] expressions::TypedVariable [INFO] [stdout] std::string::String [INFO] [stdout] expressions::Value [INFO] [stdout] expressions::Expression [INFO] [stdout] instructions::InstructionValue [INFO] [stdout] instructions::Instruction [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: impl trait in impl method signature does not match trait method signature [INFO] [stdout] --> src/lexer/mod.rs:318:33 [INFO] [stdout] | [INFO] [stdout] 318 | fn root(self: &Self) -> MockedRegexAstView { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/parser.rs:30:23 [INFO] [stdout] | [INFO] [stdout] 30 | fn root(&self) -> impl AstView; [INFO] [stdout] | ------------------------ return type from trait method defined here [INFO] [stdout] | [INFO] [stdout] = note: add `#[allow(refining_impl_trait)]` if it is intended for this to be part of the public API of this crate [INFO] [stdout] = note: we are soliciting feedback, see issue #121718 for more information [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/compiler-a0df0383be56d987.long-type-594765011866360947.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] help: replace the return type so that it matches the trait [INFO] [stdout] | [INFO] [stdout] 318 - fn root(self: &Self) -> MockedRegexAstView { [INFO] [stdout] 318 + fn root(self: &Self) -> impl parser::AstView<'_, regex::RegexUnaryOp, regex::RegexBinaryOp, regex::RegexTernaryOp, char> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: impl trait in impl method signature does not match trait method signature [INFO] [stdout] --> src/expressions.rs:221:29 [INFO] [stdout] | [INFO] [stdout] 221 | fn root(self: &Self) -> ExpressionView { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/parser.rs:30:23 [INFO] [stdout] | [INFO] [stdout] 30 | fn root(&self) -> impl AstView; [INFO] [stdout] | ------------------------ return type from trait method defined here [INFO] [stdout] | [INFO] [stdout] = note: add `#[allow(refining_impl_trait)]` if it is intended for this to be part of the public API of this crate [INFO] [stdout] = note: we are soliciting feedback, see issue #121718 for more information [INFO] [stdout] help: replace the return type so that it matches the trait [INFO] [stdout] | [INFO] [stdout] 221 - fn root(self: &Self) -> ExpressionView { [INFO] [stdout] 221 + fn root(self: &Self) -> impl parser::AstView<'_, UnaryOp, BinaryOp, TernaryOp, Value> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: impl trait in impl method signature does not match trait method signature [INFO] [stdout] --> src/instructions.rs:87:29 [INFO] [stdout] | [INFO] [stdout] 87 | fn root(self: &Self) -> InstructionView { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: src/parser.rs:30:23 [INFO] [stdout] | [INFO] [stdout] 30 | fn root(&self) -> impl AstView; [INFO] [stdout] | ------------------------ return type from trait method defined here [INFO] [stdout] | [INFO] [stdout] = note: add `#[allow(refining_impl_trait)]` if it is intended for this to be part of the public API of this crate [INFO] [stdout] = note: we are soliciting feedback, see issue #121718 for more information [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/compiler-a0df0383be56d987.long-type-6935282951677761129.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] help: replace the return type so that it matches the trait [INFO] [stdout] | [INFO] [stdout] 87 - fn root(self: &Self) -> InstructionView { [INFO] [stdout] 87 + fn root(self: &Self) -> impl parser::AstView<'_, UnaryInstruction, BinaryInstruction, TernaryInstruction, InstructionValue> { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/expressions.rs:343:44 [INFO] [stdout] | [INFO] [stdout] 343 | self.root().apply_with_state(&|op, mut scope: HashMap| { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `linear_representation` is never read [INFO] [stdout] --> src/main.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | let mut linear_representation = None; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple variants are never constructed [INFO] [stdout] --> src/expressions.rs:22:5 [INFO] [stdout] | [INFO] [stdout] 21 | pub enum UnaryOp { [INFO] [stdout] | ------- variants in this enum [INFO] [stdout] 22 | SuffixIncrement, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 23 | SuffixDecrement, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 24 | PrefixIncrement, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 25 | PrefixDecrement, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] 26 | FunctionCall, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 27 | AttributeAcccess, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 28 | AttributePointerAccess, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 29 | UnaryPlus, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 30 | UnaryMinus, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 31 | LogicalNot, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 32 | BitwiseNot, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 33 | Cast, [INFO] [stdout] | ^^^^ [INFO] [stdout] 34 | Dereference, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] 35 | AddressOf, [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] 36 | Sizeof [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `UnaryOp` has derived impls for the traits `Debug` and `Clone`, but these are intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lexer/mod.rs:72:27 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn tokenize(self: &Self, s: String) -> TokenIter { [INFO] [stdout] | ^^^^^ ------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 72 | pub fn tokenize(self: &Self, s: String) -> TokenIter<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/lexer/regex.rs:93:19 [INFO] [stdout] | [INFO] [stdout] 93 | fn root(self: &Self) -> RegexAstSubtree { [INFO] [stdout] | ^^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 93 | fn root(self: &Self) -> RegexAstSubtree<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/parser.rs:30:13 [INFO] [stdout] | [INFO] [stdout] 30 | fn root(&self) -> impl AstView; [INFO] [stdout] | ^^^^^ ------------------------ the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 30 | fn root(&self) -> impl AstView<'_, T, U, V, Y>; [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/expressions.rs:221:19 [INFO] [stdout] | [INFO] [stdout] 221 | fn root(self: &Self) -> ExpressionView { [INFO] [stdout] | ^^^^^ ----------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 221 | fn root(self: &Self) -> ExpressionView<'_, T> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: lifetime flowing from input to output with different syntax can be confusing [INFO] [stdout] --> src/instructions.rs:87:19 [INFO] [stdout] | [INFO] [stdout] 87 | fn root(self: &Self) -> InstructionView { [INFO] [stdout] | ^^^^^ --------------- the lifetime gets resolved as `'_` [INFO] [stdout] | | [INFO] [stdout] | this lifetime flows to the output [INFO] [stdout] | [INFO] [stdout] help: one option is to remove the lifetime for references and use the anonymous lifetime for paths [INFO] [stdout] | [INFO] [stdout] 87 | fn root(self: &Self) -> InstructionView<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/expressions.rs:343:44 [INFO] [stdout] | [INFO] [stdout] 343 | self.root().apply_with_state(&|op, mut scope: HashMap| { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: value assigned to `linear_representation` is never read [INFO] [stdout] --> src/main.rs:26:13 [INFO] [stdout] | [INFO] [stdout] 26 | let mut linear_representation = None; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = help: maybe it is overwritten before being read? [INFO] [stdout] = note: `#[warn(unused_assignments)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0046, E0277. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0046`. [INFO] [stdout] [INFO] [stderr] error: could not compile `compiler` (bin "compiler" test) due to 2 previous errors; 7 warnings emitted [INFO] running `Command { std: "docker" "inspect" "0820ee708cbb278adde89bd4c70c59e7d88f258a7c1c68dcb8229310c349a666", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "0820ee708cbb278adde89bd4c70c59e7d88f258a7c1c68dcb8229310c349a666", kill_on_drop: false }` [INFO] [stdout] 0820ee708cbb278adde89bd4c70c59e7d88f258a7c1c68dcb8229310c349a666