[INFO] fetching crate async-trait-with-sync 0.1.36...
[INFO] checking async-trait-with-sync-0.1.36 against nightly-2024-02-05 for check-cfg
[INFO] extracting crate async-trait-with-sync 0.1.36 into /workspace/builds/worker-4-tc1/source
[INFO] validating manifest of crates.io crate async-trait-with-sync 0.1.36 on toolchain nightly-2024-02-05
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2024-02-05" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate async-trait-with-sync 0.1.36
[INFO] finished tweaking crates.io crate async-trait-with-sync 0.1.36
[INFO] tweaked toml for crates.io crate async-trait-with-sync 0.1.36 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2024-02-05" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2024-02-05" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded trybuild v1.0.89
[INFO] [stderr]   Downloaded dissimilar v1.0.7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-02-05" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 33c43ad610eac90b05dcbb755c4b014711eff2e90af8932f2ae18b78d42e3986
[INFO] running `Command { std: "docker" "start" "-a" "33c43ad610eac90b05dcbb755c4b014711eff2e90af8932f2ae18b78d42e3986", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "33c43ad610eac90b05dcbb755c4b014711eff2e90af8932f2ae18b78d42e3986", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "33c43ad610eac90b05dcbb755c4b014711eff2e90af8932f2ae18b78d42e3986", kill_on_drop: false }`
[INFO] [stdout] 33c43ad610eac90b05dcbb755c4b014711eff2e90af8932f2ae18b78d42e3986
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-02-05" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2287aff107360d8d1d5f8a052de066196839493f91afa8ab0898494668f2eebf
[INFO] running `Command { std: "docker" "start" "-a" "2287aff107360d8d1d5f8a052de066196839493f91afa8ab0898494668f2eebf", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.78
[INFO] [stderr]     Checking unicode-ident v1.0.12
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling trybuild v1.0.89
[INFO] [stderr]     Checking basic-toml v0.1.8
[INFO] [stderr]     Checking dissimilar v1.0.7
[INFO] [stderr]     Checking quote v1.0.35
[INFO] [stderr]    Compiling syn v2.0.48
[INFO] [stderr]     Checking async-trait-with-sync v0.1.36 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling pin-project-internal v1.1.4
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling serde_derive v1.0.196
[INFO] [stderr]     Checking pin-project v1.1.4
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking tracing-futures v0.2.5
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]  --> tests/test.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use async_trait::async_trait;
[INFO] [stdout]   |     ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:169:9
[INFO] [stdout]     |
[INFO] [stdout] 169 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:184:9
[INFO] [stdout]     |
[INFO] [stdout] 184 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:202:9
[INFO] [stdout]     |
[INFO] [stdout] 202 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:212:9
[INFO] [stdout]     |
[INFO] [stdout] 212 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 230 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:243:9
[INFO] [stdout]     |
[INFO] [stdout] 243 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:264:9
[INFO] [stdout]     |
[INFO] [stdout] 264 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:339:9
[INFO] [stdout]     |
[INFO] [stdout] 339 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:378:9
[INFO] [stdout]     |
[INFO] [stdout] 378 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:397:9
[INFO] [stdout]     |
[INFO] [stdout] 397 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:416:9
[INFO] [stdout]     |
[INFO] [stdout] 416 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:438:9
[INFO] [stdout]     |
[INFO] [stdout] 438 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:573:9
[INFO] [stdout]     |
[INFO] [stdout] 573 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:604:9
[INFO] [stdout]     |
[INFO] [stdout] 604 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:689:9
[INFO] [stdout]     |
[INFO] [stdout] 689 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:703:9
[INFO] [stdout]     |
[INFO] [stdout] 703 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:725:9
[INFO] [stdout]     |
[INFO] [stdout] 725 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:738:9
[INFO] [stdout]     |
[INFO] [stdout] 738 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:756:9
[INFO] [stdout]     |
[INFO] [stdout] 756 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:795:9
[INFO] [stdout]     |
[INFO] [stdout] 795 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:820:9
[INFO] [stdout]     |
[INFO] [stdout] 820 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:902:9
[INFO] [stdout]     |
[INFO] [stdout] 902 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:927:9
[INFO] [stdout]     |
[INFO] [stdout] 927 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:961:9
[INFO] [stdout]     |
[INFO] [stdout] 961 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `async_trait`
[INFO] [stdout]    --> tests/test.rs:674:7
[INFO] [stdout]     |
[INFO] [stdout] 674 |     #[async_trait::async_trait]
[INFO] [stdout]     |       ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `test_object_safe_without_default::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]    --> tests/test.rs:105:29
[INFO] [stdout]     |
[INFO] [stdout] 105 |     let object = &Struct as &dyn ObjectSafe;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^ `test_object_safe_without_default::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
[INFO] [stdout]    --> tests/test.rs:97:18
[INFO] [stdout]     |
[INFO] [stdout] 96  |     trait ObjectSafe {
[INFO] [stdout]     |           ---------- this trait cannot be made into an object...
[INFO] [stdout] 97  |         async fn f(&self);
[INFO] [stdout]     |                  ^ ...because method `f` is `async`
[INFO] [stdout]     = help: consider moving `f` to another trait
[INFO] [stdout]     = help: only type `Struct` implements the trait, consider using it directly instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `test_object_safe_without_default::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]    --> tests/test.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 |     object.f().await;
[INFO] [stdout]     |            ^ `test_object_safe_without_default::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
[INFO] [stdout]    --> tests/test.rs:97:18
[INFO] [stdout]     |
[INFO] [stdout] 96  |     trait ObjectSafe {
[INFO] [stdout]     |           ---------- this trait cannot be made into an object...
[INFO] [stdout] 97  |         async fn f(&self);
[INFO] [stdout]     |                  ^ ...because method `f` is `async`
[INFO] [stdout]     = help: consider moving `f` to another trait
[INFO] [stdout]     = help: only type `Struct` implements the trait, consider using it directly instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `test_object_safe_without_default::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]    --> tests/test.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     object.f().await;
[INFO] [stdout]     |     ^^^^^^^^^^ `test_object_safe_without_default::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
[INFO] [stdout]    --> tests/test.rs:97:18
[INFO] [stdout]     |
[INFO] [stdout] 96  |     trait ObjectSafe {
[INFO] [stdout]     |           ---------- this trait cannot be made into an object...
[INFO] [stdout] 97  |         async fn f(&self);
[INFO] [stdout]     |                  ^ ...because method `f` is `async`
[INFO] [stdout]     = help: consider moving `f` to another trait
[INFO] [stdout]     = help: only type `Struct` implements the trait, consider using it directly instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `test_object_safe_without_default::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]    --> tests/test.rs:105:18
[INFO] [stdout]     |
[INFO] [stdout] 105 |     let object = &Struct as &dyn ObjectSafe;
[INFO] [stdout]     |                  ^^^^^^^ `test_object_safe_without_default::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
[INFO] [stdout]    --> tests/test.rs:97:18
[INFO] [stdout]     |
[INFO] [stdout] 96  |     trait ObjectSafe {
[INFO] [stdout]     |           ---------- this trait cannot be made into an object...
[INFO] [stdout] 97  |         async fn f(&self);
[INFO] [stdout]     |                  ^ ...because method `f` is `async`
[INFO] [stdout]     = help: consider moving `f` to another trait
[INFO] [stdout]     = help: only type `Struct` implements the trait, consider using it directly instead
[INFO] [stdout]     = note: required for the cast from `&Struct` to `&dyn test_object_safe_without_default::{closure#0}::ObjectSafe`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `test_object_safe_with_default::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]    --> tests/test.rs:120:29
[INFO] [stdout]     |
[INFO] [stdout] 120 |     let object = &Struct as &dyn ObjectSafe;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^ `test_object_safe_with_default::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
[INFO] [stdout]    --> tests/test.rs:112:18
[INFO] [stdout]     |
[INFO] [stdout] 111 |     trait ObjectSafe: Sync {
[INFO] [stdout]     |           ---------- this trait cannot be made into an object...
[INFO] [stdout] 112 |         async fn f(&self) {}
[INFO] [stdout]     |                  ^ ...because method `f` is `async`
[INFO] [stdout]     = help: consider moving `f` to another trait
[INFO] [stdout]     = help: only type `Struct` implements the trait, consider using it directly instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `test_object_safe_with_default::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]    --> tests/test.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout] 121 |     object.f().await;
[INFO] [stdout]     |            ^ `test_object_safe_with_default::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
[INFO] [stdout]    --> tests/test.rs:112:18
[INFO] [stdout]     |
[INFO] [stdout] 111 |     trait ObjectSafe: Sync {
[INFO] [stdout]     |           ---------- this trait cannot be made into an object...
[INFO] [stdout] 112 |         async fn f(&self) {}
[INFO] [stdout]     |                  ^ ...because method `f` is `async`
[INFO] [stdout]     = help: consider moving `f` to another trait
[INFO] [stdout]     = help: only type `Struct` implements the trait, consider using it directly instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `test_object_safe_with_default::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]    --> tests/test.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 |     object.f().await;
[INFO] [stdout]     |     ^^^^^^^^^^ `test_object_safe_with_default::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
[INFO] [stdout]    --> tests/test.rs:112:18
[INFO] [stdout]     |
[INFO] [stdout] 111 |     trait ObjectSafe: Sync {
[INFO] [stdout]     |           ---------- this trait cannot be made into an object...
[INFO] [stdout] 112 |         async fn f(&self) {}
[INFO] [stdout]     |                  ^ ...because method `f` is `async`
[INFO] [stdout]     = help: consider moving `f` to another trait
[INFO] [stdout]     = help: only type `Struct` implements the trait, consider using it directly instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `test_object_safe_with_default::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]    --> tests/test.rs:120:18
[INFO] [stdout]     |
[INFO] [stdout] 120 |     let object = &Struct as &dyn ObjectSafe;
[INFO] [stdout]     |                  ^^^^^^^ `test_object_safe_with_default::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
[INFO] [stdout]    --> tests/test.rs:112:18
[INFO] [stdout]     |
[INFO] [stdout] 111 |     trait ObjectSafe: Sync {
[INFO] [stdout]     |           ---------- this trait cannot be made into an object...
[INFO] [stdout] 112 |         async fn f(&self) {}
[INFO] [stdout]     |                  ^ ...because method `f` is `async`
[INFO] [stdout]     = help: consider moving `f` to another trait
[INFO] [stdout]     = help: only type `Struct` implements the trait, consider using it directly instead
[INFO] [stdout]     = note: required for the cast from `&Struct` to `&dyn test_object_safe_with_default::{closure#0}::ObjectSafe`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `test_object_no_send::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]    --> tests/test.rs:135:29
[INFO] [stdout]     |
[INFO] [stdout] 135 |     let object = &Struct as &dyn ObjectSafe;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^ `test_object_no_send::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
[INFO] [stdout]    --> tests/test.rs:127:18
[INFO] [stdout]     |
[INFO] [stdout] 126 |     trait ObjectSafe: Sync {
[INFO] [stdout]     |           ---------- this trait cannot be made into an object...
[INFO] [stdout] 127 |         async fn f(&self) {}
[INFO] [stdout]     |                  ^ ...because method `f` is `async`
[INFO] [stdout]     = help: consider moving `f` to another trait
[INFO] [stdout]     = help: only type `Struct` implements the trait, consider using it directly instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `test_object_no_send::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]    --> tests/test.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 136 |     object.f().await;
[INFO] [stdout]     |            ^ `test_object_no_send::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
[INFO] [stdout]    --> tests/test.rs:127:18
[INFO] [stdout]     |
[INFO] [stdout] 126 |     trait ObjectSafe: Sync {
[INFO] [stdout]     |           ---------- this trait cannot be made into an object...
[INFO] [stdout] 127 |         async fn f(&self) {}
[INFO] [stdout]     |                  ^ ...because method `f` is `async`
[INFO] [stdout]     = help: consider moving `f` to another trait
[INFO] [stdout]     = help: only type `Struct` implements the trait, consider using it directly instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `test_object_no_send::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]    --> tests/test.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     object.f().await;
[INFO] [stdout]     |     ^^^^^^^^^^ `test_object_no_send::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
[INFO] [stdout]    --> tests/test.rs:127:18
[INFO] [stdout]     |
[INFO] [stdout] 126 |     trait ObjectSafe: Sync {
[INFO] [stdout]     |           ---------- this trait cannot be made into an object...
[INFO] [stdout] 127 |         async fn f(&self) {}
[INFO] [stdout]     |                  ^ ...because method `f` is `async`
[INFO] [stdout]     = help: consider moving `f` to another trait
[INFO] [stdout]     = help: only type `Struct` implements the trait, consider using it directly instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `test_object_no_send::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]    --> tests/test.rs:135:18
[INFO] [stdout]     |
[INFO] [stdout] 135 |     let object = &Struct as &dyn ObjectSafe;
[INFO] [stdout]     |                  ^^^^^^^ `test_object_no_send::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
[INFO] [stdout]    --> tests/test.rs:127:18
[INFO] [stdout]     |
[INFO] [stdout] 126 |     trait ObjectSafe: Sync {
[INFO] [stdout]     |           ---------- this trait cannot be made into an object...
[INFO] [stdout] 127 |         async fn f(&self) {}
[INFO] [stdout]     |                  ^ ...because method `f` is `async`
[INFO] [stdout]     = help: consider moving `f` to another trait
[INFO] [stdout]     = help: only type `Struct` implements the trait, consider using it directly instead
[INFO] [stdout]     = note: required for the cast from `&Struct` to `&dyn test_object_no_send::{closure#0}::ObjectSafe`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `Interface` cannot be made into an object
[INFO] [stdout]    --> tests/test.rs:150:29
[INFO] [stdout]     |
[INFO] [stdout] 150 |     let object = &Struct as &dyn Interface;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^ `Interface` cannot be made into an object
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
[INFO] [stdout]    --> tests/test.rs:142:18
[INFO] [stdout]     |
[INFO] [stdout] 141 |     trait Interface {
[INFO] [stdout]     |           --------- this trait cannot be made into an object...
[INFO] [stdout] 142 |         async fn f(&self);
[INFO] [stdout]     |                  ^ ...because method `f` is `async`
[INFO] [stdout]     = help: consider moving `f` to another trait
[INFO] [stdout]     = help: only type `Struct` implements the trait, consider using it directly instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `Interface` cannot be made into an object
[INFO] [stdout]    --> tests/test.rs:152:16
[INFO] [stdout]     |
[INFO] [stdout] 152 |         object.f();
[INFO] [stdout]     |                ^ `Interface` cannot be made into an object
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
[INFO] [stdout]    --> tests/test.rs:142:18
[INFO] [stdout]     |
[INFO] [stdout] 141 |     trait Interface {
[INFO] [stdout]     |           --------- this trait cannot be made into an object...
[INFO] [stdout] 142 |         async fn f(&self);
[INFO] [stdout]     |                  ^ ...because method `f` is `async`
[INFO] [stdout]     = help: consider moving `f` to another trait
[INFO] [stdout]     = help: only type `Struct` implements the trait, consider using it directly instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `Interface` cannot be made into an object
[INFO] [stdout]    --> tests/test.rs:152:9
[INFO] [stdout]     |
[INFO] [stdout] 152 |         object.f();
[INFO] [stdout]     |         ^^^^^^^^^^ `Interface` cannot be made into an object
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
[INFO] [stdout]    --> tests/test.rs:142:18
[INFO] [stdout]     |
[INFO] [stdout] 141 |     trait Interface {
[INFO] [stdout]     |           --------- this trait cannot be made into an object...
[INFO] [stdout] 142 |         async fn f(&self);
[INFO] [stdout]     |                  ^ ...because method `f` is `async`
[INFO] [stdout]     = help: consider moving `f` to another trait
[INFO] [stdout]     = help: only type `Struct` implements the trait, consider using it directly instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `Interface` cannot be made into an object
[INFO] [stdout]    --> tests/test.rs:150:18
[INFO] [stdout]     |
[INFO] [stdout] 150 |     let object = &Struct as &dyn Interface;
[INFO] [stdout]     |                  ^^^^^^^ `Interface` cannot be made into an object
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
[INFO] [stdout]    --> tests/test.rs:142:18
[INFO] [stdout]     |
[INFO] [stdout] 141 |     trait Interface {
[INFO] [stdout]     |           --------- this trait cannot be made into an object...
[INFO] [stdout] 142 |         async fn f(&self);
[INFO] [stdout]     |                  ^ ...because method `f` is `async`
[INFO] [stdout]     = help: consider moving `f` to another trait
[INFO] [stdout]     = help: only type `Struct` implements the trait, consider using it directly instead
[INFO] [stdout]     = note: required for the cast from `&Struct` to `&dyn Interface`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0700]: hidden type for `impl Future<Output = ()>` captures lifetime that does not appear in bounds
[INFO] [stdout]    --> tests/test.rs:580:21
[INFO] [stdout]     |
[INFO] [stdout] 579 |                 async fn f<$tyargs: $ty>(&mut self, x: $tyargs) {
[INFO] [stdout]     |                 ----------------------------------------------- opaque type defined here
[INFO] [stdout] 580 |                     self.f(x).await
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 586 |     implement_commands_workaround!(K: Send);
[INFO] [stdout]     |     --------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: hidden type `impl Future<Output = ()>` captures lifetime `'_`
[INFO] [stdout]     = note: this error originates in the macro `implement_commands_workaround` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0700]: hidden type for `impl Future<Output = ()>` captures lifetime that does not appear in bounds
[INFO] [stdout]    --> tests/test.rs:593:21
[INFO] [stdout]     |
[INFO] [stdout] 592 |                 async fn f<$tyargs: $ty>(&mut self, x: $tyargs) {
[INFO] [stdout]     |                 ----------------------------------------------- opaque type defined here
[INFO] [stdout] 593 |                     self.f(x).await
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 599 |     implement_commands!(K: Send);
[INFO] [stdout]     |     ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: hidden type `impl Future<Output = ()>` captures lifetime `'_`
[INFO] [stdout]     = note: this error originates in the macro `implement_commands` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0700]: hidden type for `impl Future<Output = ()>` captures lifetime that does not appear in bounds
[INFO] [stdout]    --> tests/test.rs:854:26
[INFO] [stdout]     |
[INFO] [stdout] 846 |         async fn associated2(&self) {
[INFO] [stdout]     |         --------------------------- opaque type defined here
[INFO] [stdout] ...
[INFO] [stdout] 854 |             mac!(let _ = Self::associated2(self););
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: hidden type `impl Future<Output = ()>` captures lifetime `'_`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0700]: hidden type for `impl Future<Output = ()>` captures lifetime that does not appear in bounds
[INFO] [stdout]    --> tests/test.rs:855:26
[INFO] [stdout]     |
[INFO] [stdout] 846 |         async fn associated2(&self) {
[INFO] [stdout]     |         --------------------------- opaque type defined here
[INFO] [stdout] ...
[INFO] [stdout] 855 |             mac!(let _ = <Self>::associated2(self););
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: hidden type `impl Future<Output = ()>` captures lifetime `'_`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0700]: hidden type for `impl Future<Output = ()>` captures lifetime that does not appear in bounds
[INFO] [stdout]    --> tests/test.rs:856:26
[INFO] [stdout]     |
[INFO] [stdout] 846 |         async fn associated2(&self) {
[INFO] [stdout]     |         --------------------------- opaque type defined here
[INFO] [stdout] ...
[INFO] [stdout] 856 |             mac!(let _ = <Self as Trait>::associated2(self););
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: hidden type `impl Future<Output = ()>` captures lifetime `'_`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 47 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0038, E0432, E0433, E0700.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0038`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `async-trait-with-sync` (test "test") due to 48 previous errors
[INFO] running `Command { std: "docker" "inspect" "2287aff107360d8d1d5f8a052de066196839493f91afa8ab0898494668f2eebf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2287aff107360d8d1d5f8a052de066196839493f91afa8ab0898494668f2eebf", kill_on_drop: false }`
[INFO] [stdout] 2287aff107360d8d1d5f8a052de066196839493f91afa8ab0898494668f2eebf
[INFO] checking async-trait-with-sync-0.1.36 against nightly-2024-02-05+rustflags=-Dunexpected_cfgs+cargoflags=-Zcheck-cfg for check-cfg
[INFO] extracting crate async-trait-with-sync 0.1.36 into /workspace/builds/worker-4-tc2/source
[INFO] validating manifest of crates.io crate async-trait-with-sync 0.1.36 on toolchain nightly-2024-02-05
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2024-02-05" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate async-trait-with-sync 0.1.36
[INFO] finished tweaking crates.io crate async-trait-with-sync 0.1.36
[INFO] tweaked toml for crates.io crate async-trait-with-sync 0.1.36 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2024-02-05" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+nightly-2024-02-05" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-02-05" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ea7a5b353322ede2cffa2666238e08f69e7d35ef8668ed3ca14d88db23fc89d3
[INFO] running `Command { std: "docker" "start" "-a" "ea7a5b353322ede2cffa2666238e08f69e7d35ef8668ed3ca14d88db23fc89d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ea7a5b353322ede2cffa2666238e08f69e7d35ef8668ed3ca14d88db23fc89d3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ea7a5b353322ede2cffa2666238e08f69e7d35ef8668ed3ca14d88db23fc89d3", kill_on_drop: false }`
[INFO] [stdout] ea7a5b353322ede2cffa2666238e08f69e7d35ef8668ed3ca14d88db23fc89d3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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 -Dunexpected_cfgs" "-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+nightly-2024-02-05" "check" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zcheck-cfg", kill_on_drop: false }`
[INFO] [stdout] fc132e3939ef74e6f1645a365b6bcfe0e7189c925ea85233a0932ffc6c35304c
[INFO] running `Command { std: "docker" "start" "-a" "fc132e3939ef74e6f1645a365b6bcfe0e7189c925ea85233a0932ffc6c35304c", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.78
[INFO] [stderr]     Checking unicode-ident v1.0.12
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling trybuild v1.0.89
[INFO] [stderr]     Checking dissimilar v1.0.7
[INFO] [stderr]     Checking basic-toml v0.1.8
[INFO] [stderr]     Checking quote v1.0.35
[INFO] [stderr]    Compiling syn v2.0.48
[INFO] [stderr]     Checking async-trait-with-sync v0.1.36 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling pin-project-internal v1.1.4
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling serde_derive v1.0.196
[INFO] [stderr]     Checking pin-project v1.1.4
[INFO] [stderr]     Checking tracing v0.1.40
[INFO] [stderr]     Checking tracing-futures v0.2.5
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]  --> tests/test.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use async_trait::async_trait;
[INFO] [stdout]   |     ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:169:9
[INFO] [stdout]     |
[INFO] [stdout] 169 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:184:9
[INFO] [stdout]     |
[INFO] [stdout] 184 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:202:9
[INFO] [stdout]     |
[INFO] [stdout] 202 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:212:9
[INFO] [stdout]     |
[INFO] [stdout] 212 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:230:9
[INFO] [stdout]     |
[INFO] [stdout] 230 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:243:9
[INFO] [stdout]     |
[INFO] [stdout] 243 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:264:9
[INFO] [stdout]     |
[INFO] [stdout] 264 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:339:9
[INFO] [stdout]     |
[INFO] [stdout] 339 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:378:9
[INFO] [stdout]     |
[INFO] [stdout] 378 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:397:9
[INFO] [stdout]     |
[INFO] [stdout] 397 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:416:9
[INFO] [stdout]     |
[INFO] [stdout] 416 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:438:9
[INFO] [stdout]     |
[INFO] [stdout] 438 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:573:9
[INFO] [stdout]     |
[INFO] [stdout] 573 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:604:9
[INFO] [stdout]     |
[INFO] [stdout] 604 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:689:9
[INFO] [stdout]     |
[INFO] [stdout] 689 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:703:9
[INFO] [stdout]     |
[INFO] [stdout] 703 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:725:9
[INFO] [stdout]     |
[INFO] [stdout] 725 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:738:9
[INFO] [stdout]     |
[INFO] [stdout] 738 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:756:9
[INFO] [stdout]     |
[INFO] [stdout] 756 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:795:9
[INFO] [stdout]     |
[INFO] [stdout] 795 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:820:9
[INFO] [stdout]     |
[INFO] [stdout] 820 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:902:9
[INFO] [stdout]     |
[INFO] [stdout] 902 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:927:9
[INFO] [stdout]     |
[INFO] [stdout] 927 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0432]: unresolved import `async_trait`
[INFO] [stdout]    --> tests/test.rs:961:9
[INFO] [stdout]     |
[INFO] [stdout] 961 |     use async_trait::async_trait;
[INFO] [stdout]     |         ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared crate or module `async_trait`
[INFO] [stdout]    --> tests/test.rs:674:7
[INFO] [stdout]     |
[INFO] [stdout] 674 |     #[async_trait::async_trait]
[INFO] [stdout]     |       ^^^^^^^^^^^ use of undeclared crate or module `async_trait`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unexpected `cfg` condition name: `async_trait_nightly_testing`
[INFO] [stdout]  --> tests/test.rs:1:13
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![cfg_attr(async_trait_nightly_testing, feature(specialization, const_generics))]
[INFO] [stdout]   |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: expected names are: `debug_assertions`, `doc`, `doctest`, `feature`, `miri`, `overflow_checks`, `panic`, `proc_macro`, `relocation_model`, `sanitize`, `sanitizer_cfi_generalize_pointers`, `sanitizer_cfi_normalize_integers`, `target_abi`, `target_arch`, `target_endian`, `target_env`, `target_family`, `target_feature`, `target_has_atomic`, `target_has_atomic_equal_alignment`, `target_has_atomic_load_store`, `target_os`, `target_pointer_width`, `target_thread_local`, `target_vendor`, `test`, `unix`, `windows`
[INFO] [stdout]   = help: consider using a Cargo feature instead or adding `println!("cargo:rustc-check-cfg=cfg(async_trait_nightly_testing)");` to the top of a `build.rs`
[INFO] [stdout]   = note: see <https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#check-cfg> for more information about checking conditional configuration
[INFO] [stdout]   = note: requested on the command line with `-D unexpected-cfgs`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unexpected `cfg` condition name: `async_trait_nightly_testing`
[INFO] [stdout]    --> tests/test.rs:291:7
[INFO] [stdout]     |
[INFO] [stdout] 291 | #[cfg(async_trait_nightly_testing)]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead or adding `println!("cargo:rustc-check-cfg=cfg(async_trait_nightly_testing)");` to the top of a `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: unexpected `cfg` condition name: `async_trait_nightly_testing`
[INFO] [stdout]    --> tests/test.rs:647:7
[INFO] [stdout]     |
[INFO] [stdout] 647 | #[cfg(async_trait_nightly_testing)]
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: consider using a Cargo feature instead or adding `println!("cargo:rustc-check-cfg=cfg(async_trait_nightly_testing)");` to the top of a `build.rs`
[INFO] [stdout]     = note: see <https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#check-cfg> for more information about checking conditional configuration
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `test_object_safe_without_default::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]    --> tests/test.rs:105:29
[INFO] [stdout]     |
[INFO] [stdout] 105 |     let object = &Struct as &dyn ObjectSafe;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^ `test_object_safe_without_default::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
[INFO] [stdout]    --> tests/test.rs:97:18
[INFO] [stdout]     |
[INFO] [stdout] 96  |     trait ObjectSafe {
[INFO] [stdout]     |           ---------- this trait cannot be made into an object...
[INFO] [stdout] 97  |         async fn f(&self);
[INFO] [stdout]     |                  ^ ...because method `f` is `async`
[INFO] [stdout]     = help: consider moving `f` to another trait
[INFO] [stdout]     = help: only type `Struct` implements the trait, consider using it directly instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `test_object_safe_without_default::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]    --> tests/test.rs:106:12
[INFO] [stdout]     |
[INFO] [stdout] 106 |     object.f().await;
[INFO] [stdout]     |            ^ `test_object_safe_without_default::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
[INFO] [stdout]    --> tests/test.rs:97:18
[INFO] [stdout]     |
[INFO] [stdout] 96  |     trait ObjectSafe {
[INFO] [stdout]     |           ---------- this trait cannot be made into an object...
[INFO] [stdout] 97  |         async fn f(&self);
[INFO] [stdout]     |                  ^ ...because method `f` is `async`
[INFO] [stdout]     = help: consider moving `f` to another trait
[INFO] [stdout]     = help: only type `Struct` implements the trait, consider using it directly instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `test_object_safe_without_default::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]    --> tests/test.rs:106:5
[INFO] [stdout]     |
[INFO] [stdout] 106 |     object.f().await;
[INFO] [stdout]     |     ^^^^^^^^^^ `test_object_safe_without_default::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
[INFO] [stdout]    --> tests/test.rs:97:18
[INFO] [stdout]     |
[INFO] [stdout] 96  |     trait ObjectSafe {
[INFO] [stdout]     |           ---------- this trait cannot be made into an object...
[INFO] [stdout] 97  |         async fn f(&self);
[INFO] [stdout]     |                  ^ ...because method `f` is `async`
[INFO] [stdout]     = help: consider moving `f` to another trait
[INFO] [stdout]     = help: only type `Struct` implements the trait, consider using it directly instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `test_object_safe_without_default::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]    --> tests/test.rs:105:18
[INFO] [stdout]     |
[INFO] [stdout] 105 |     let object = &Struct as &dyn ObjectSafe;
[INFO] [stdout]     |                  ^^^^^^^ `test_object_safe_without_default::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
[INFO] [stdout]    --> tests/test.rs:97:18
[INFO] [stdout]     |
[INFO] [stdout] 96  |     trait ObjectSafe {
[INFO] [stdout]     |           ---------- this trait cannot be made into an object...
[INFO] [stdout] 97  |         async fn f(&self);
[INFO] [stdout]     |                  ^ ...because method `f` is `async`
[INFO] [stdout]     = help: consider moving `f` to another trait
[INFO] [stdout]     = help: only type `Struct` implements the trait, consider using it directly instead
[INFO] [stdout]     = note: required for the cast from `&Struct` to `&dyn test_object_safe_without_default::{closure#0}::ObjectSafe`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `test_object_safe_with_default::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]    --> tests/test.rs:120:29
[INFO] [stdout]     |
[INFO] [stdout] 120 |     let object = &Struct as &dyn ObjectSafe;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^ `test_object_safe_with_default::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
[INFO] [stdout]    --> tests/test.rs:112:18
[INFO] [stdout]     |
[INFO] [stdout] 111 |     trait ObjectSafe: Sync {
[INFO] [stdout]     |           ---------- this trait cannot be made into an object...
[INFO] [stdout] 112 |         async fn f(&self) {}
[INFO] [stdout]     |                  ^ ...because method `f` is `async`
[INFO] [stdout]     = help: consider moving `f` to another trait
[INFO] [stdout]     = help: only type `Struct` implements the trait, consider using it directly instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `test_object_safe_with_default::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]    --> tests/test.rs:121:12
[INFO] [stdout]     |
[INFO] [stdout] 121 |     object.f().await;
[INFO] [stdout]     |            ^ `test_object_safe_with_default::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
[INFO] [stdout]    --> tests/test.rs:112:18
[INFO] [stdout]     |
[INFO] [stdout] 111 |     trait ObjectSafe: Sync {
[INFO] [stdout]     |           ---------- this trait cannot be made into an object...
[INFO] [stdout] 112 |         async fn f(&self) {}
[INFO] [stdout]     |                  ^ ...because method `f` is `async`
[INFO] [stdout]     = help: consider moving `f` to another trait
[INFO] [stdout]     = help: only type `Struct` implements the trait, consider using it directly instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `test_object_safe_with_default::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]    --> tests/test.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 121 |     object.f().await;
[INFO] [stdout]     |     ^^^^^^^^^^ `test_object_safe_with_default::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
[INFO] [stdout]    --> tests/test.rs:112:18
[INFO] [stdout]     |
[INFO] [stdout] 111 |     trait ObjectSafe: Sync {
[INFO] [stdout]     |           ---------- this trait cannot be made into an object...
[INFO] [stdout] 112 |         async fn f(&self) {}
[INFO] [stdout]     |                  ^ ...because method `f` is `async`
[INFO] [stdout]     = help: consider moving `f` to another trait
[INFO] [stdout]     = help: only type `Struct` implements the trait, consider using it directly instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `test_object_safe_with_default::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]    --> tests/test.rs:120:18
[INFO] [stdout]     |
[INFO] [stdout] 120 |     let object = &Struct as &dyn ObjectSafe;
[INFO] [stdout]     |                  ^^^^^^^ `test_object_safe_with_default::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
[INFO] [stdout]    --> tests/test.rs:112:18
[INFO] [stdout]     |
[INFO] [stdout] 111 |     trait ObjectSafe: Sync {
[INFO] [stdout]     |           ---------- this trait cannot be made into an object...
[INFO] [stdout] 112 |         async fn f(&self) {}
[INFO] [stdout]     |                  ^ ...because method `f` is `async`
[INFO] [stdout]     = help: consider moving `f` to another trait
[INFO] [stdout]     = help: only type `Struct` implements the trait, consider using it directly instead
[INFO] [stdout]     = note: required for the cast from `&Struct` to `&dyn test_object_safe_with_default::{closure#0}::ObjectSafe`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `test_object_no_send::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]    --> tests/test.rs:135:29
[INFO] [stdout]     |
[INFO] [stdout] 135 |     let object = &Struct as &dyn ObjectSafe;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^ `test_object_no_send::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
[INFO] [stdout]    --> tests/test.rs:127:18
[INFO] [stdout]     |
[INFO] [stdout] 126 |     trait ObjectSafe: Sync {
[INFO] [stdout]     |           ---------- this trait cannot be made into an object...
[INFO] [stdout] 127 |         async fn f(&self) {}
[INFO] [stdout]     |                  ^ ...because method `f` is `async`
[INFO] [stdout]     = help: consider moving `f` to another trait
[INFO] [stdout]     = help: only type `Struct` implements the trait, consider using it directly instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `test_object_no_send::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]    --> tests/test.rs:136:12
[INFO] [stdout]     |
[INFO] [stdout] 136 |     object.f().await;
[INFO] [stdout]     |            ^ `test_object_no_send::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
[INFO] [stdout]    --> tests/test.rs:127:18
[INFO] [stdout]     |
[INFO] [stdout] 126 |     trait ObjectSafe: Sync {
[INFO] [stdout]     |           ---------- this trait cannot be made into an object...
[INFO] [stdout] 127 |         async fn f(&self) {}
[INFO] [stdout]     |                  ^ ...because method `f` is `async`
[INFO] [stdout]     = help: consider moving `f` to another trait
[INFO] [stdout]     = help: only type `Struct` implements the trait, consider using it directly instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `test_object_no_send::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]    --> tests/test.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     object.f().await;
[INFO] [stdout]     |     ^^^^^^^^^^ `test_object_no_send::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
[INFO] [stdout]    --> tests/test.rs:127:18
[INFO] [stdout]     |
[INFO] [stdout] 126 |     trait ObjectSafe: Sync {
[INFO] [stdout]     |           ---------- this trait cannot be made into an object...
[INFO] [stdout] 127 |         async fn f(&self) {}
[INFO] [stdout]     |                  ^ ...because method `f` is `async`
[INFO] [stdout]     = help: consider moving `f` to another trait
[INFO] [stdout]     = help: only type `Struct` implements the trait, consider using it directly instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `test_object_no_send::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]    --> tests/test.rs:135:18
[INFO] [stdout]     |
[INFO] [stdout] 135 |     let object = &Struct as &dyn ObjectSafe;
[INFO] [stdout]     |                  ^^^^^^^ `test_object_no_send::{closure#0}::ObjectSafe` cannot be made into an object
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
[INFO] [stdout]    --> tests/test.rs:127:18
[INFO] [stdout]     |
[INFO] [stdout] 126 |     trait ObjectSafe: Sync {
[INFO] [stdout]     |           ---------- this trait cannot be made into an object...
[INFO] [stdout] 127 |         async fn f(&self) {}
[INFO] [stdout]     |                  ^ ...because method `f` is `async`
[INFO] [stdout]     = help: consider moving `f` to another trait
[INFO] [stdout]     = help: only type `Struct` implements the trait, consider using it directly instead
[INFO] [stdout]     = note: required for the cast from `&Struct` to `&dyn test_object_no_send::{closure#0}::ObjectSafe`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `Interface` cannot be made into an object
[INFO] [stdout]    --> tests/test.rs:150:29
[INFO] [stdout]     |
[INFO] [stdout] 150 |     let object = &Struct as &dyn Interface;
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^ `Interface` cannot be made into an object
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
[INFO] [stdout]    --> tests/test.rs:142:18
[INFO] [stdout]     |
[INFO] [stdout] 141 |     trait Interface {
[INFO] [stdout]     |           --------- this trait cannot be made into an object...
[INFO] [stdout] 142 |         async fn f(&self);
[INFO] [stdout]     |                  ^ ...because method `f` is `async`
[INFO] [stdout]     = help: consider moving `f` to another trait
[INFO] [stdout]     = help: only type `Struct` implements the trait, consider using it directly instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `Interface` cannot be made into an object
[INFO] [stdout]    --> tests/test.rs:152:16
[INFO] [stdout]     |
[INFO] [stdout] 152 |         object.f();
[INFO] [stdout]     |                ^ `Interface` cannot be made into an object
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
[INFO] [stdout]    --> tests/test.rs:142:18
[INFO] [stdout]     |
[INFO] [stdout] 141 |     trait Interface {
[INFO] [stdout]     |           --------- this trait cannot be made into an object...
[INFO] [stdout] 142 |         async fn f(&self);
[INFO] [stdout]     |                  ^ ...because method `f` is `async`
[INFO] [stdout]     = help: consider moving `f` to another trait
[INFO] [stdout]     = help: only type `Struct` implements the trait, consider using it directly instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `Interface` cannot be made into an object
[INFO] [stdout]    --> tests/test.rs:152:9
[INFO] [stdout]     |
[INFO] [stdout] 152 |         object.f();
[INFO] [stdout]     |         ^^^^^^^^^^ `Interface` cannot be made into an object
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
[INFO] [stdout]    --> tests/test.rs:142:18
[INFO] [stdout]     |
[INFO] [stdout] 141 |     trait Interface {
[INFO] [stdout]     |           --------- this trait cannot be made into an object...
[INFO] [stdout] 142 |         async fn f(&self);
[INFO] [stdout]     |                  ^ ...because method `f` is `async`
[INFO] [stdout]     = help: consider moving `f` to another trait
[INFO] [stdout]     = help: only type `Struct` implements the trait, consider using it directly instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0038]: the trait `Interface` cannot be made into an object
[INFO] [stdout]    --> tests/test.rs:150:18
[INFO] [stdout]     |
[INFO] [stdout] 150 |     let object = &Struct as &dyn Interface;
[INFO] [stdout]     |                  ^^^^^^^ `Interface` cannot be made into an object
[INFO] [stdout]     |
[INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit <https://doc.rust-lang.org/reference/items/traits.html#object-safety>
[INFO] [stdout]    --> tests/test.rs:142:18
[INFO] [stdout]     |
[INFO] [stdout] 141 |     trait Interface {
[INFO] [stdout]     |           --------- this trait cannot be made into an object...
[INFO] [stdout] 142 |         async fn f(&self);
[INFO] [stdout]     |                  ^ ...because method `f` is `async`
[INFO] [stdout]     = help: consider moving `f` to another trait
[INFO] [stdout]     = help: only type `Struct` implements the trait, consider using it directly instead
[INFO] [stdout]     = note: required for the cast from `&Struct` to `&dyn Interface`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0700]: hidden type for `impl Future<Output = ()>` captures lifetime that does not appear in bounds
[INFO] [stdout]    --> tests/test.rs:580:21
[INFO] [stdout]     |
[INFO] [stdout] 579 |                 async fn f<$tyargs: $ty>(&mut self, x: $tyargs) {
[INFO] [stdout]     |                 ----------------------------------------------- opaque type defined here
[INFO] [stdout] 580 |                     self.f(x).await
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 586 |     implement_commands_workaround!(K: Send);
[INFO] [stdout]     |     --------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: hidden type `impl Future<Output = ()>` captures lifetime `'_`
[INFO] [stdout]     = note: this error originates in the macro `implement_commands_workaround` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0700]: hidden type for `impl Future<Output = ()>` captures lifetime that does not appear in bounds
[INFO] [stdout]    --> tests/test.rs:593:21
[INFO] [stdout]     |
[INFO] [stdout] 592 |                 async fn f<$tyargs: $ty>(&mut self, x: $tyargs) {
[INFO] [stdout]     |                 ----------------------------------------------- opaque type defined here
[INFO] [stdout] 593 |                     self.f(x).await
[INFO] [stdout]     |                     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 599 |     implement_commands!(K: Send);
[INFO] [stdout]     |     ---------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: hidden type `impl Future<Output = ()>` captures lifetime `'_`
[INFO] [stdout]     = note: this error originates in the macro `implement_commands` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0700]: hidden type for `impl Future<Output = ()>` captures lifetime that does not appear in bounds
[INFO] [stdout]    --> tests/test.rs:854:26
[INFO] [stdout]     |
[INFO] [stdout] 846 |         async fn associated2(&self) {
[INFO] [stdout]     |         --------------------------- opaque type defined here
[INFO] [stdout] ...
[INFO] [stdout] 854 |             mac!(let _ = Self::associated2(self););
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: hidden type `impl Future<Output = ()>` captures lifetime `'_`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0700]: hidden type for `impl Future<Output = ()>` captures lifetime that does not appear in bounds
[INFO] [stdout]    --> tests/test.rs:855:26
[INFO] [stdout]     |
[INFO] [stdout] 846 |         async fn associated2(&self) {
[INFO] [stdout]     |         --------------------------- opaque type defined here
[INFO] [stdout] ...
[INFO] [stdout] 855 |             mac!(let _ = <Self>::associated2(self););
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: hidden type `impl Future<Output = ()>` captures lifetime `'_`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0700]: hidden type for `impl Future<Output = ()>` captures lifetime that does not appear in bounds
[INFO] [stdout]    --> tests/test.rs:856:26
[INFO] [stdout]     |
[INFO] [stdout] 846 |         async fn associated2(&self) {
[INFO] [stdout]     |         --------------------------- opaque type defined here
[INFO] [stdout] ...
[INFO] [stdout] 856 |             mac!(let _ = <Self as Trait>::associated2(self););
[INFO] [stdout]     |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: hidden type `impl Future<Output = ()>` captures lifetime `'_`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 50 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0038, E0432, E0433, E0700.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0038`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `async-trait-with-sync` (test "test") due to 51 previous errors
[INFO] running `Command { std: "docker" "inspect" "fc132e3939ef74e6f1645a365b6bcfe0e7189c925ea85233a0932ffc6c35304c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fc132e3939ef74e6f1645a365b6bcfe0e7189c925ea85233a0932ffc6c35304c", kill_on_drop: false }`
[INFO] [stdout] fc132e3939ef74e6f1645a365b6bcfe0e7189c925ea85233a0932ffc6c35304c
