[INFO] cloning repository https://github.com/liangGTY/concurrency-limits-rs [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/liangGTY/concurrency-limits-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FliangGTY%2Fconcurrency-limits-rs", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FliangGTY%2Fconcurrency-limits-rs'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 571becd3c3c59bbc5866d0d9f83b4eefacc5679b [INFO] testing liangGTY/concurrency-limits-rs against master#c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 for pr-146098-7 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FliangGTY%2Fconcurrency-limits-rs" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/liangGTY/concurrency-limits-rs [INFO] finished tweaking git repo https://github.com/liangGTY/concurrency-limits-rs [INFO] tweaked toml for git repo https://github.com/liangGTY/concurrency-limits-rs written to /workspace/builds/worker-2-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/liangGTY/concurrency-limits-rs on toolchain c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/liangGTY/concurrency-limits-rs 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" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "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-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] b5675546384abfe9506b012e0bd6d75e96e80d3e057c4d3bd7a6172d5a67d597 [INFO] running `Command { std: "docker" "start" "-a" "b5675546384abfe9506b012e0bd6d75e96e80d3e057c4d3bd7a6172d5a67d597", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "b5675546384abfe9506b012e0bd6d75e96e80d3e057c4d3bd7a6172d5a67d597", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "b5675546384abfe9506b012e0bd6d75e96e80d3e057c4d3bd7a6172d5a67d597", kill_on_drop: false }` [INFO] [stdout] b5675546384abfe9506b012e0bd6d75e96e80d3e057c4d3bd7a6172d5a67d597 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a681979ea18dd4fe86a0d7a051ed12a5ebfbae79a442cd97db35fdaf9bf66efb [INFO] running `Command { std: "docker" "start" "-a" "a681979ea18dd4fe86a0d7a051ed12a5ebfbae79a442cd97db35fdaf9bf66efb", kill_on_drop: false }` [INFO] [stderr] Compiling concurrency-limits-core v0.1.0 (/opt/rustwide/workdir/concurrency-limits-core) [INFO] [stdout] error[E0207]: the type parameter `C` is not constrained by the impl trait, self type, or predicates [INFO] [stdout] --> concurrency-limits-core/src/limit/mod.rs:26:20 [INFO] [stdout] | [INFO] [stdout] 26 | impl<'a, L: Limit, C: Any> Limiter [INFO] [stdout] | ^ unconstrained type parameter [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `Listener` is not dyn compatible [INFO] [stdout] --> concurrency-limits-core/src/limit/mod.rs:31:38 [INFO] [stdout] | [INFO] [stdout] 31 | fn acquire(context: C) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^ `Listener` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> concurrency-limits-core/src/limit/mod.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub trait Listener { [INFO] [stdout] | -------- this trait is not dyn compatible... [INFO] [stdout] 14 | [INFO] [stdout] 15 | fn on_success(); [INFO] [stdout] | ^^^^^^^^^^ ...because associated function `on_success` has no `self` parameter [INFO] [stdout] 16 | [INFO] [stdout] 17 | fn on_ignore(); [INFO] [stdout] | ^^^^^^^^^ ...because associated function `on_ignore` has no `self` parameter [INFO] [stdout] 18 | [INFO] [stdout] 19 | fn on_dropped(); [INFO] [stdout] | ^^^^^^^^^^ ...because associated function `on_dropped` has no `self` parameter [INFO] [stdout] help: consider turning `on_success` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 15 | fn on_success(&self); [INFO] [stdout] | +++++ [INFO] [stdout] help: alternatively, consider constraining `on_success` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 15 | fn on_success() where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `on_ignore` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 17 | fn on_ignore(&self); [INFO] [stdout] | +++++ [INFO] [stdout] help: alternatively, consider constraining `on_ignore` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 17 | fn on_ignore() where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `on_dropped` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 19 | fn on_dropped(&self); [INFO] [stdout] | +++++ [INFO] [stdout] help: alternatively, consider constraining `on_dropped` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 19 | fn on_dropped() where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: you might have meant to use `Self` to refer to the implementing type [INFO] [stdout] | [INFO] [stdout] 31 - fn acquire(context: C) -> Option { [INFO] [stdout] 31 + fn acquire(context: C) -> Option { [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the size for values of type `(dyn Listener + 'static)` cannot be known at compilation time [INFO] [stdout] --> concurrency-limits-core/src/limit/mod.rs:31:31 [INFO] [stdout] | [INFO] [stdout] 31 | fn acquire(context: C) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time [INFO] [stdout] | [INFO] [stdout] = help: the trait `Sized` is not implemented for `(dyn Listener + 'static)` [INFO] [stdout] note: required by an implicit `Sized` bound in `Option` [INFO] [stdout] --> /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/option.rs:599:0 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `Listener` is not dyn compatible [INFO] [stdout] --> concurrency-limits-core/src/limit/mod.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | None [INFO] [stdout] | ^^^^ `Listener` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> concurrency-limits-core/src/limit/mod.rs:15:8 [INFO] [stdout] | [INFO] [stdout] 13 | pub trait Listener { [INFO] [stdout] | -------- this trait is not dyn compatible... [INFO] [stdout] 14 | [INFO] [stdout] 15 | fn on_success(); [INFO] [stdout] | ^^^^^^^^^^ ...because associated function `on_success` has no `self` parameter [INFO] [stdout] 16 | [INFO] [stdout] 17 | fn on_ignore(); [INFO] [stdout] | ^^^^^^^^^ ...because associated function `on_ignore` has no `self` parameter [INFO] [stdout] 18 | [INFO] [stdout] 19 | fn on_dropped(); [INFO] [stdout] | ^^^^^^^^^^ ...because associated function `on_dropped` has no `self` parameter [INFO] [stdout] help: consider turning `on_success` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 15 | fn on_success(&self); [INFO] [stdout] | +++++ [INFO] [stdout] help: alternatively, consider constraining `on_success` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 15 | fn on_success() where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `on_ignore` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 17 | fn on_ignore(&self); [INFO] [stdout] | +++++ [INFO] [stdout] help: alternatively, consider constraining `on_ignore` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 17 | fn on_ignore() where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `on_dropped` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 19 | fn on_dropped(&self); [INFO] [stdout] | +++++ [INFO] [stdout] help: alternatively, consider constraining `on_dropped` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 19 | fn on_dropped() where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the size for values of type `dyn Listener` cannot be known at compilation time [INFO] [stdout] --> concurrency-limits-core/src/limit/mod.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | None [INFO] [stdout] | ^^^^ doesn't have a size known at compile-time [INFO] [stdout] | [INFO] [stdout] = help: the trait `Sized` is not implemented for `dyn Listener` [INFO] [stdout] note: required by a bound in `None` [INFO] [stdout] --> /rustc/c90bcb9571b7aab0d8beaa2ce8a998ffaf079d38/library/core/src/option.rs:603:4 [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0038, E0207, E0277. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0038`. [INFO] [stdout] [INFO] [stderr] error: could not compile `concurrency-limits-core` (lib) due to 5 previous errors [INFO] running `Command { std: "docker" "inspect" "a681979ea18dd4fe86a0d7a051ed12a5ebfbae79a442cd97db35fdaf9bf66efb", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a681979ea18dd4fe86a0d7a051ed12a5ebfbae79a442cd97db35fdaf9bf66efb", kill_on_drop: false }` [INFO] [stdout] a681979ea18dd4fe86a0d7a051ed12a5ebfbae79a442cd97db35fdaf9bf66efb