[INFO] fetching crate async-trait-with-sync 0.1.36...
[INFO] checking async-trait-with-sync-0.1.36 against master#b0696a5160711c068cb1f01b7437db7990d15750 for pr-121848
[INFO] extracting crate async-trait-with-sync 0.1.36 into /workspace/builds/worker-7-tc1/source
[INFO] validating manifest of crates.io crate async-trait-with-sync 0.1.36 on toolchain b0696a5160711c068cb1f01b7437db7990d15750
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "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-7-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "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" "+b0696a5160711c068cb1f01b7437db7990d15750" "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] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded dissimilar v1.0.7
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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" "+b0696a5160711c068cb1f01b7437db7990d15750" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e17cd91aa27224b7872645a40eadcfdb5f1c1e8749e89f0d07979628cba77616
[INFO] running `Command { std: "docker" "start" "-a" "e17cd91aa27224b7872645a40eadcfdb5f1c1e8749e89f0d07979628cba77616", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e17cd91aa27224b7872645a40eadcfdb5f1c1e8749e89f0d07979628cba77616", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e17cd91aa27224b7872645a40eadcfdb5f1c1e8749e89f0d07979628cba77616", kill_on_drop: false }`
[INFO] [stdout] e17cd91aa27224b7872645a40eadcfdb5f1c1e8749e89f0d07979628cba77616
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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" "+b0696a5160711c068cb1f01b7437db7990d15750" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 6bf7b5270bf633b8555e4a877120deb6ba50dd7e30cb66c9ce67b7d494bdc0e4
[INFO] running `Command { std: "docker" "start" "-a" "6bf7b5270bf633b8555e4a877120deb6ba50dd7e30cb66c9ce67b7d494bdc0e4", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling trybuild v1.0.89
[INFO] [stderr]     Checking glob v0.3.1
[INFO] [stderr]     Checking dissimilar v1.0.7
[INFO] [stderr]    Compiling syn v2.0.52
[INFO] [stderr]     Checking serde_json v1.0.114
[INFO] [stderr]     Checking basic-toml v0.1.8
[INFO] [stderr]     Checking async-trait-with-sync v0.1.36 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling tracing-attributes v0.1.27
[INFO] [stderr]    Compiling pin-project-internal v1.1.5
[INFO] [stderr]    Compiling serde_derive v1.0.197
[INFO] [stderr]     Checking pin-project v1.1.5
[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" "6bf7b5270bf633b8555e4a877120deb6ba50dd7e30cb66c9ce67b7d494bdc0e4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6bf7b5270bf633b8555e4a877120deb6ba50dd7e30cb66c9ce67b7d494bdc0e4", kill_on_drop: false }`
[INFO] [stdout] 6bf7b5270bf633b8555e4a877120deb6ba50dd7e30cb66c9ce67b7d494bdc0e4
