[INFO] cloning repository https://github.com/antoniusnaumann/wtf-lang [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/antoniusnaumann/wtf-lang" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fantoniusnaumann%2Fwtf-lang", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fantoniusnaumann%2Fwtf-lang'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 6a8bafd5ab02308c7857aa130e8a686d80c0692e [INFO] checking antoniusnaumann/wtf-lang against a5689b034ad287112f709693384a37f1377eb9cc for pr-129249-3 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fantoniusnaumann%2Fwtf-lang" "/workspace/builds/worker-1-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/antoniusnaumann/wtf-lang [INFO] finished tweaking git repo https://github.com/antoniusnaumann/wtf-lang [INFO] tweaked toml for git repo https://github.com/antoniusnaumann/wtf-lang written to /workspace/builds/worker-1-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/antoniusnaumann/wtf-lang on toolchain a5689b034ad287112f709693384a37f1377eb9cc [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/antoniusnaumann/wtf-lang 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" "+a5689b034ad287112f709693384a37f1377eb9cc" "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-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] ba27a4f74911f3bc0644856c0e34a654d53d480c8eaca578b8bd282411672add [INFO] running `Command { std: "docker" "start" "ba27a4f74911f3bc0644856c0e34a654d53d480c8eaca578b8bd282411672add", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ba27a4f74911f3bc0644856c0e34a654d53d480c8eaca578b8bd282411672add", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ba27a4f74911f3bc0644856c0e34a654d53d480c8eaca578b8bd282411672add" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "ba27a4f74911f3bc0644856c0e34a654d53d480c8eaca578b8bd282411672add", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "ba27a4f74911f3bc0644856c0e34a654d53d480c8eaca578b8bd282411672add" "/opt/rustwide/cargo-home/bin/cargo" "+a5689b034ad287112f709693384a37f1377eb9cc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling serde v1.0.217 [INFO] [stderr] Compiling syn v2.0.93 [INFO] [stderr] Checking wtf-tokens v0.0.0 (/opt/rustwide/workdir/wtf-tokens) [INFO] [stderr] Checking foldhash v0.1.4 [INFO] [stderr] Checking equivalent v1.0.1 [INFO] [stderr] Compiling serde_json v1.0.134 [INFO] [stderr] Checking bitflags v2.6.0 [INFO] [stderr] Checking litemap v0.8.0 [INFO] [stderr] Checking writeable v0.6.1 [INFO] [stderr] Compiling icu_properties_data v2.0.1 [INFO] [stderr] Compiling icu_normalizer_data v2.0.0 [INFO] [stderr] Compiling lock_api v0.4.13 [INFO] [stderr] Compiling libc v0.2.169 [INFO] [stderr] Checking ahash v0.8.11 [INFO] [stderr] Compiling parking_lot_core v0.9.11 [INFO] [stderr] Checking leb128 v0.2.5 [INFO] [stderr] Checking itoa v1.0.14 [INFO] [stderr] Checking wtf-error v0.0.0 (/opt/rustwide/workdir/wtf-error) [INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing [INFO] [stdout] --> wtf-tokens/src/lib.rs:260:35 [INFO] [stdout] | [INFO] [stdout] 260 | pub fn try_as_version_literal(&self) -> Cow { [INFO] [stdout] | ^^^^^ ^^^^^^^^^^ the same lifetime is hidden here [INFO] [stdout] | | [INFO] [stdout] | the lifetime is elided here [INFO] [stdout] | [INFO] [stdout] = help: the same lifetime is referred to in inconsistent ways, making the signature confusing [INFO] [stdout] = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default [INFO] [stdout] help: use `'_` for type paths [INFO] [stdout] | [INFO] [stdout] 260 | pub fn try_as_version_literal(&self) -> Cow<'_, Token> { [INFO] [stdout] | +++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking wtf-ast v0.0.0 (/opt/rustwide/workdir/wtf-ast) [INFO] [stderr] Compiling semver v1.0.24 [INFO] [stderr] Compiling cranelift-isle v0.115.0 [INFO] [stderr] Compiling wasm-encoder v0.222.0 [INFO] [stderr] Checking bumpalo v3.16.0 [INFO] [stderr] Compiling target-lexicon v0.12.16 [INFO] [stderr] Compiling cranelift-codegen-shared v0.115.0 [INFO] [stderr] Compiling pkg-config v0.3.31 [INFO] [stdout] warning: unused variable: `members` [INFO] [stdout] --> wtf-ast/src/display.rs:224:39 [INFO] [stdout] | [INFO] [stdout] 224 | TypeAnnotationKind::Tuple(members) => { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_members` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `expression` [INFO] [stdout] --> wtf-ast/src/display.rs:324:46 [INFO] [stdout] | [INFO] [stdout] 324 | ExpressionKind::YeetExpression { expression } => todo!(), [INFO] [stdout] | ^^^^^^^^^^ help: try ignoring the field: `expression: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking wtf-parser v0.0.0 (/opt/rustwide/workdir/wtf-parser) [INFO] [stderr] Checking wtf-hir v0.0.0 (/opt/rustwide/workdir/wtf-hir) [INFO] [stderr] Compiling cranelift-codegen-meta v0.115.0 [INFO] [stderr] Checking hashbrown v0.14.5 [INFO] [stderr] Checking signal-hook-registry v1.4.5 [INFO] [stderr] Checking socket2 v0.5.8 [INFO] [stderr] Checking mio v1.0.4 [INFO] [stdout] warning: variants `Paren` and `Bracket` are never constructed [INFO] [stdout] --> wtf-parser/src/parser.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 9 | enum BraceType { [INFO] [stdout] | --------- variants in this enum [INFO] [stdout] 10 | Paren, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 11 | Bracket, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling rustix v0.38.42 [INFO] [stdout] error: useless conversion to the same type: `wtf_ast::TypeAnnotation` [INFO] [stdout] --> wtf-parser/src/parser.rs:317:44 [INFO] [stdout] | [INFO] [stdout] 317 | return Ok(TypeAnnotation::list(inner.into(), start.to(end))); [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: `#[deny(self_type_conversion)]` on by default [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 317 - return Ok(TypeAnnotation::list(inner.into(), start.to(end))); [INFO] [stdout] 317 + return Ok(TypeAnnotation::list(inner, start.to(end))); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 317 - return Ok(TypeAnnotation::list(inner.into(), start.to(end))); [INFO] [stdout] 317 + return Ok(TypeAnnotation::list(>::into(inner), start.to(end))); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `wtf_ast::TypeAnnotation` [INFO] [stdout] --> wtf-parser/src/parser.rs:355:57 [INFO] [stdout] | [INFO] [stdout] 355 | ... ty = TypeAnnotation::option(ty.into(), begin.to(end)); [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 355 - ty = TypeAnnotation::option(ty.into(), begin.to(end)); [INFO] [stdout] 355 + ty = TypeAnnotation::option(ty, begin.to(end)); [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 355 - ty = TypeAnnotation::option(ty.into(), begin.to(end)); [INFO] [stdout] 355 + ty = TypeAnnotation::option(>::into(ty), begin.to(end)); [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `wtf_ast::TypeAnnotation` [INFO] [stdout] --> wtf-parser/src/parser.rs:374:57 [INFO] [stdout] | [INFO] [stdout] 374 | ... ty = TypeAnnotation::result(ty.into(), err.into(), begin.to(end)) [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 374 - ty = TypeAnnotation::result(ty.into(), err.into(), begin.to(end)) [INFO] [stdout] 374 + ty = TypeAnnotation::result(ty, err.into(), begin.to(end)) [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 374 - ty = TypeAnnotation::result(ty.into(), err.into(), begin.to(end)) [INFO] [stdout] 374 + ty = TypeAnnotation::result(>::into(ty), err.into(), begin.to(end)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `wtf_ast::TypeAnnotation` [INFO] [stdout] --> wtf-parser/src/parser.rs:374:68 [INFO] [stdout] | [INFO] [stdout] 374 | ... ty = TypeAnnotation::result(ty.into(), err.into(), begin.to(end)) [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 374 - ty = TypeAnnotation::result(ty.into(), err.into(), begin.to(end)) [INFO] [stdout] 374 + ty = TypeAnnotation::result(ty.into(), err, begin.to(end)) [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 374 - ty = TypeAnnotation::result(ty.into(), err.into(), begin.to(end)) [INFO] [stdout] 374 + ty = TypeAnnotation::result(ty.into(), >::into(err), begin.to(end)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `std::string::String` [INFO] [stdout] --> wtf-parser/src/parser.rs:663:35 [INFO] [stdout] | [INFO] [stdout] 663 | variant_name: name.into(), [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 663 - variant_name: name.into(), [INFO] [stdout] 663 + variant_name: name, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 663 - variant_name: name.into(), [INFO] [stdout] 663 + variant_name: >::into(name), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `std::string::String` [INFO] [stdout] --> wtf-parser/src/parser.rs:668:44 [INFO] [stdout] | [INFO] [stdout] 668 | Ok(PatternKind::Identifier(name.into()).spanned(begin)) [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 668 - Ok(PatternKind::Identifier(name.into()).spanned(begin)) [INFO] [stdout] 668 + Ok(PatternKind::Identifier(name).spanned(begin)) [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 668 - Ok(PatternKind::Identifier(name.into()).spanned(begin)) [INFO] [stdout] 668 + Ok(PatternKind::Identifier(>::into(name)).spanned(begin)) [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `wtf-parser` (lib) due to 6 previous errors; 1 warning emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] warning: unused variable: `ast_types` [INFO] [stdout] --> wtf-hir/src/compiler.rs:458:9 [INFO] [stdout] | [INFO] [stdout] 458 | ast_types: &HashMap, [INFO] [stdout] | ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_ast_types` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `types` [INFO] [stdout] --> wtf-hir/src/compiler.rs:1304:9 [INFO] [stdout] | [INFO] [stdout] 1304 | types: &HashMap, [INFO] [stdout] | ^^^^^ help: if this is intentional, prefix it with an underscore: `_types` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `methods` [INFO] [stdout] --> wtf-hir/src/type_.rs:75:30 [INFO] [stdout] | [INFO] [stdout] 75 | Type::Resource { methods } => write!(f, "...")?, [INFO] [stdout] | ^^^^^^^ help: try ignoring the field: `methods: _` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cases_a` [INFO] [stdout] --> wtf-hir/src/type_.rs:169:33 [INFO] [stdout] | [INFO] [stdout] 169 | (Type::Variant { cases: cases_a }, Type::Variant { cases: cases_b }) => { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cases_a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `cases_b` [INFO] [stdout] --> wtf-hir/src/type_.rs:169:67 [INFO] [stdout] | [INFO] [stdout] 169 | (Type::Variant { cases: cases_a }, Type::Variant { cases: cases_b }) => { [INFO] [stdout] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_cases_b` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `parameter`, `reference`, `variant`, `tuple`, `member`, and `match_` are never used [INFO] [stdout] --> wtf-hir/src/lib.rs:186:8 [INFO] [stdout] | [INFO] [stdout] 185 | impl Expression { [INFO] [stdout] | --------------- associated functions in this implementation [INFO] [stdout] 186 | fn parameter(name: String, ty: Type) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 189 | fn reference(expression: Expression, ty: Type) -> Self { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 220 | fn variant(case: String, payloads: Vec<(String, Expression)>, ty: Type) -> Expression { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 243 | fn tuple(items: Vec, ty: Type) -> Expression { [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 260 | fn member(of: Expression, name: String, ty: Type) -> Expression { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 290 | fn match_(arms: HashMap, ty: Type) -> Expression { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: useless conversion to the same type: `Body` [INFO] [stdout] --> wtf-hir/src/compiler.rs:446:23 [INFO] [stdout] | [INFO] [stdout] 446 | body: block.into(), [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this method call relies on the `impl Into for T` blanket implementation and type inference, which is a semver hazard as a new `impl Into<_>` that affects your type might be added in the future causing type inference errors [INFO] [stdout] = note: `#[deny(self_type_conversion)]` on by default [INFO] [stdout] help: consider removing the conversion call [INFO] [stdout] | [INFO] [stdout] 446 - body: block.into(), [INFO] [stdout] 446 + body: block, [INFO] [stdout] | [INFO] [stdout] help: you can use the fully-qualified path to avoid triggering this lint [INFO] [stdout] | [INFO] [stdout] 446 - body: block.into(), [INFO] [stdout] 446 + body: >::into(block), [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `wtf-hir` (lib) due to 1 previous error; 6 warnings emitted [INFO] running `Command { std: "docker" "inspect" "ba27a4f74911f3bc0644856c0e34a654d53d480c8eaca578b8bd282411672add", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ba27a4f74911f3bc0644856c0e34a654d53d480c8eaca578b8bd282411672add", kill_on_drop: false }` [INFO] [stdout] ba27a4f74911f3bc0644856c0e34a654d53d480c8eaca578b8bd282411672add