[INFO] fetching crate phobos 0.10.0...
[INFO] testing phobos-0.10.0 against 1.95.0 for beta-1.96-2
[INFO] extracting crate phobos 0.10.0 into /workspace/builds/worker-7-tc1/source
[INFO] started tweaking crates.io crate phobos 0.10.0
[INFO] finished tweaking crates.io crate phobos 0.10.0
[INFO] tweaked toml for crates.io crate phobos 0.10.0 written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate phobos 0.10.0 on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate phobos 0.10.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition
[INFO] [stderr] (in the `multimap` dependency)
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded strict-num v0.1.0
[INFO] [stderr]   Downloaded proc-macro2 v1.0.56
[INFO] [stderr]   Downloaded xmlparser v0.13.5
[INFO] [stderr]   Downloaded multimap v0.9.0
[INFO] [stderr]   Downloaded concat-idents v1.1.4
[INFO] [stderr]   Downloaded ash-window v0.12.0
[INFO] [stderr]   Downloaded shaderc v0.8.2
[INFO] [stderr]   Downloaded bitflags v2.3.1
[INFO] [stderr]   Downloaded raw-window-metal v0.3.1
[INFO] [stderr]   Downloaded smithay-client-toolkit v0.16.0
[INFO] [stderr]   Downloaded calloop v0.10.5
[INFO] [stderr]   Downloaded widestring v1.0.2
[INFO] [stderr]   Downloaded tiny-skia-path v0.8.3
[INFO] [stderr]   Downloaded tiny-skia v0.8.3
[INFO] [stderr]   Downloaded regex v1.8.1
[INFO] [stderr]   Downloaded syn v2.0.15
[INFO] [stderr]   Downloaded winit v0.28.3
[INFO] [stderr]   Downloaded libc v0.2.142
[INFO] [stderr]   Downloaded regex-syntax v0.7.1
[INFO] [stderr]   Downloaded orbclient v0.3.44
[INFO] [stderr]   Downloaded spv-cross v0.23.5
[INFO] [stderr]   Downloaded fsr2-sys v0.1.6
[INFO] [stderr]   Downloaded shaderc-sys v0.8.2
[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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 612ff17f6d862df429e60564579c0e53d02a082bff3930eb0fae9975af2dc0b7
[INFO] running `Command { std: "docker" "start" "-a" "612ff17f6d862df429e60564579c0e53d02a082bff3930eb0fae9975af2dc0b7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "612ff17f6d862df429e60564579c0e53d02a082bff3930eb0fae9975af2dc0b7", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "612ff17f6d862df429e60564579c0e53d02a082bff3930eb0fae9975af2dc0b7", kill_on_drop: false }`
[INFO] [stdout] 612ff17f6d862df429e60564579c0e53d02a082bff3930eb0fae9975af2dc0b7
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 073bc36f0d48ca51aceebce0e62aeb9e51a7e671af84892331714afd2959c7bc
[INFO] running `Command { std: "docker" "start" "-a" "073bc36f0d48ca51aceebce0e62aeb9e51a7e671af84892331714afd2959c7bc", kill_on_drop: false }`
[INFO] [stderr] warning: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition
[INFO] [stderr] (in the `multimap` dependency)
[INFO] [stderr]    Compiling proc-macro2 v1.0.56
[INFO] [stderr]    Compiling quote v1.0.26
[INFO] [stderr]    Compiling unicode-ident v1.0.8
[INFO] [stderr]    Compiling libc v0.2.142
[INFO] [stderr]    Compiling pkg-config v0.3.26
[INFO] [stderr]    Compiling miniz_oxide v0.6.2
[INFO] [stderr]    Compiling dlib v0.5.0
[INFO] [stderr]    Compiling smallvec v1.10.0
[INFO] [stderr]    Compiling scoped-tls v1.0.1
[INFO] [stderr]    Compiling futures-core v0.3.28
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling futures-channel v0.3.28
[INFO] [stderr]    Compiling futures-task v0.3.28
[INFO] [stderr]    Compiling flate2 v1.0.25
[INFO] [stderr]    Compiling wayland-sys v0.29.5
[INFO] [stderr]    Compiling smithay-client-toolkit v0.16.0
[INFO] [stderr]    Compiling bytemuck v1.13.1
[INFO] [stderr]    Compiling futures-sink v0.3.28
[INFO] [stderr]    Compiling gimli v0.27.2
[INFO] [stderr]    Compiling jobserver v0.1.26
[INFO] [stderr]    Compiling strict-num v0.1.0
[INFO] [stderr]    Compiling wayland-scanner v0.29.5
[INFO] [stderr]    Compiling syn v2.0.15
[INFO] [stderr]    Compiling cc v1.0.79
[INFO] [stderr]    Compiling futures-util v0.3.28
[INFO] [stderr]    Compiling arrayref v0.3.7
[INFO] [stderr]    Compiling tiny-skia-path v0.8.3
[INFO] [stderr]    Compiling png v0.17.8
[INFO] [stderr]    Compiling nix v0.24.3
[INFO] [stderr]    Compiling nix v0.25.1
[INFO] [stderr]    Compiling backtrace v0.3.67
[INFO] [stderr]    Compiling xcursor v0.3.4
[INFO] [stderr]    Compiling wayland-client v0.29.5
[INFO] [stderr]    Compiling wayland-protocols v0.29.5
[INFO] [stderr]    Compiling memmap2 v0.5.10
[INFO] [stderr]    Compiling x11-dl v2.21.0
[INFO] [stderr]    Compiling object v0.30.3
[INFO] [stderr]    Compiling futures-io v0.3.28
[INFO] [stderr]    Compiling addr2line v0.19.0
[INFO] [stderr]    Compiling rustc-demangle v0.1.23
[INFO] [stderr]    Compiling arrayvec v0.7.2
[INFO] [stderr]    Compiling wayland-commons v0.29.5
[INFO] [stderr]    Compiling tiny-skia v0.8.3
[INFO] [stderr]    Compiling winit v0.28.3
[INFO] [stderr]    Compiling spv-cross v0.23.5
[INFO] [stderr]    Compiling anyhow v1.0.70
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling thiserror-impl v1.0.40
[INFO] [stderr]    Compiling futures-macro v0.3.28
[INFO] [stderr]    Compiling wayland-cursor v0.29.5
[INFO] [stderr]    Compiling thiserror v1.0.40
[INFO] [stderr]    Compiling calloop v0.10.5
[INFO] [stderr]    Compiling mio v0.8.6
[INFO] [stderr]    Compiling phobos v0.10.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]    Compiling petgraph v0.6.3
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling gpu-allocator v0.22.0
[INFO] [stderr]    Compiling ash-window v0.12.0
[INFO] [stderr]    Compiling multimap v0.9.0
[INFO] [stderr]    Compiling futures-executor v0.3.28
[INFO] [stderr]    Compiling futures v0.3.28
[INFO] [stderr]    Compiling sctk-adwaita v0.5.4
[INFO] [stdout] warning: unused import: `crate::pipeline::hash::*`
[INFO] [stdout]   --> src/prelude.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub use crate::pipeline::hash::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/core/queue.rs:95:29
[INFO] [stdout]    |
[INFO] [stdout] 95 |     fn acquire_device_queue(&self) -> Result<MutexGuard<DeviceQueue>> {
[INFO] [stdout]    |                             ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 95 |     fn acquire_device_queue(&self) -> Result<MutexGuard<'_, DeviceQueue>> {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sync/execution_manager.rs:173:37
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub(crate) fn get_present_queue(&self) -> Option<MutexGuard<Queue>> {
[INFO] [stdout]     |                                     ^^^^^            ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub(crate) fn get_present_queue(&self) -> Option<MutexGuard<'_, Queue>> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sync/execution_manager.rs:182:46
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub fn try_get_queue<D: ExecutionDomain>(&self) -> TryLockResult<MutexGuard<Queue>> {
[INFO] [stdout]     |                                              ^^^^^                   ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub fn try_get_queue<D: ExecutionDomain>(&self) -> TryLockResult<MutexGuard<'_, Queue>> {
[INFO] [stdout]     |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sync/execution_manager.rs:197:42
[INFO] [stdout]     |
[INFO] [stdout] 197 |     pub fn get_queue<D: ExecutionDomain>(&self) -> Option<MutexGuard<Queue>> {
[INFO] [stdout]     |                                          ^^^^^            ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 197 |     pub fn get_queue<D: ExecutionDomain>(&self) -> Option<MutexGuard<'_, Queue>> {
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 13s
[INFO] running `Command { std: "docker" "inspect" "073bc36f0d48ca51aceebce0e62aeb9e51a7e671af84892331714afd2959c7bc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "073bc36f0d48ca51aceebce0e62aeb9e51a7e671af84892331714afd2959c7bc", kill_on_drop: false }`
[INFO] [stdout] 073bc36f0d48ca51aceebce0e62aeb9e51a7e671af84892331714afd2959c7bc
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c7dd59d61f2c07b98e6c52751ed55cc547f958e5a400f72d54eb668551332f03
[INFO] running `Command { std: "docker" "start" "-a" "c7dd59d61f2c07b98e6c52751ed55cc547f958e5a400f72d54eb668551332f03", kill_on_drop: false }`
[INFO] [stderr] warning: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition
[INFO] [stderr] (in the `multimap` dependency)
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling calloop v0.10.5
[INFO] [stderr]    Compiling quick-error v1.2.3
[INFO] [stderr]    Compiling regex-syntax v0.7.1
[INFO] [stderr]    Compiling mio v0.8.6
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling gpu-allocator v0.22.0
[INFO] [stderr]    Compiling glam v0.23.0
[INFO] [stderr]    Compiling humantime v1.3.0
[INFO] [stderr]    Compiling smithay-client-toolkit v0.16.0
[INFO] [stderr]    Compiling regex v1.8.1
[INFO] [stderr]    Compiling sctk-adwaita v0.5.4
[INFO] [stderr]    Compiling winit v0.28.3
[INFO] [stderr]    Compiling env_logger v0.7.1
[INFO] [stderr]    Compiling pretty_env_logger v0.4.0
[INFO] [stderr]    Compiling derivative v2.2.0
[INFO] [stderr]    Compiling concat-idents v1.1.4
[INFO] [stderr]    Compiling phobos v0.10.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::pipeline::hash::*`
[INFO] [stdout]   --> src/prelude.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub use crate::pipeline::hash::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::pipeline::hash::*`
[INFO] [stdout]   --> src/prelude.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub use crate::pipeline::hash::*;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/core/queue.rs:95:29
[INFO] [stdout]    |
[INFO] [stdout] 95 |     fn acquire_device_queue(&self) -> Result<MutexGuard<DeviceQueue>> {
[INFO] [stdout]    |                             ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 95 |     fn acquire_device_queue(&self) -> Result<MutexGuard<'_, DeviceQueue>> {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sync/execution_manager.rs:173:37
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub(crate) fn get_present_queue(&self) -> Option<MutexGuard<Queue>> {
[INFO] [stdout]     |                                     ^^^^^            ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub(crate) fn get_present_queue(&self) -> Option<MutexGuard<'_, Queue>> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sync/execution_manager.rs:182:46
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub fn try_get_queue<D: ExecutionDomain>(&self) -> TryLockResult<MutexGuard<Queue>> {
[INFO] [stdout]     |                                              ^^^^^                   ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub fn try_get_queue<D: ExecutionDomain>(&self) -> TryLockResult<MutexGuard<'_, Queue>> {
[INFO] [stdout]     |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sync/execution_manager.rs:197:42
[INFO] [stdout]     |
[INFO] [stdout] 197 |     pub fn get_queue<D: ExecutionDomain>(&self) -> Option<MutexGuard<Queue>> {
[INFO] [stdout]     |                                          ^^^^^            ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 197 |     pub fn get_queue<D: ExecutionDomain>(&self) -> Option<MutexGuard<'_, Queue>> {
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/core/queue.rs:95:29
[INFO] [stdout]    |
[INFO] [stdout] 95 |     fn acquire_device_queue(&self) -> Result<MutexGuard<DeviceQueue>> {
[INFO] [stdout]    |                             ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                             |
[INFO] [stdout]    |                             the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 95 |     fn acquire_device_queue(&self) -> Result<MutexGuard<'_, DeviceQueue>> {
[INFO] [stdout]    |                                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sync/execution_manager.rs:173:37
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub(crate) fn get_present_queue(&self) -> Option<MutexGuard<Queue>> {
[INFO] [stdout]     |                                     ^^^^^            ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                     |
[INFO] [stdout]     |                                     the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 173 |     pub(crate) fn get_present_queue(&self) -> Option<MutexGuard<'_, Queue>> {
[INFO] [stdout]     |                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sync/execution_manager.rs:182:46
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub fn try_get_queue<D: ExecutionDomain>(&self) -> TryLockResult<MutexGuard<Queue>> {
[INFO] [stdout]     |                                              ^^^^^                   ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                              |
[INFO] [stdout]     |                                              the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 182 |     pub fn try_get_queue<D: ExecutionDomain>(&self) -> TryLockResult<MutexGuard<'_, Queue>> {
[INFO] [stdout]     |                                                                                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]    --> src/sync/execution_manager.rs:197:42
[INFO] [stdout]     |
[INFO] [stdout] 197 |     pub fn get_queue<D: ExecutionDomain>(&self) -> Option<MutexGuard<Queue>> {
[INFO] [stdout]     |                                          ^^^^^            ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |                                          |
[INFO] [stdout]     |                                          the lifetime is elided here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]     |
[INFO] [stdout] 197 |     pub fn get_queue<D: ExecutionDomain>(&self) -> Option<MutexGuard<'_, Queue>> {
[INFO] [stdout]     |                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 32.54s
[INFO] running `Command { std: "docker" "inspect" "c7dd59d61f2c07b98e6c52751ed55cc547f958e5a400f72d54eb668551332f03", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c7dd59d61f2c07b98e6c52751ed55cc547f958e5a400f72d54eb668551332f03", kill_on_drop: false }`
[INFO] [stdout] c7dd59d61f2c07b98e6c52751ed55cc547f958e5a400f72d54eb668551332f03
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1.95.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 8534d5a43ebfa6f5f54ffd9d0d39cc7009b1bcf1d55aa48bef78c4b83a3a604a
[INFO] running `Command { std: "docker" "start" "-a" "8534d5a43ebfa6f5f54ffd9d0d39cc7009b1bcf1d55aa48bef78c4b83a3a604a", kill_on_drop: false }`
[INFO] [stderr] warning: `default_features` is deprecated in favor of `default-features` and will not work in the 2024 edition
[INFO] [stderr] (in the `multimap` dependency)
[INFO] [stderr] warning: unused import: `crate::pipeline::hash::*`
[INFO] [stderr]   --> src/prelude.rs:31:9
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub use crate::pipeline::hash::*;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]   --> src/core/queue.rs:95:29
[INFO] [stderr]    |
[INFO] [stderr] 95 |     fn acquire_device_queue(&self) -> Result<MutexGuard<DeviceQueue>> {
[INFO] [stderr]    |                             ^^^^^            ^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]    |                             |
[INFO] [stderr]    |                             the lifetime is elided here
[INFO] [stderr]    |
[INFO] [stderr]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]    |
[INFO] [stderr] 95 |     fn acquire_device_queue(&self) -> Result<MutexGuard<'_, DeviceQueue>> {
[INFO] [stderr]    |                                                         +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/sync/execution_manager.rs:173:37
[INFO] [stderr]     |
[INFO] [stderr] 173 |     pub(crate) fn get_present_queue(&self) -> Option<MutexGuard<Queue>> {
[INFO] [stderr]     |                                     ^^^^^            ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                                     |
[INFO] [stderr]     |                                     the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 173 |     pub(crate) fn get_present_queue(&self) -> Option<MutexGuard<'_, Queue>> {
[INFO] [stderr]     |                                                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/sync/execution_manager.rs:182:46
[INFO] [stderr]     |
[INFO] [stderr] 182 |     pub fn try_get_queue<D: ExecutionDomain>(&self) -> TryLockResult<MutexGuard<Queue>> {
[INFO] [stderr]     |                                              ^^^^^                   ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                                              |
[INFO] [stderr]     |                                              the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 182 |     pub fn try_get_queue<D: ExecutionDomain>(&self) -> TryLockResult<MutexGuard<'_, Queue>> {
[INFO] [stderr]     |                                                                                 +++
[INFO] [stderr] 
[INFO] [stderr] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stderr]    --> src/sync/execution_manager.rs:197:42
[INFO] [stderr]     |
[INFO] [stderr] 197 |     pub fn get_queue<D: ExecutionDomain>(&self) -> Option<MutexGuard<Queue>> {
[INFO] [stderr]     |                                          ^^^^^            ^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stderr]     |                                          |
[INFO] [stderr]     |                                          the lifetime is elided here
[INFO] [stderr]     |
[INFO] [stderr]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stderr] help: use `'_` for type paths
[INFO] [stderr]     |
[INFO] [stderr] 197 |     pub fn get_queue<D: ExecutionDomain>(&self) -> Option<MutexGuard<'_, Queue>> {
[INFO] [stderr]     |                                                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: `phobos` (lib) generated 5 warnings (run `cargo fix --lib -p phobos` to apply 5 suggestions)
[INFO] [stderr] warning: `phobos` (lib test) generated 5 warnings (5 duplicates)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.21s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/phobos-399b9146f809f301)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests phobos
[INFO] [stdout] 
[INFO] [stdout] running 76 tests
[INFO] [stdout] test src/allocator/default_allocator.rs - allocator::default_allocator::DefaultAllocator::free (line 168) ... FAILED
[INFO] [stdout] test src/allocator/default_allocator.rs - allocator::default_allocator::DefaultAllocator::new (line 76) ... FAILED
[INFO] [stdout] test src/allocator/default_allocator.rs - allocator::default_allocator::DefaultAllocator::allocate (line 126) ... FAILED
[INFO] [stdout] test src/allocator/default_allocator.rs - allocator::default_allocator::DefaultAllocator (line 23) ... ok
[INFO] [stdout] test src/allocator/default_allocator.rs - allocator::default_allocator::Allocation::offset (line 210) ... ok
[INFO] [stdout] test src/allocator/scratch_allocator.rs - allocator::scratch_allocator::ScratchAllocator (line 49) ... FAILED
[INFO] [stdout] test src/allocator/scratch_allocator.rs - allocator::scratch_allocator::ScratchAllocator<A>::new (line 86) ... FAILED
[INFO] [stdout] test src/allocator/default_allocator.rs - allocator::default_allocator::Allocation::mapped_ptr (line 235) ... ok
[INFO] [stdout] test src/allocator/scratch_allocator.rs - allocator::scratch_allocator (line 9) ... FAILED
[INFO] [stdout] test src/allocator/default_allocator.rs - allocator::default_allocator::Allocation (line 56) ... FAILED
[INFO] [stdout] test src/allocator/scratch_allocator.rs - allocator::scratch_allocator::ScratchAllocator<A>::allocate (line 121) ... FAILED
[INFO] [stdout] test src/allocator/scratch_allocator.rs - allocator::scratch_allocator::ScratchAllocator<A>::reset (line 152) ... ok
[INFO] [stdout] test src/allocator/default_allocator.rs - allocator::default_allocator::Allocation::memory (line 188) ... ok
[INFO] [stdout] test src/allocator/traits.rs - allocator::traits::Allocator::allocate (line 23) ... ok
[INFO] [stdout] test src/allocator/traits.rs - allocator::traits::Allocation::mapped_ptr (line 107) ... ok
[INFO] [stdout] test src/allocator/traits.rs - allocator::traits::Allocator::free (line 46) ... ok
[INFO] [stdout] test src/allocator/traits.rs - allocator::traits::Allocation::memory (line 67) ... ok
[INFO] [stdout] test src/command_buffer/compute.rs - command_buffer::compute::IncompleteCommandBuffer<'_,D,A>::bind_compute_pipeline (line 20) ... ok
[INFO] [stdout] test src/command_buffer/compute.rs - command_buffer::compute::IncompleteCommandBuffer<'_,D,A>::dispatch (line 56) ... ok
[INFO] [stdout] test src/command_buffer/graphics.rs - command_buffer::graphics::IncompleteCommandBuffer<'_,D,A>::bind_graphics_pipeline (line 190) ... ok
[INFO] [stdout] test src/allocator/traits.rs - allocator::traits::Allocation::offset (line 87) ... ok
[INFO] [stdout] test src/command_buffer/graphics.rs - command_buffer::graphics::IncompleteCommandBuffer<'_,D,A>::bind_index_buffer (line 266) ... ok
[INFO] [stdout] test src/command_buffer/graphics.rs - command_buffer::graphics::IncompleteCommandBuffer<'_,D,A>::draw (line 92) ... ok
[INFO] [stdout] test src/command_buffer/graphics.rs - command_buffer::graphics::IncompleteCommandBuffer<'_,D,A>::bind_vertex_buffer (line 238) ... ok
[INFO] [stdout] test src/command_buffer/graphics.rs - command_buffer::graphics::IncompleteCommandBuffer<'_,D,A>::full_viewport_scissor (line 16) ... ok
[INFO] [stdout] test src/command_buffer/graphics.rs - command_buffer::graphics::IncompleteCommandBuffer<'_,D,A>::draw_indexed (line 128) ... ok
[INFO] [stdout] test src/command_buffer/graphics.rs - command_buffer::graphics::IncompleteCommandBuffer<'_,D,A>::viewport (line 40) ... ok
[INFO] [stdout] test src/command_buffer/incomplete.rs - command_buffer::incomplete::IncompleteCommandBuffer<'_,D,A>::bind_acceleration_structure (line 404) ... FAILED
[INFO] [stdout] test src/command_buffer/graphics.rs - command_buffer::graphics::IncompleteCommandBuffer<'_,D,A>::set_polygon_mode (line 333) ... ok
[INFO] [stdout] test src/command_buffer/incomplete.rs - command_buffer::incomplete::IncompleteCommandBuffer<'_,D,A>::bind_storage_buffer (line 320) ... ok
[INFO] [stdout] test src/command_buffer/graphics.rs - command_buffer::graphics::IncompleteCommandBuffer<'_,D,A>::scissor (line 65) ... ok
[INFO] [stdout] test src/command_buffer/incomplete.rs - command_buffer::incomplete::IncompleteCommandBuffer<'_,D,A>::bind_sampled_image (line 263) ... ok
[INFO] [stdout] test src/command_buffer/incomplete.rs - command_buffer::incomplete::IncompleteCommandBuffer<'_,D,A>::push_constants (line 535) ... ok
[INFO] [stdout] test src/command_buffer/incomplete.rs - command_buffer::incomplete::IncompleteCommandBuffer<'_,D,A>::bind_storage_image (line 350) ... ok
[INFO] [stdout] test src/command_buffer/incomplete.rs - command_buffer::incomplete::IncompleteCommandBuffer<'_,D,A>::push_constant (line 515) ... ok
[INFO] [stdout] test src/command_buffer/incomplete.rs - command_buffer::incomplete::IncompleteCommandBuffer<'_,D,A>::bind_uniform_buffer (line 292) ... ok
[INFO] [stdout] test src/command_buffer/incomplete.rs - command_buffer::incomplete::IncompleteCommandBuffer<'_,D,A>::forget_descriptor_state (line 204) ... ok
[INFO] [stdout] test src/command_buffer/incomplete.rs - command_buffer::incomplete::IncompleteCommandBuffer<'_,D,A>::resolve_and_bind_storage_image (line 376) ... ok
[INFO] [stdout] test src/core/app_info.rs - core::app_info::AppBuilder (line 173) ... FAILED
[INFO] [stdout] test src/command_buffer/incomplete.rs - command_buffer::incomplete::IncompleteCommandBuffer<'_,D,A>::resolve_and_bind_sampled_image (line 230) ... ok
[INFO] [stdout] test src/command_buffer/mod.rs - command_buffer::CommandBuffer (line 43) ... FAILED
[INFO] [stdout] test src/command_buffer/mod.rs - command_buffer::IncompleteCommandBuffer (line 66) ... ok
[INFO] [stdout] test src/command_buffer/incomplete.rs - command_buffer::incomplete::IncompleteCommandBuffer<'q,D,A>::finish (line 76) ... ok
[INFO] [stdout] test src/core/device.rs - core::device::Device::is_extension_enabled (line 492) ... ok
[INFO] [stdout] test src/command_buffer/transfer.rs - command_buffer::transfer::IncompleteCommandBuffer<'_,D,A>::copy_buffer (line 17) ... ok
[INFO] [stdout] test src/command_buffer/transfer.rs - command_buffer::transfer::IncompleteCommandBuffer<'_,D,A>::copy_buffer_to_image (line 50) ... ok
[INFO] [stdout] test src/core/app_info.rs - core::app_info::QueueRequest (line 15) ... ok
[INFO] [stdout] test src/core/device.rs - core::device::Device::dynamic_state3 (line 516) ... ok
[INFO] [stdout] test src/core/app_info.rs - core::app_info::GPURequirements (line 48) ... ok
[INFO] [stdout] test src/core/physical_device.rs - core::physical_device::PhysicalDevice::queues (line 219) ... ok
[INFO] [stdout] test src/core/device.rs - core::device::Device::wait_idle (line 407) ... ok
[INFO] [stdout] test src/graph/mod.rs - graph (line 41) ... FAILED
[INFO] [stdout] test src/core/physical_device.rs - core::physical_device::PhysicalDevice::memory_properties (line 248) ... ok
[INFO] [stdout] test src/core/device.rs - core::device::Device::properties (line 441) ... ok
[INFO] [stdout] test src/graph/pass.rs - graph::pass (line 29) ... FAILED
[INFO] [stdout] test src/descriptor/builder.rs - descriptor::builder::DescriptorSetBuilder (line 20) ... FAILED
[INFO] [stdout] test src/graph/pass.rs - graph::pass (line 46) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 58) ... FAILED
[INFO] [stdout] test src/graph/mod.rs - graph (line 15) ... FAILED
[INFO] [stdout] test src/core/device.rs - core::device::ExtensionID (line 28) ... ok
[INFO] [stdout] test src/pipeline/cache.rs - pipeline::cache::PipelineCache (line 56) ... FAILED
[INFO] [stdout] test src/descriptor/mod.rs - descriptor (line 11) ... ok
[INFO] [stdout] test src/lib.rs - (line 34) ... FAILED
[INFO] [stdout] test src/resource/buffer.rs - resource::buffer (line 11) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 8) ... ok
[INFO] [stdout] test src/graph/physical_resource.rs - graph::physical_resource::PhysicalResourceBindings (line 20) ... FAILED
[INFO] [stdout] test src/pipeline/mod.rs - pipeline (line 11) ... FAILED
[INFO] [stdout] test src/sync/execution_manager.rs - sync::execution_manager::ExecutionManager (line 31) ... FAILED
[INFO] [stdout] test src/sync/fence.rs - sync::fence::Fence (line 32) ... FAILED
[INFO] [stdout] test src/sync/fence.rs - sync::fence::Fence (line 51) ... FAILED
[INFO] [stdout] test src/sync/execution_manager.rs - sync::execution_manager::ExecutionManager<A>::start_submit_batch (line 145) ... FAILED
[INFO] [stdout] test src/sync/fence.rs - sync::fence::Fence (line 81) ... FAILED
[INFO] [stdout] test src/graph/pass.rs - graph::pass (line 18) ... ok
[INFO] [stdout] test src/wsi/frame.rs - wsi::frame::InFlightContext (line 105) ... FAILED
[INFO] [stdout] test src/wsi/frame.rs - wsi::frame (line 10) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 22) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/allocator/default_allocator.rs - allocator::default_allocator::DefaultAllocator::free (line 168) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `instance` in this scope
[INFO] [stdout]    --> src/allocator/default_allocator.rs:171:44
[INFO] [stdout]     |
[INFO] [stdout] 171 | let mut allocator = DefaultAllocator::new(&instance, &device, &physical_device)?;
[INFO] [stdout]     |                                            ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `device` in this scope
[INFO] [stdout]    --> src/allocator/default_allocator.rs:171:55
[INFO] [stdout]     |
[INFO] [stdout] 171 | let mut allocator = DefaultAllocator::new(&instance, &device, &physical_device)?;
[INFO] [stdout]     |                                                       ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `physical_device` in this scope
[INFO] [stdout]    --> src/allocator/default_allocator.rs:171:64
[INFO] [stdout]     |
[INFO] [stdout] 171 | let mut allocator = DefaultAllocator::new(&instance, &device, &physical_device)?;
[INFO] [stdout]     |                                                                ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected value, found module `buffer`
[INFO] [stdout]    --> src/allocator/default_allocator.rs:172:79
[INFO] [stdout]     |
[INFO] [stdout] 172 | let allocation = allocator.allocate("buffer_memory", &get_memory_requirements(buffer), MemoryType::GpuOnly)?;
[INFO] [stdout]     |                                                                               ^^^^^^ not a value
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]    --> src/allocator/default_allocator.rs:171:80
[INFO] [stdout]     |
[INFO] [stdout] 169 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_allocator_default_allocator_rs_168_0() {
[INFO] [stdout]     |                                      ----------------------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] 170 | use phobos::*;
[INFO] [stdout] 171 | let mut allocator = DefaultAllocator::new(&instance, &device, &physical_device)?;
[INFO] [stdout]     |                                                                                ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 169 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_allocator_default_allocator_rs_168_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 170 | use phobos::*;
[INFO] [stdout] ...
[INFO] [stdout] 176 | allocator.free(allocation)?;
[INFO] [stdout] 177 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `get_memory_requirements` in this scope
[INFO] [stdout]    --> src/allocator/default_allocator.rs:172:55
[INFO] [stdout]     |
[INFO] [stdout] 172 | let allocation = allocator.allocate("buffer_memory", &get_memory_requirements(buffer), MemoryType::GpuOnly)?;
[INFO] [stdout]     |                                                       ^^^^^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]    --> src/allocator/default_allocator.rs:172:108
[INFO] [stdout]     |
[INFO] [stdout] 169 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_allocator_default_allocator_rs_168_0() {
[INFO] [stdout]     |                                      ----------------------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 172 | let allocation = allocator.allocate("buffer_memory", &get_memory_requirements(buffer), MemoryType::GpuOnly)?;
[INFO] [stdout]     |                                                                                                            ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 169 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_allocator_default_allocator_rs_168_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 170 | use phobos::*;
[INFO] [stdout] ...
[INFO] [stdout] 176 | allocator.free(allocation)?;
[INFO] [stdout] 177 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]    --> src/allocator/default_allocator.rs:176:27
[INFO] [stdout]     |
[INFO] [stdout] 169 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_allocator_default_allocator_rs_168_0() {
[INFO] [stdout]     |                                      ----------------------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 176 | allocator.free(allocation)?;
[INFO] [stdout]     |                           ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 169 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_allocator_default_allocator_rs_168_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 170 | use phobos::*;
[INFO] [stdout] ...
[INFO] [stdout] 176 | allocator.free(allocation)?;
[INFO] [stdout] 177 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 8 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0423, E0425.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/allocator/default_allocator.rs - allocator::default_allocator::DefaultAllocator::new (line 76) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `instance` in this scope
[INFO] [stdout]   --> src/allocator/default_allocator.rs:79:44
[INFO] [stdout]    |
[INFO] [stdout] 79 | let mut allocator = DefaultAllocator::new(&instance, &device, &physical_device)?;
[INFO] [stdout]    |                                            ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `device` in this scope
[INFO] [stdout]   --> src/allocator/default_allocator.rs:79:55
[INFO] [stdout]    |
[INFO] [stdout] 79 | let mut allocator = DefaultAllocator::new(&instance, &device, &physical_device)?;
[INFO] [stdout]    |                                                       ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `physical_device` in this scope
[INFO] [stdout]   --> src/allocator/default_allocator.rs:79:64
[INFO] [stdout]    |
[INFO] [stdout] 79 | let mut allocator = DefaultAllocator::new(&instance, &device, &physical_device)?;
[INFO] [stdout]    |                                                                ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]   --> src/allocator/default_allocator.rs:79:80
[INFO] [stdout]    |
[INFO] [stdout] 77 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_allocator_default_allocator_rs_76_0() {
[INFO] [stdout]    |                                      ---------------------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] 78 | use phobos::*;
[INFO] [stdout] 79 | let mut allocator = DefaultAllocator::new(&instance, &device, &physical_device)?;
[INFO] [stdout]    |                                                                                ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]    |
[INFO] [stdout] 77 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_allocator_default_allocator_rs_76_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 78 | use phobos::*;
[INFO] [stdout] 79 | let mut allocator = DefaultAllocator::new(&instance, &device, &physical_device)?;
[INFO] [stdout] 80 +     Ok(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0425.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/allocator/default_allocator.rs - allocator::default_allocator::DefaultAllocator::allocate (line 126) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `instance` in this scope
[INFO] [stdout]    --> src/allocator/default_allocator.rs:133:48
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let mut allocator = DefaultAllocator::new(&instance, &device, &physical_device)?;
[INFO] [stdout]     |                                                ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `physical_device` in this scope
[INFO] [stdout]    --> src/allocator/default_allocator.rs:133:68
[INFO] [stdout]     |
[INFO] [stdout] 133 |     let mut allocator = DefaultAllocator::new(&instance, &device, &physical_device)?;
[INFO] [stdout]     |                                                                    ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0573]: expected type, found function `vk_get_memory_requirements`
[INFO] [stdout]    --> src/allocator/default_allocator.rs:134:23
[INFO] [stdout]     |
[INFO] [stdout] 134 |     let requirements: vk_get_memory_requirements(&device, &buffer);
[INFO] [stdout]     |                     --^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ not a type
[INFO] [stdout]     |                     |
[INFO] [stdout]     |                     help: use `=` if you meant to assign
[INFO] [stdout] 
[INFO] [stdout] error[E0573]: expected type, found local variable `device`
[INFO] [stdout]    --> src/allocator/default_allocator.rs:134:51
[INFO] [stdout]     |
[INFO] [stdout] 134 |     let requirements: vk_get_memory_requirements(&device, &buffer);
[INFO] [stdout]     |                                                   ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/core/device.rs:78:1
[INFO] [stdout]     |
[INFO] [stdout]  78 | pub struct Device {
[INFO] [stdout]     | ----------------- similarly named struct `Device` defined here
[INFO] [stdout]     |
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 134 -     let requirements: vk_get_memory_requirements(&device, &buffer);
[INFO] [stdout] 134 +     let requirements: vk_get_memory_requirements(&Device, &buffer);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0573]: expected type, found module `buffer`
[INFO] [stdout]    --> src/allocator/default_allocator.rs:134:60
[INFO] [stdout]     |
[INFO] [stdout] 134 |     let requirements: vk_get_memory_requirements(&device, &buffer);
[INFO] [stdout]     |                                                            ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/resource/buffer.rs:46:1
[INFO] [stdout]     |
[INFO] [stdout]  46 | pub struct Buffer<A: Allocator = DefaultAllocator> {
[INFO] [stdout]     | -------------------------------------------------- similarly named struct `Buffer` defined here
[INFO] [stdout]     |
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]     |
[INFO] [stdout] 134 -     let requirements: vk_get_memory_requirements(&device, &buffer);
[INFO] [stdout] 134 +     let requirements: vk_get_memory_requirements(&device, &Buffer);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0573.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/allocator/scratch_allocator.rs - allocator::scratch_allocator::ScratchAllocator (line 49) stdout ----
[INFO] [stdout] error[E0061]: this function takes 3 arguments but 4 arguments were supplied
[INFO] [stdout]   --> src/allocator/scratch_allocator.rs:60:25
[INFO] [stdout]    |
[INFO] [stdout] 60 |     let mut allocator = ScratchAllocator::new(device.clone(), alloc, 128 as u64, vk::BufferUsageFlags::UNIFORM_BUFFER)?;
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^                                    ------------------------------------ unexpected argument #4 of type `BufferUsageFlags`
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> src/allocator/scratch_allocator.rs:93:12
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]    |
[INFO] [stdout] 60 -     let mut allocator = ScratchAllocator::new(device.clone(), alloc, 128 as u64, vk::BufferUsageFlags::UNIFORM_BUFFER)?;
[INFO] [stdout] 60 +     let mut allocator = ScratchAllocator::new(device.clone(), alloc, 128 as u64)?;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0061`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/allocator/scratch_allocator.rs - allocator::scratch_allocator::ScratchAllocator<A>::new (line 86) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `u64: From<usize>` is not satisfied
[INFO] [stdout]   --> src/allocator/scratch_allocator.rs:91:42
[INFO] [stdout]    |
[INFO] [stdout] 91 |     ScratchAllocator::new(device, alloc, 1024 as usize)
[INFO] [stdout]    |     ---------------------                ^^^^^^^^^^^^^ the trait `From<usize>` is not implemented for `u64`
[INFO] [stdout]    |     |
[INFO] [stdout]    |     required by a bound introduced by this call
[INFO] [stdout]    |
[INFO] [stdout]    = help: the following other types implement trait `From<T>`:
[INFO] [stdout]              `u64` implements `From<bool>`
[INFO] [stdout]              `u64` implements `From<char>`
[INFO] [stdout]              `u64` implements `From<gimli::read::cfi::Pointer>`
[INFO] [stdout]              `u64` implements `From<std::ascii::Char>`
[INFO] [stdout]              `u64` implements `From<u16>`
[INFO] [stdout]              `u64` implements `From<u32>`
[INFO] [stdout]              `u64` implements `From<u8>`
[INFO] [stdout]              `u64` implements `From<winit::platform_impl::platform::WindowId>`
[INFO] [stdout]              `u64` implements `From<winit::window::WindowId>`
[INFO] [stdout]    = note: required for `usize` to implement `Into<u64>`
[INFO] [stdout] note: required by a bound in `phobos::ScratchAllocator::<A>::new`
[INFO] [stdout]   --> src/allocator/scratch_allocator.rs:96:24
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn new(
[INFO] [stdout]    |            --- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 96 |         max_size: impl Into<vk::DeviceSize>,
[INFO] [stdout]    |                        ^^^^^^^^^^^^^^^^^^^^ required by this bound in `ScratchAllocator::<A>::new`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/allocator/scratch_allocator.rs - allocator::scratch_allocator (line 9) stdout ----
[INFO] [stdout] error[E0061]: this function takes 3 arguments but 4 arguments were supplied
[INFO] [stdout]   --> src/allocator/scratch_allocator.rs:20:25
[INFO] [stdout]    |
[INFO] [stdout] 20 |     let mut allocator = ScratchAllocator::new(device.clone(), alloc, 128 as u64, vk::BufferUsageFlags::UNIFORM_BUFFER)?;
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^^^^^^                                    ------------------------------------ unexpected argument #4 of type `BufferUsageFlags`
[INFO] [stdout]    |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]   --> src/allocator/scratch_allocator.rs:93:12
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn new(
[INFO] [stdout]    |            ^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]    |
[INFO] [stdout] 20 -     let mut allocator = ScratchAllocator::new(device.clone(), alloc, 128 as u64, vk::BufferUsageFlags::UNIFORM_BUFFER)?;
[INFO] [stdout] 20 +     let mut allocator = ScratchAllocator::new(device.clone(), alloc, 128 as u64)?;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0061`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/allocator/default_allocator.rs - allocator::default_allocator::Allocation (line 56) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `instance` in this scope
[INFO] [stdout]   --> src/allocator/default_allocator.rs:59:44
[INFO] [stdout]    |
[INFO] [stdout] 59 | let mut allocator = DefaultAllocator::new(&instance, &device, &physical_device)?;
[INFO] [stdout]    |                                            ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `device` in this scope
[INFO] [stdout]   --> src/allocator/default_allocator.rs:59:55
[INFO] [stdout]    |
[INFO] [stdout] 59 | let mut allocator = DefaultAllocator::new(&instance, &device, &physical_device)?;
[INFO] [stdout]    |                                                       ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `physical_device` in this scope
[INFO] [stdout]   --> src/allocator/default_allocator.rs:59:64
[INFO] [stdout]    |
[INFO] [stdout] 59 | let mut allocator = DefaultAllocator::new(&instance, &device, &physical_device)?;
[INFO] [stdout]    |                                                                ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `memory_requirements` in this scope
[INFO] [stdout]   --> src/allocator/default_allocator.rs:61:55
[INFO] [stdout]    |
[INFO] [stdout] 61 | let allocation = allocator.allocate("buffer_memory", &memory_requirements, MemoryType::GpuOnly)?;
[INFO] [stdout]    |                                                       ^^^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]   --> src/allocator/default_allocator.rs:59:80
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_allocator_default_allocator_rs_56_0() {
[INFO] [stdout]    |                                      ---------------------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] 58 | use phobos::*;
[INFO] [stdout] 59 | let mut allocator = DefaultAllocator::new(&instance, &device, &physical_device)?;
[INFO] [stdout]    |                                                                                ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]    |
[INFO] [stdout] 57 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_allocator_default_allocator_rs_56_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 58 | use phobos::*;
[INFO] [stdout] ...
[INFO] [stdout] 61 | let allocation = allocator.allocate("buffer_memory", &memory_requirements, MemoryType::GpuOnly)?;
[INFO] [stdout] 62 +     Ok(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]   --> src/allocator/default_allocator.rs:61:96
[INFO] [stdout]    |
[INFO] [stdout] 57 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_allocator_default_allocator_rs_56_0() {
[INFO] [stdout]    |                                      ---------------------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 61 | let allocation = allocator.allocate("buffer_memory", &memory_requirements, MemoryType::GpuOnly)?;
[INFO] [stdout]    |                                                                                                ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]    |
[INFO] [stdout] 57 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_allocator_default_allocator_rs_56_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 58 | use phobos::*;
[INFO] [stdout] ...
[INFO] [stdout] 61 | let allocation = allocator.allocate("buffer_memory", &memory_requirements, MemoryType::GpuOnly)?;
[INFO] [stdout] 62 +     Ok(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0425.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/allocator/scratch_allocator.rs - allocator::scratch_allocator::ScratchAllocator<A>::allocate (line 121) stdout ----
[INFO] [stdout] error[E0061]: this function takes 3 arguments but 4 arguments were supplied
[INFO] [stdout]    --> src/allocator/scratch_allocator.rs:126:25
[INFO] [stdout]     |
[INFO] [stdout] 126 |     let mut allocator = ScratchAllocator::new(device.clone(), alloc, 1 * 1024u64, vk::BufferUsageFlags::UNIFORM_BUFFER)?;
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^^^^^^                                     ------------------------------------ unexpected argument #4 of type `BufferUsageFlags`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/allocator/scratch_allocator.rs:93:12
[INFO] [stdout]     |
[INFO] [stdout]  93 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout] 126 -     let mut allocator = ScratchAllocator::new(device.clone(), alloc, 1 * 1024u64, vk::BufferUsageFlags::UNIFORM_BUFFER)?;
[INFO] [stdout] 126 +     let mut allocator = ScratchAllocator::new(device.clone(), alloc, 1 * 1024u64)?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0061`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/command_buffer/incomplete.rs - command_buffer::incomplete::IncompleteCommandBuffer<'_,D,A>::bind_acceleration_structure (line 404) stdout ----
[INFO] [stdout] error[E0599]: no method named `use_bind_acceleration_structure` found for struct `phobos::IncompleteCommandBuffer<'q, D, A>` in the current scope
[INFO] [stdout]    --> src/command_buffer/incomplete.rs:410:9
[INFO] [stdout]     |
[INFO] [stdout] 410 |     cmd.use_bind_acceleration_structure(0, 0, accel)?
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: there is a method `bind_acceleration_structure` with a similar name
[INFO] [stdout]     |
[INFO] [stdout] 410 -     cmd.use_bind_acceleration_structure(0, 0, accel)?
[INFO] [stdout] 410 +     cmd.bind_acceleration_structure(0, 0, accel)?
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/core/app_info.rs - core::app_info::AppBuilder (line 173) stdout ----
[INFO] [stdout] error[E0277]: the trait bound `u64: From<i32>` is not satisfied
[INFO] [stdout]    --> src/core/app_info.rs:182:19
[INFO] [stdout]     |
[INFO] [stdout] 182 |     .scratch_size(1024)
[INFO] [stdout]     |      ------------ ^^^^ the trait `From<i32>` is not implemented for `u64`
[INFO] [stdout]     |      |
[INFO] [stdout]     |      required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `From<T>`:
[INFO] [stdout]               `u64` implements `From<bool>`
[INFO] [stdout]               `u64` implements `From<char>`
[INFO] [stdout]               `u64` implements `From<gimli::read::cfi::Pointer>`
[INFO] [stdout]               `u64` implements `From<std::ascii::Char>`
[INFO] [stdout]               `u64` implements `From<u16>`
[INFO] [stdout]               `u64` implements `From<u32>`
[INFO] [stdout]               `u64` implements `From<u8>`
[INFO] [stdout]               `u64` implements `From<winit::platform_impl::platform::WindowId>`
[INFO] [stdout]               `u64` implements `From<winit::window::WindowId>`
[INFO] [stdout]     = note: required for `i32` to implement `Into<u64>`
[INFO] [stdout] note: required by a bound in `phobos::AppBuilder::<'a, Window>::scratch_size`
[INFO] [stdout]    --> src/core/app_info.rs:249:46
[INFO] [stdout]     |
[INFO] [stdout] 249 |     pub fn scratch_size(mut self, size: impl Into<u64>) -> Self {
[INFO] [stdout]     |                                              ^^^^^^^^^ required by this bound in `AppBuilder::<'a, Window>::scratch_size`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/command_buffer/mod.rs - command_buffer::CommandBuffer (line 43) stdout ----
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/command_buffer/mod.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 49 | fn finish_and_wait<D: ExecutionDomain + 'static, A: Allocator>(exec: ExecutionManager, cmd: IncompleteCommandBuffer<D, A>) -> Result<()> {
[INFO] [stdout]    |                                                                                                                               ---------- expected `std::result::Result<(), anyhow::Error>` because of return type
[INFO] [stdout] ...
[INFO] [stdout] 52 |     fence.wait()
[INFO] [stdout]    |     ^^^^^^^^^^^^ expected `Result<(), Error>`, found `Result<Option<()>, Error>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `std::result::Result<(), _>`
[INFO] [stdout]               found enum `std::result::Result<Option<()>, _>`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0308`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/graph/mod.rs - graph (line 41) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `ifc` in this scope
[INFO] [stdout]   --> src/graph/mod.rs:47:35
[INFO] [stdout]    |
[INFO] [stdout] 47 | bindings.bind_image("swapchain", &ifc.swapchain_image);
[INFO] [stdout]    |                                   ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `exec` in this scope
[INFO] [stdout]   --> src/graph/mod.rs:48:11
[INFO] [stdout]    |
[INFO] [stdout] 48 | let cmd = exec.on_domain::<domain::Graphics>()?;
[INFO] [stdout]    |           ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `graph` in this scope
[INFO] [stdout]   --> src/graph/mod.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 | let final_cmd = graph.record(cmd, &bindings, &mut pool, Some(debug_messenger))?
[INFO] [stdout]    |                 ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected value, found module `pool`
[INFO] [stdout]   --> src/graph/mod.rs:50:51
[INFO] [stdout]    |
[INFO] [stdout] 50 | let final_cmd = graph.record(cmd, &bindings, &mut pool, Some(debug_messenger))?
[INFO] [stdout]    |                                                   ^^^^ not a value
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `debug_messenger` in this scope
[INFO] [stdout]   --> src/graph/mod.rs:50:62
[INFO] [stdout]    |
[INFO] [stdout] 50 | let final_cmd = graph.record(cmd, &bindings, &mut pool, Some(debug_messenger))?
[INFO] [stdout]    |                                                              ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0423, E0425.
[INFO] [stdout] For more information about an error, try `rustc --explain E0423`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/graph/pass.rs - graph::pass (line 29) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `offscreen` in this scope
[INFO] [stdout]   --> src/graph/pass.rs:38:30
[INFO] [stdout]    |
[INFO] [stdout] 38 |     .clear_color_attachment(&offscreen, ClearColor::Float([1.0, 0.0, 0.0, 0.0]))?
[INFO] [stdout]    |                              ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]   --> src/graph/pass.rs:38:81
[INFO] [stdout]    |
[INFO] [stdout] 30 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_graph_pass_rs_29_0() {
[INFO] [stdout]    |                                      ----------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 38 |     .clear_color_attachment(&offscreen, ClearColor::Float([1.0, 0.0, 0.0, 0.0]))?
[INFO] [stdout]    |                                                                                 ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]    |
[INFO] [stdout] 30 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_graph_pass_rs_29_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 31 | use phobos::prelude::*;
[INFO] [stdout] ...
[INFO] [stdout] 39 |     .build();
[INFO] [stdout] 40 +     Ok(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0425.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/descriptor/builder.rs - descriptor::builder::DescriptorSetBuilder (line 20) stdout ----
[INFO] [stdout] error[E0433]: cannot find type `DescriptorSetBuilder` in this scope
[INFO] [stdout]   --> src/descriptor/builder.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     DescriptorSetBuilder::new()
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^ use of undeclared type `DescriptorSetBuilder`
[INFO] [stdout]    |
[INFO] [stdout] help: a struct with a similar name exists
[INFO] [stdout]    |
[INFO] [stdout] 25 -     DescriptorSetBuilder::new()
[INFO] [stdout] 25 +     DescriptorSetBinding::new()
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0433`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/graph/pass.rs - graph::pass (line 46) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `offscreen_pass` in this scope
[INFO] [stdout]   --> src/graph/pass.rs:52:22
[INFO] [stdout]    |
[INFO] [stdout] 52 | let input_resource = offscreen_pass.output(&offscreen).unwrap();
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `offscreen` in this scope
[INFO] [stdout]   --> src/graph/pass.rs:52:45
[INFO] [stdout]    |
[INFO] [stdout] 52 | let input_resource = offscreen_pass.output(&offscreen).unwrap();
[INFO] [stdout]    |                                             ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `swapchain` in this scope
[INFO] [stdout]   --> src/graph/pass.rs:58:30
[INFO] [stdout]    |
[INFO] [stdout] 58 |     .clear_color_attachment(&swapchain, ClearColor::Float([0.0, 0.0, 0.0, 0.0]))?
[INFO] [stdout]    |                              ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected value, found module `sampler`
[INFO] [stdout]   --> src/graph/pass.rs:66:74
[INFO] [stdout]    |
[INFO] [stdout] 66 |                  .resolve_and_bind_sampled_image(0, 0, &input_resource, &sampler, &bindings)?
[INFO] [stdout]    |                                                                          ^^^^^^^ not a value
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]   --> src/graph/pass.rs:58:81
[INFO] [stdout]    |
[INFO] [stdout] 47 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_graph_pass_rs_46_0() {
[INFO] [stdout]    |                                      ----------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 58 |     .clear_color_attachment(&swapchain, ClearColor::Float([0.0, 0.0, 0.0, 0.0]))?
[INFO] [stdout]    |                                                                                 ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]    |
[INFO] [stdout] 47 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_graph_pass_rs_46_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 48 | use phobos::prelude::*;
[INFO] [stdout] ...
[INFO] [stdout] 70 |     .build();
[INFO] [stdout] 71 +     Ok(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 5 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0423, E0425.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 58) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `settings` in this scope
[INFO] [stdout]   --> src/lib.rs:70:28
[INFO] [stdout]    |
[INFO] [stdout] 70 | ) = WindowedContext::init(&settings)? else {
[INFO] [stdout]    |                            ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]   --> src/lib.rs:70:37
[INFO] [stdout]    |
[INFO] [stdout] 59 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_58_0() {
[INFO] [stdout]    |                                      ---------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 70 | ) = WindowedContext::init(&settings)? else {
[INFO] [stdout]    |                                     ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]    |
[INFO] [stdout] 59 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_lib_rs_58_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 60 | use phobos::prelude::*;
[INFO] [stdout] ...
[INFO] [stdout] 72 | };
[INFO] [stdout] 73 +     Ok(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/lib.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |   let (
[INFO] [stdout]    |  _____^
[INFO] [stdout] 62 | |     instance,
[INFO] [stdout] 63 | |     physical_device,
[INFO] [stdout] 64 | |     surface,
[INFO] [stdout] ...  |
[INFO] [stdout] 69 | |     Some(debug_messenger)
[INFO] [stdout] 70 | | ) = WindowedContext::init(&settings)? else {
[INFO] [stdout]    | | ^   --------------------------------- this expression has type `(Instance, PhysicalDevice, Surface, Device, ..., ..., ..., ..., ...)`
[INFO] [stdout]    | |_|
[INFO] [stdout]    |   expected a tuple with 9 elements, found one with 8 elements
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected tuple `(phobos::Instance, phobos::PhysicalDevice, Surface, phobos::Device, DefaultAllocator, ResourcePool, ExecutionManager, FrameManager, Option<DebugMessenger>)`
[INFO] [stdout]               found tuple `(_, _, _, _, _, _, _, _)`
[INFO] [stdout]    = note: the full name for the type has been written to '/tmp/rustdoctesthaZozp/rust_out.long-type-3439851729335600570.txt'
[INFO] [stdout]    = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0425.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/graph/mod.rs - graph (line 15) stdout ----
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]   --> src/graph/mod.rs:27:29
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_graph_mod_rs_15_0() {
[INFO] [stdout]    |                                      ---------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 27 | graph.add_pass(present_pass)?;
[INFO] [stdout]    |                             ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]    |
[INFO] [stdout] 16 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_graph_mod_rs_15_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 17 | use phobos::prelude::*;
[INFO] [stdout] ...
[INFO] [stdout] 29 | let mut graph = graph.build()?;
[INFO] [stdout] 30 +     Ok(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]   --> src/graph/mod.rs:29:30
[INFO] [stdout]    |
[INFO] [stdout] 16 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_graph_mod_rs_15_0() {
[INFO] [stdout]    |                                      ---------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 29 | let mut graph = graph.build()?;
[INFO] [stdout]    |                              ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]    |
[INFO] [stdout] 16 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_graph_mod_rs_15_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 17 | use phobos::prelude::*;
[INFO] [stdout] ...
[INFO] [stdout] 29 | let mut graph = graph.build()?;
[INFO] [stdout] 30 +     Ok(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/pipeline/cache.rs - pipeline::cache::PipelineCache (line 56) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `device` in this scope
[INFO] [stdout]   --> src/pipeline/cache.rs:59:36
[INFO] [stdout]    |
[INFO] [stdout] 59 | let mut cache = PipelineCache::new(device.clone(), allocator.clone())?;
[INFO] [stdout]    |                                    ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `allocator` in this scope
[INFO] [stdout]   --> src/pipeline/cache.rs:59:52
[INFO] [stdout]    |
[INFO] [stdout] 59 | let mut cache = PipelineCache::new(device.clone(), allocator.clone())?;
[INFO] [stdout]    |                                                    ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 34) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `window` in this scope
[INFO] [stdout]   --> src/lib.rs:42:18
[INFO] [stdout]    |
[INFO] [stdout] 42 |         .window(&window)
[INFO] [stdout]    |                  ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/resource/buffer.rs - resource::buffer (line 11) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `device` in this scope
[INFO] [stdout]   --> src/resource/buffer.rs:16:23
[INFO] [stdout]    |
[INFO] [stdout] 16 | let buf = Buffer::new(device.clone(),
[INFO] [stdout]    |                       ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `alloc` in this scope
[INFO] [stdout]   --> src/resource/buffer.rs:17:23
[INFO] [stdout]    |
[INFO] [stdout] 17 |                       alloc.clone(),
[INFO] [stdout]    |                       ^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this function
[INFO] [stdout]    |
[INFO] [stdout] 10 + use std::alloc::alloc;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `view_full` found for enum `std::result::Result<T, E>` in the current scope
[INFO] [stdout]    --> src/resource/buffer.rs:24:20
[INFO] [stdout]     |
[INFO] [stdout]  24 | let mut view = buf.view_full();
[INFO] [stdout]     |                    ^^^^^^^^^ method not found in `std::result::Result<phobos::Buffer<_>, anyhow::Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: the method `view_full` exists on the type `phobos::Buffer<_>`
[INFO] [stdout]    --> src/resource/buffer.rs:273:5
[INFO] [stdout]     |
[INFO] [stdout] 273 |     pub fn view_full(&self) -> BufferView {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `phobos::Buffer<_>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]     |
[INFO] [stdout]  24 | let mut view = buf.expect("REASON").view_full();
[INFO] [stdout]     |                   +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0425, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/graph/physical_resource.rs - graph::physical_resource::PhysicalResourceBindings (line 20) stdout ----
[INFO] [stdout] error[E0061]: this function takes 7 arguments but 0 arguments were supplied
[INFO] [stdout]    --> src/graph/physical_resource.rs:25:13
[INFO] [stdout]     |
[INFO] [stdout]  25 | let image = Image::new(/*...*/);
[INFO] [stdout]     |             ^^^^^^^^^^--------- multiple arguments are missing
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/resource/image.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 111 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: provide the arguments
[INFO] [stdout]     |
[INFO] [stdout]  25 - let image = Image::new(/*...*/);
[INFO] [stdout]  25 + let image = Image::new(/* phobos::Device */, /* alloc */, /* u32 */, /* u32 */, /* ImageUsageFlags */, /* Format */, /* SampleCountFlags */);
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `view` found for enum `std::result::Result<T, E>` in the current scope
[INFO] [stdout]    --> src/graph/physical_resource.rs:26:18
[INFO] [stdout]     |
[INFO] [stdout]  26 | let view = image.view(vk::ImageAspectFlags::COLOR)?;
[INFO] [stdout]     |                  ^^^^ method not found in `std::result::Result<phobos::Image<_>, anyhow::Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: the method `view` exists on the type `phobos::Image<_>`
[INFO] [stdout]    --> src/resource/image.rs:218:5
[INFO] [stdout]     |
[INFO] [stdout] 218 |     pub fn view(&self, aspect: vk::ImageAspectFlags) -> Result<ImageView> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `phobos::Image<_>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]     |
[INFO] [stdout]  26 | let view = image.expect("REASON").view(vk::ImageAspectFlags::COLOR)?;
[INFO] [stdout]     |                 +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]   --> src/graph/physical_resource.rs:31:77
[INFO] [stdout]    |
[INFO] [stdout] 21 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_graph_physical_resource_rs_20_0() {
[INFO] [stdout]    |                                      ------------------------------------------------------ this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 31 | let view = bindings.resolve(&resource).ok_or_else(|| Error::NoResourceBound)?;
[INFO] [stdout]    |                                                                             ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]    |
[INFO] [stdout] 21 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_graph_physical_resource_rs_20_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 22 | use phobos::prelude::*;
[INFO] [stdout] ...
[INFO] [stdout] 31 | let view = bindings.resolve(&resource).ok_or_else(|| Error::NoResourceBound)?;
[INFO] [stdout] 32 +     Ok(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0277, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/pipeline/mod.rs - pipeline (line 11) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `device` in this scope
[INFO] [stdout]   --> src/pipeline/mod.rs:16:36
[INFO] [stdout]    |
[INFO] [stdout] 16 | let mut cache = PipelineCache::new(device.clone(), allocator.clone())?;
[INFO] [stdout]    |                                    ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `allocator` in this scope
[INFO] [stdout]   --> src/pipeline/mod.rs:16:52
[INFO] [stdout]    |
[INFO] [stdout] 16 | let mut cache = PipelineCache::new(device.clone(), allocator.clone())?;
[INFO] [stdout]    |                                                    ^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `load_spirv_binary` in this scope
[INFO] [stdout]   --> src/pipeline/mod.rs:20:16
[INFO] [stdout]    |
[INFO] [stdout] 20 | let vtx_code = load_spirv_binary(Path::new("path/to/vertex.glsl"));
[INFO] [stdout]    |                ^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `load_spirv_binary` in this scope
[INFO] [stdout]   --> src/pipeline/mod.rs:21:17
[INFO] [stdout]    |
[INFO] [stdout] 21 | let frag_code = load_spirv_binary(Path::new("path/to/fragment.glsl"));
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]   --> src/pipeline/mod.rs:34:55
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_pipeline_mod_rs_11_0() {
[INFO] [stdout]    |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 34 |     .vertex_attribute(0, 0, vk::Format::R32G32_SFLOAT)?
[INFO] [stdout]    |                                                       ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]    |
[INFO] [stdout] 12 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_pipeline_mod_rs_11_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 13 | use std::path::Path;
[INFO] [stdout] ...
[INFO] [stdout] 49 | cache.create_named_pipeline(pci)?;
[INFO] [stdout] 50 +     Ok(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]   --> src/pipeline/mod.rs:36:55
[INFO] [stdout]    |
[INFO] [stdout] 12 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_pipeline_mod_rs_11_0() {
[INFO] [stdout]    |                                      ------------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 36 |     .vertex_attribute(0, 1, vk::Format::R32G32_SFLOAT)?
[INFO] [stdout]    |                                                       ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]    |
[INFO] [stdout] 12 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_pipeline_mod_rs_11_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 13 | use std::path::Path;
[INFO] [stdout] ...
[INFO] [stdout] 49 | cache.create_named_pipeline(pci)?;
[INFO] [stdout] 50 +     Ok(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 6 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0425.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/sync/execution_manager.rs - sync::execution_manager::ExecutionManager (line 31) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `device` in this scope
[INFO] [stdout]   --> src/sync/execution_manager.rs:35:34
[INFO] [stdout]    |
[INFO] [stdout] 35 | let exec = ExecutionManager::new(device.clone(), &physical_device, pool);
[INFO] [stdout]    |                                  ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `physical_device` in this scope
[INFO] [stdout]   --> src/sync/execution_manager.rs:35:51
[INFO] [stdout]    |
[INFO] [stdout] 35 | let exec = ExecutionManager::new(device.clone(), &physical_device, pool);
[INFO] [stdout]    |                                                   ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected value, found module `pool`
[INFO] [stdout]   --> src/sync/execution_manager.rs:35:68
[INFO] [stdout]    |
[INFO] [stdout] 35 | let exec = ExecutionManager::new(device.clone(), &physical_device, pool);
[INFO] [stdout]    |                                                                    ^^^^ not a value
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `on_domain` found for enum `std::result::Result<T, E>` in the current scope
[INFO] [stdout]    --> src/sync/execution_manager.rs:37:16
[INFO] [stdout]     |
[INFO] [stdout]  37 | let cmd = exec.on_domain::<domain::Transfer>()?
[INFO] [stdout]     |                ^^^^^^^^^ method not found in `std::result::Result<phobos::ExecutionManager<_>, anyhow::Error>`
[INFO] [stdout]     |
[INFO] [stdout] note: the method `on_domain` exists on the type `phobos::ExecutionManager<_>`
[INFO] [stdout]    --> src/sync/execution_manager.rs:133:5
[INFO] [stdout]     |
[INFO] [stdout] 133 |     pub fn on_domain<'q, D: ExecutionDomain>(&'q self) -> Result<D::CmdBuf<'q, A>> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: consider using `Result::expect` to unwrap the `phobos::ExecutionManager<_>` value, panicking if the value is a `Result::Err`
[INFO] [stdout]     |
[INFO] [stdout]  37 | let cmd = exec.expect("REASON").on_domain::<domain::Transfer>()?
[INFO] [stdout]     |               +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0423, E0425, E0599.
[INFO] [stdout] For more information about an error, try `rustc --explain E0423`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/sync/fence.rs - sync::fence::Fence (line 32) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `device` in this scope
[INFO] [stdout]   --> src/sync/fence.rs:36:34
[INFO] [stdout]    |
[INFO] [stdout] 36 | let exec = ExecutionManager::new(device, &physical_device, pool)?;
[INFO] [stdout]    |                                  ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `physical_device` in this scope
[INFO] [stdout]   --> src/sync/fence.rs:36:43
[INFO] [stdout]    |
[INFO] [stdout] 36 | let exec = ExecutionManager::new(device, &physical_device, pool)?;
[INFO] [stdout]    |                                           ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected value, found module `pool`
[INFO] [stdout]   --> src/sync/fence.rs:36:60
[INFO] [stdout]    |
[INFO] [stdout] 36 | let exec = ExecutionManager::new(device, &physical_device, pool)?;
[INFO] [stdout]    |                                                            ^^^^ not a value
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]   --> src/sync/fence.rs:36:65
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_sync_fence_rs_32_0() {
[INFO] [stdout]    |                                      ----------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 36 | let exec = ExecutionManager::new(device, &physical_device, pool)?;
[INFO] [stdout]    |                                                                 ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_sync_fence_rs_32_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |                                                                                +++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]   --> src/sync/fence.rs:38:42
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_sync_fence_rs_32_0() {
[INFO] [stdout]    |                                      ----------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 38 | let cmd = exec.on_domain::<domain::All>()?.finish()?;
[INFO] [stdout]    |                                          ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_sync_fence_rs_32_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |                                                                                +++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]   --> src/sync/fence.rs:38:52
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_sync_fence_rs_32_0() {
[INFO] [stdout]    |                                      ----------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 38 | let cmd = exec.on_domain::<domain::All>()?.finish()?;
[INFO] [stdout]    |                                                    ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_sync_fence_rs_32_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |                                                                                +++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]   --> src/sync/fence.rs:39:29
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_sync_fence_rs_32_0() {
[INFO] [stdout]    |                                      ----------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 39 | let fence = exec.submit(cmd)?;
[INFO] [stdout]    |                             ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]    |
[INFO] [stdout] 33 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_sync_fence_rs_32_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout]    |                                                                                +++++++++++++++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in an async block that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]   --> src/sync/fence.rs:44:16
[INFO] [stdout]    |
[INFO] [stdout] 42 | async {
[INFO] [stdout]    | ----- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] 43 |     fence.attach_value(5) // This would usually be some kind of GPU resource, like an image that was just written to
[INFO] [stdout] 44 |          .await?;
[INFO] [stdout]    |                ^ cannot use the `?` operator in an async block that returns `()`
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/sync/fence.rs:42:1
[INFO] [stdout]    |
[INFO] [stdout] 33 |   fn main() { #[allow(non_snake_case)] fn _doctest_main_src_sync_fence_rs_32_0() {
[INFO] [stdout]    |                                                                                 - help: try adding a return type: `-> impl Future<Output = ()>`
[INFO] [stdout] ...
[INFO] [stdout] 42 | / async {
[INFO] [stdout] 43 | |     fence.attach_value(5) // This would usually be some kind of GPU resource, like an image that was just written to
[INFO] [stdout] 44 | |          .await?;
[INFO] [stdout] 45 | | }
[INFO] [stdout]    | |_^ expected `()`, found `async` block
[INFO] [stdout]    |
[INFO] [stdout]    = note:  expected unit type `()`
[INFO] [stdout]            found `async` block `{async block@src/sync/fence.rs:13:1: 13:6}`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 9 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0308, E0423, E0425.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/sync/fence.rs - sync::fence::Fence (line 51) stdout ----
[INFO] [stdout] error[E0061]: this function takes 3 arguments but 4 arguments were supplied
[INFO] [stdout]    --> src/sync/fence.rs:62:18
[INFO] [stdout]     |
[INFO] [stdout]  62 |     let buffer = Buffer::new_device_local(device.clone(), &mut allocator, size, vk::BufferUsageFlags::TRANSFER_DST)?;
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^                                       ---------------------------------- unexpected argument #4 of type `BufferUsageFlags`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/resource/buffer.rs:234:12
[INFO] [stdout]     |
[INFO] [stdout] 234 |     pub fn new_device_local(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout]  62 -     let buffer = Buffer::new_device_local(device.clone(), &mut allocator, size, vk::BufferUsageFlags::TRANSFER_DST)?;
[INFO] [stdout]  62 +     let buffer = Buffer::new_device_local(device.clone(), &mut allocator, size)?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 4 arguments but 5 arguments were supplied
[INFO] [stdout]    --> src/sync/fence.rs:65:19
[INFO] [stdout]     |
[INFO] [stdout]  65 |     let staging = Buffer::new(device.clone(), &mut allocator, size, vk::BufferUsageFlags::TRANSFER_SRC, MemoryType::CpuToGpu)?;
[INFO] [stdout]     |                   ^^^^^^^^^^^                                       ---------------------------------- unexpected argument #4 of type `BufferUsageFlags`
[INFO] [stdout]     |
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/resource/buffer.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 103 |     pub fn new(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout]  65 -     let staging = Buffer::new(device.clone(), &mut allocator, size, vk::BufferUsageFlags::TRANSFER_SRC, MemoryType::CpuToGpu)?;
[INFO] [stdout]  65 +     let staging = Buffer::new(device.clone(), &mut allocator, size, MemoryType::CpuToGpu)?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0308]: mismatched types
[INFO] [stdout]   --> src/sync/fence.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fence.attach_value(Ok(buffer)).await
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Result<Buffer, Error>`, found `Option<Result<Buffer, _>>`
[INFO] [stdout]    |
[INFO] [stdout]    = note: expected enum `std::result::Result<_, anyhow::Error>`
[INFO] [stdout]               found enum `Option<std::result::Result<_, _>>`
[INFO] [stdout] help: consider using `Option::expect` to unwrap the `Option<std::result::Result<phobos::Buffer, _>>` value, panicking if the value is an `Option::None`
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fence.attach_value(Ok(buffer)).await.expect("REASON")
[INFO] [stdout]    |                                         +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0308.
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/sync/execution_manager.rs - sync::execution_manager::ExecutionManager<A>::start_submit_batch (line 145) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `device` in this scope
[INFO] [stdout]    --> src/sync/execution_manager.rs:148:34
[INFO] [stdout]     |
[INFO] [stdout] 148 | let exec = ExecutionManager::new(device.clone(), &physical_device, pool)?;
[INFO] [stdout]     |                                  ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `physical_device` in this scope
[INFO] [stdout]    --> src/sync/execution_manager.rs:148:51
[INFO] [stdout]     |
[INFO] [stdout] 148 | let exec = ExecutionManager::new(device.clone(), &physical_device, pool)?;
[INFO] [stdout]     |                                                   ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected value, found module `pool`
[INFO] [stdout]    --> src/sync/execution_manager.rs:148:68
[INFO] [stdout]     |
[INFO] [stdout] 148 | let exec = ExecutionManager::new(device.clone(), &physical_device, pool)?;
[INFO] [stdout]     |                                                                    ^^^^ not a value
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]    --> src/sync/execution_manager.rs:148:73
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_sync_execution_manager_rs_145_0() {
[INFO] [stdout]     |                                      ------------------------------------------------------ this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] 147 | use phobos::prelude::*;
[INFO] [stdout] 148 | let exec = ExecutionManager::new(device.clone(), &physical_device, pool)?;
[INFO] [stdout]     |                                                                         ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 146 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_sync_execution_manager_rs_145_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 147 | use phobos::prelude::*;
[INFO] [stdout] ...
[INFO] [stdout] 156 | batch.finish()?.wait()?;
[INFO] [stdout] 157 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]    --> src/sync/execution_manager.rs:149:43
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_sync_execution_manager_rs_145_0() {
[INFO] [stdout]     |                                      ------------------------------------------------------ this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 149 | let cmd1 = exec.on_domain::<domain::All>()?.finish()?;
[INFO] [stdout]     |                                           ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 146 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_sync_execution_manager_rs_145_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 147 | use phobos::prelude::*;
[INFO] [stdout] ...
[INFO] [stdout] 156 | batch.finish()?.wait()?;
[INFO] [stdout] 157 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]    --> src/sync/execution_manager.rs:149:53
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_sync_execution_manager_rs_145_0() {
[INFO] [stdout]     |                                      ------------------------------------------------------ this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 149 | let cmd1 = exec.on_domain::<domain::All>()?.finish()?;
[INFO] [stdout]     |                                                     ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 146 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_sync_execution_manager_rs_145_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 147 | use phobos::prelude::*;
[INFO] [stdout] ...
[INFO] [stdout] 156 | batch.finish()?.wait()?;
[INFO] [stdout] 157 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]    --> src/sync/execution_manager.rs:150:43
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_sync_execution_manager_rs_145_0() {
[INFO] [stdout]     |                                      ------------------------------------------------------ this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 150 | let cmd2 = exec.on_domain::<domain::All>()?.finish()?;
[INFO] [stdout]     |                                           ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 146 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_sync_execution_manager_rs_145_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 147 | use phobos::prelude::*;
[INFO] [stdout] ...
[INFO] [stdout] 156 | batch.finish()?.wait()?;
[INFO] [stdout] 157 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]    --> src/sync/execution_manager.rs:150:53
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_sync_execution_manager_rs_145_0() {
[INFO] [stdout]     |                                      ------------------------------------------------------ this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 150 | let cmd2 = exec.on_domain::<domain::All>()?.finish()?;
[INFO] [stdout]     |                                                     ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 146 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_sync_execution_manager_rs_145_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 147 | use phobos::prelude::*;
[INFO] [stdout] ...
[INFO] [stdout] 156 | batch.finish()?.wait()?;
[INFO] [stdout] 157 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]    --> src/sync/execution_manager.rs:151:42
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_sync_execution_manager_rs_145_0() {
[INFO] [stdout]     |                                      ------------------------------------------------------ this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 151 | let mut batch = exec.start_submit_batch()?;
[INFO] [stdout]     |                                          ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 146 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_sync_execution_manager_rs_145_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 147 | use phobos::prelude::*;
[INFO] [stdout] ...
[INFO] [stdout] 156 | batch.finish()?.wait()?;
[INFO] [stdout] 157 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]    --> src/sync/execution_manager.rs:153:19
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_sync_execution_manager_rs_145_0() {
[INFO] [stdout]     |                                      ------------------------------------------------------ this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 153 | batch.submit(cmd1)?
[INFO] [stdout]     |                   ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 146 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_sync_execution_manager_rs_145_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 147 | use phobos::prelude::*;
[INFO] [stdout] ...
[INFO] [stdout] 156 | batch.finish()?.wait()?;
[INFO] [stdout] 157 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]    --> src/sync/execution_manager.rs:155:69
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_sync_execution_manager_rs_145_0() {
[INFO] [stdout]     |                                      ------------------------------------------------------ this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 155 |      .then(PipelineStage::COLOR_ATTACHMENT_OUTPUT, cmd2, &mut batch)?;
[INFO] [stdout]     |                                                                     ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 146 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_sync_execution_manager_rs_145_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 147 | use phobos::prelude::*;
[INFO] [stdout] ...
[INFO] [stdout] 156 | batch.finish()?.wait()?;
[INFO] [stdout] 157 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]    --> src/sync/execution_manager.rs:156:15
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_sync_execution_manager_rs_145_0() {
[INFO] [stdout]     |                                      ------------------------------------------------------ this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 156 | batch.finish()?.wait()?;
[INFO] [stdout]     |               ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 146 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_sync_execution_manager_rs_145_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 147 | use phobos::prelude::*;
[INFO] [stdout] ...
[INFO] [stdout] 156 | batch.finish()?.wait()?;
[INFO] [stdout] 157 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]    --> src/sync/execution_manager.rs:156:23
[INFO] [stdout]     |
[INFO] [stdout] 146 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_sync_execution_manager_rs_145_0() {
[INFO] [stdout]     |                                      ------------------------------------------------------ this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 156 | batch.finish()?.wait()?;
[INFO] [stdout]     |                       ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]     |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]     |
[INFO] [stdout] 146 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_sync_execution_manager_rs_145_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 147 | use phobos::prelude::*;
[INFO] [stdout] ...
[INFO] [stdout] 156 | batch.finish()?.wait()?;
[INFO] [stdout] 157 +     Ok(())
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 13 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0423, E0425.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/sync/fence.rs - sync::fence::Fence (line 81) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `cmd` in this scope
[INFO] [stdout]   --> src/sync/fence.rs:93:33
[INFO] [stdout]    |
[INFO] [stdout] 93 |     let mut fence = exec.submit(cmd)?;
[INFO] [stdout]    |                                 ^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `staging` in this scope
[INFO] [stdout]    --> src/sync/fence.rs:102:22
[INFO] [stdout]     |
[INFO] [stdout] 102 |                 drop(staging);
[INFO] [stdout]     |                      ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0423]: expected value, found module `buffer`
[INFO] [stdout]    --> src/sync/fence.rs:105:8
[INFO] [stdout]     |
[INFO] [stdout] 105 |     Ok(buffer)
[INFO] [stdout]     |        ^^^^^^ not a value
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `()` is not a future
[INFO] [stdout]    --> src/sync/fence.rs:104:12
[INFO] [stdout]     |
[INFO] [stdout] 104 |         }).await?;
[INFO] [stdout]     |            ^^^^^ `()` is not a future
[INFO] [stdout]     |
[INFO] [stdout]     = help: the trait `Future` is not implemented for `()`
[INFO] [stdout]     = note: () must be a future or must implement `IntoFuture` to be awaited
[INFO] [stdout]     = note: required for `()` to implement `IntoFuture`
[INFO] [stdout] help: remove the `.await`
[INFO] [stdout]     |
[INFO] [stdout] 104 -         }).await?;
[INFO] [stdout] 104 +         })?;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0423, E0425.
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/wsi/frame.rs - wsi::frame::InFlightContext (line 105) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `frame` in this scope
[INFO] [stdout]    --> src/wsi/frame.rs:106:1
[INFO] [stdout]     |
[INFO] [stdout] 106 | frame.new_frame(&exec, window, &surface, |mut ifc| {
[INFO] [stdout]     | ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `exec` in this scope
[INFO] [stdout]    --> src/wsi/frame.rs:106:18
[INFO] [stdout]     |
[INFO] [stdout] 106 | frame.new_frame(&exec, window, &surface, |mut ifc| {
[INFO] [stdout]     |                  ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `window` in this scope
[INFO] [stdout]    --> src/wsi/frame.rs:106:24
[INFO] [stdout]     |
[INFO] [stdout] 106 | frame.new_frame(&exec, window, &surface, |mut ifc| {
[INFO] [stdout]     |                        ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `surface` in this scope
[INFO] [stdout]    --> src/wsi/frame.rs:106:33
[INFO] [stdout]     |
[INFO] [stdout] 106 | frame.new_frame(&exec, window, &surface, |mut ifc| {
[INFO] [stdout]     |                                 ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/wsi/frame.rs - wsi::frame (line 10) stdout ----
[INFO] [stdout] error[E0425]: cannot find value `instance` in this scope
[INFO] [stdout]   --> src/wsi/frame.rs:16:36
[INFO] [stdout]    |
[INFO] [stdout] 16 | let alloc = DefaultAllocator::new(&instance, &device, &physical_device)?;
[INFO] [stdout]    |                                    ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `device` in this scope
[INFO] [stdout]   --> src/wsi/frame.rs:16:47
[INFO] [stdout]    |
[INFO] [stdout] 16 | let alloc = DefaultAllocator::new(&instance, &device, &physical_device)?;
[INFO] [stdout]    |                                               ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `physical_device` in this scope
[INFO] [stdout]   --> src/wsi/frame.rs:16:56
[INFO] [stdout]    |
[INFO] [stdout] 16 | let alloc = DefaultAllocator::new(&instance, &device, &physical_device)?;
[INFO] [stdout]    |                                                        ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `instance` in this scope
[INFO] [stdout]   --> src/wsi/frame.rs:18:41
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let swapchain = Swapchain::new(&instance, device.clone(), &settings, &surface)?;
[INFO] [stdout]    |                                         ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `device` in this scope
[INFO] [stdout]   --> src/wsi/frame.rs:18:51
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let swapchain = Swapchain::new(&instance, device.clone(), &settings, &surface)?;
[INFO] [stdout]    |                                                   ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `settings` in this scope
[INFO] [stdout]   --> src/wsi/frame.rs:18:68
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let swapchain = Swapchain::new(&instance, device.clone(), &settings, &surface)?;
[INFO] [stdout]    |                                                                    ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `surface` in this scope
[INFO] [stdout]   --> src/wsi/frame.rs:18:79
[INFO] [stdout]    |
[INFO] [stdout] 18 |         let swapchain = Swapchain::new(&instance, device.clone(), &settings, &surface)?;
[INFO] [stdout]    |                                                                               ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `device` in this scope
[INFO] [stdout]   --> src/wsi/frame.rs:19:27
[INFO] [stdout]    |
[INFO] [stdout] 19 |         FrameManager::new(device.clone(), alloc.clone(), &settings, swapchain)?
[INFO] [stdout]    |                           ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `settings` in this scope
[INFO] [stdout]   --> src/wsi/frame.rs:19:59
[INFO] [stdout]    |
[INFO] [stdout] 19 |         FrameManager::new(device.clone(), alloc.clone(), &settings, swapchain)?
[INFO] [stdout]    |                                                           ^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `event_loop` in this scope
[INFO] [stdout]   --> src/wsi/frame.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | event_loop.run(move |event, _, control_flow| {
[INFO] [stdout]    | ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `pipeline_cache` in this scope
[INFO] [stdout]   --> src/wsi/frame.rs:30:9
[INFO] [stdout]    |
[INFO] [stdout] 30 |         pipeline_cache.next_frame();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `descriptor_cache` in this scope
[INFO] [stdout]   --> src/wsi/frame.rs:31:9
[INFO] [stdout]    |
[INFO] [stdout] 31 |         descriptor_cache.next_frame();
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `window` in this scope
[INFO] [stdout]   --> src/wsi/frame.rs:40:31
[INFO] [stdout]    |
[INFO] [stdout] 40 |             } if window_id == window.id() => {
[INFO] [stdout]    |                               ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `device` in this scope
[INFO] [stdout]   --> src/wsi/frame.rs:42:17
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 device.wait_idle().unwrap();
[INFO] [stdout]    |                 ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `window` in this scope
[INFO] [stdout]   --> src/wsi/frame.rs:45:17
[INFO] [stdout]    |
[INFO] [stdout] 45 |                 window.request_redraw();
[INFO] [stdout]    |                 ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `exec` in this scope
[INFO] [stdout]   --> src/wsi/frame.rs:49:61
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 futures::executor::block_on(frame.new_frame(exec.clone(), window, &surface, |mut ifc| {
[INFO] [stdout]    |                                                             ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `window` in this scope
[INFO] [stdout]   --> src/wsi/frame.rs:49:75
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 futures::executor::block_on(frame.new_frame(exec.clone(), window, &surface, |mut ifc| {
[INFO] [stdout]    |                                                                           ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `surface` in this scope
[INFO] [stdout]   --> src/wsi/frame.rs:49:84
[INFO] [stdout]    |
[INFO] [stdout] 49 |                 futures::executor::block_on(frame.new_frame(exec.clone(), window, &surface, |mut ifc| {
[INFO] [stdout]    |                                                                                    ^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find value `exec` in this scope
[INFO] [stdout]   --> src/wsi/frame.rs:54:31
[INFO] [stdout]    |
[INFO] [stdout] 54 |                     let cmd = exec.on_domain::<domain::Graphics>()?
[INFO] [stdout]    |                               ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]   --> src/wsi/frame.rs:16:72
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_wsi_frame_rs_10_0() {
[INFO] [stdout]    |                                      ---------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 16 | let alloc = DefaultAllocator::new(&instance, &device, &physical_device)?;
[INFO] [stdout]    |                                                                        ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]    |
[INFO] [stdout] 11 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_wsi_frame_rs_10_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 12 | use winit::event_loop::ControlFlow;
[INFO] [stdout] ...
[INFO] [stdout] 65 | });
[INFO] [stdout] 66 +     Ok(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]   --> src/wsi/frame.rs:18:87
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_wsi_frame_rs_10_0() {
[INFO] [stdout]    |                                      ---------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 18 |         let swapchain = Swapchain::new(&instance, device.clone(), &settings, &surface)?;
[INFO] [stdout]    |                                                                                       ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]    |
[INFO] [stdout] 11 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_wsi_frame_rs_10_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 12 | use winit::event_loop::ControlFlow;
[INFO] [stdout] ...
[INFO] [stdout] 65 | });
[INFO] [stdout] 66 +     Ok(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0061]: this function takes 3 arguments but 4 arguments were supplied
[INFO] [stdout]    --> src/wsi/frame.rs:19:9
[INFO] [stdout]     |
[INFO] [stdout]  19 |         FrameManager::new(device.clone(), alloc.clone(), &settings, swapchain)?
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^                                           --------- unexpected argument #4 of type `phobos::Swapchain`
[INFO] [stdout]     |
[INFO] [stdout] note: expected `ResourcePool<_>`, found `DefaultAllocator`
[INFO] [stdout]    --> src/wsi/frame.rs:19:43
[INFO] [stdout]     |
[INFO] [stdout]  19 |         FrameManager::new(device.clone(), alloc.clone(), &settings, swapchain)?
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^
[INFO] [stdout]     = note: expected struct `ResourcePool<_>`
[INFO] [stdout]                found struct `phobos::DefaultAllocator`
[INFO] [stdout] note: associated function defined here
[INFO] [stdout]    --> src/wsi/frame.rs:297:12
[INFO] [stdout]     |
[INFO] [stdout] 297 |     pub fn new(device: Device, pool: ResourcePool<A>, swapchain: Swapchain) -> Result<Self> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] help: remove the extra argument
[INFO] [stdout]     |
[INFO] [stdout]  19 -         FrameManager::new(device.clone(), alloc.clone(), &settings, swapchain)?
[INFO] [stdout]  19 +         FrameManager::new(device.clone(), /* pool */, &settings)?
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a function that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]   --> src/wsi/frame.rs:19:79
[INFO] [stdout]    |
[INFO] [stdout] 11 | fn main() { #[allow(non_snake_case)] fn _doctest_main_src_wsi_frame_rs_10_0() {
[INFO] [stdout]    |                                      ---------------------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 19 |         FrameManager::new(device.clone(), alloc.clone(), &settings, swapchain)?
[INFO] [stdout]    |                                                                               ^ cannot use the `?` operator in a function that returns `()`
[INFO] [stdout]    |
[INFO] [stdout] help: consider adding return type
[INFO] [stdout]    |
[INFO] [stdout] 11 ~ fn main() { #[allow(non_snake_case)] fn _doctest_main_src_wsi_frame_rs_10_0() -> Result<(), Box<dyn std::error::Error>> {
[INFO] [stdout] 12 | use winit::event_loop::ControlFlow;
[INFO] [stdout] ...
[INFO] [stdout] 65 | });
[INFO] [stdout] 66 +     Ok(())
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the `?` operator can only be used in a closure that returns `Result` or `Option` (or another type that implements `FromResidual`)
[INFO] [stdout]   --> src/wsi/frame.rs:61:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | event_loop.run(move |event, _, control_flow| {
[INFO] [stdout]    |                ----------------------------- this function should return `Result` or `Option` to accept `?`
[INFO] [stdout] ...
[INFO] [stdout] 61 |         }))?;
[INFO] [stdout]    |            ^ cannot use the `?` operator in a closure that returns `()`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 24 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0061, E0277, E0425.
[INFO] [stdout] For more information about an error, try `rustc --explain E0061`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 22) stdout ----
[INFO] [stdout] Test executable failed (exit status: 101).
[INFO] [stdout] 
[INFO] [stdout] stderr:
[INFO] [stdout] 
[INFO] [stdout] thread 'main' (1104) panicked at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.28.3/src/platform_impl/linux/mod.rs:757:9:
[INFO] [stdout] Failed to initialize any backend! Wayland status: XdgRuntimeDirNotSet X11 status: XOpenDisplayFailed
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x635de575b30a - std[e28293b1aa0f68bd]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x635de575b30a - std[e28293b1aa0f68bd]::backtrace_rs::backtrace::trace_unsynchronized::<std[e28293b1aa0f68bd]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x635de575b30a - std[e28293b1aa0f68bd]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x635de575b30a - <<std[e28293b1aa0f68bd]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[c1f1a4ba060b9bfa]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x635de577035a - <core[c1f1a4ba060b9bfa]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x635de577035a - core[c1f1a4ba060b9bfa]::fmt::write
[INFO] [stdout]    6:     0x635de575f8b2 - std[e28293b1aa0f68bd]::io::default_write_fmt::<std[e28293b1aa0f68bd]::sys::stdio::unix::Stderr>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x635de575f8b2 - <std[e28293b1aa0f68bd]::sys::stdio::unix::Stderr as std[e28293b1aa0f68bd]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x635de573eb3f - <std[e28293b1aa0f68bd]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x635de573eb3f - std[e28293b1aa0f68bd]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x635de5756001 - std[e28293b1aa0f68bd]::panicking::default_hook
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:319:9
[INFO] [stdout]   11:     0x635de57561bb - std[e28293b1aa0f68bd]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:825:13
[INFO] [stdout]   12:     0x635de573ebf8 - std[e28293b1aa0f68bd]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:698:13
[INFO] [stdout]   13:     0x635de5736449 - std[e28293b1aa0f68bd]::sys::backtrace::__rust_end_short_backtrace::<std[e28293b1aa0f68bd]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   14:     0x635de573f5fd - __rustc[b7974e8690430dd9]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:689:5
[INFO] [stdout]   15:     0x635de5770c6c - core[c1f1a4ba060b9bfa]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/panicking.rs:80:14
[INFO] [stdout]   16:     0x635de539fe76 - winit::platform_impl::platform::EventLoop<T>::new::h338483d23da379c3
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.28.3/src/platform_impl/linux/mod.rs:757:9
[INFO] [stdout]   17:     0x635de5351c8e - winit::event_loop::EventLoopBuilder<T>::build::h932a451c4d10d806
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/winit-0.28.3/src/event_loop.rs:121:25
[INFO] [stdout]   18:     0x635de533d9ba - rust_out::main::_doctest_main_src_lib_rs_22_0::h27aaae944c46af8b
[INFO] [stdout]   19:     0x635de533d976 - rust_out::main::h6858b1260b220e61
[INFO] [stdout]   20:     0x635de5325e53 - core::ops::function::FnOnce::call_once::h14ca9e4c454a06ac
[INFO] [stdout]   21:     0x635de5320f96 - std::sys::backtrace::__rust_begin_short_backtrace::h0b4b0696ae3832eb
[INFO] [stdout]   22:     0x635de5320f19 - std::rt::lang_start::{{closure}}::h7ddee22bd37cae7d
[INFO] [stdout]   23:     0x635de5754f34 - <&dyn core[c1f1a4ba060b9bfa]::ops::function::Fn<(), Output = i32> + core[c1f1a4ba060b9bfa]::marker::Sync + core[c1f1a4ba060b9bfa]::panic::unwind_safe::RefUnwindSafe as core[c1f1a4ba060b9bfa]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/core/src/ops/function.rs:287:21
[INFO] [stdout]   24:     0x635de5754f34 - std[e28293b1aa0f68bd]::panicking::catch_unwind::do_call::<&dyn core[c1f1a4ba060b9bfa]::ops::function::Fn<(), Output = i32> + core[c1f1a4ba060b9bfa]::marker::Sync + core[c1f1a4ba060b9bfa]::panic::unwind_safe::RefUnwindSafe, i32>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:581:40
[INFO] [stdout]   25:     0x635de5754f34 - std[e28293b1aa0f68bd]::panicking::catch_unwind::<i32, &dyn core[c1f1a4ba060b9bfa]::ops::function::Fn<(), Output = i32> + core[c1f1a4ba060b9bfa]::marker::Sync + core[c1f1a4ba060b9bfa]::panic::unwind_safe::RefUnwindSafe>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:544:19
[INFO] [stdout]   26:     0x635de5754f34 - std[e28293b1aa0f68bd]::panic::catch_unwind::<&dyn core[c1f1a4ba060b9bfa]::ops::function::Fn<(), Output = i32> + core[c1f1a4ba060b9bfa]::marker::Sync + core[c1f1a4ba060b9bfa]::panic::unwind_safe::RefUnwindSafe, i32>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panic.rs:359:14
[INFO] [stdout]   27:     0x635de5754f34 - std[e28293b1aa0f68bd]::rt::lang_start_internal::{closure#0}
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/rt.rs:175:24
[INFO] [stdout]   28:     0x635de5754f34 - std[e28293b1aa0f68bd]::panicking::catch_unwind::do_call::<std[e28293b1aa0f68bd]::rt::lang_start_internal::{closure#0}, isize>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x635de5754f34 - std[e28293b1aa0f68bd]::panicking::catch_unwind::<isize, std[e28293b1aa0f68bd]::rt::lang_start_internal::{closure#0}>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x635de5754f34 - std[e28293b1aa0f68bd]::panic::catch_unwind::<std[e28293b1aa0f68bd]::rt::lang_start_internal::{closure#0}, isize>
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x635de5754f34 - std[e28293b1aa0f68bd]::rt::lang_start_internal
[INFO] [stdout]                                at /rustc/59807616e1fa2540724bfbac14d7976d7e4a3860/library/std/src/rt.rs:171:5
[INFO] [stdout]   32:     0x635de5320f01 - std::rt::lang_start::h94a3c273b33f1432
[INFO] [stdout]   33:     0x635de5343a85 - main
[INFO] [stdout]   34:     0x748ba9f971ca - <unknown>
[INFO] [stdout]   35:     0x748ba9f9728b - __libc_start_main
[INFO] [stdout]   36:     0x635de530f6d5 - _start
[INFO] [stdout]   37:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/allocator/default_allocator.rs - allocator::default_allocator::Allocation (line 56)
[INFO] [stdout]     src/allocator/default_allocator.rs - allocator::default_allocator::DefaultAllocator::allocate (line 126)
[INFO] [stdout]     src/allocator/default_allocator.rs - allocator::default_allocator::DefaultAllocator::free (line 168)
[INFO] [stdout]     src/allocator/default_allocator.rs - allocator::default_allocator::DefaultAllocator::new (line 76)
[INFO] [stdout]     src/allocator/scratch_allocator.rs - allocator::scratch_allocator (line 9)
[INFO] [stdout]     src/allocator/scratch_allocator.rs - allocator::scratch_allocator::ScratchAllocator (line 49)
[INFO] [stdout]     src/allocator/scratch_allocator.rs - allocator::scratch_allocator::ScratchAllocator<A>::allocate (line 121)
[INFO] [stdout]     src/allocator/scratch_allocator.rs - allocator::scratch_allocator::ScratchAllocator<A>::new (line 86)
[INFO] [stdout]     src/command_buffer/incomplete.rs - command_buffer::incomplete::IncompleteCommandBuffer<'_,D,A>::bind_acceleration_structure (line 404)
[INFO] [stdout]     src/command_buffer/mod.rs - command_buffer::CommandBuffer (line 43)
[INFO] [stdout]     src/core/app_info.rs - core::app_info::AppBuilder (line 173)
[INFO] [stdout]     src/descriptor/builder.rs - descriptor::builder::DescriptorSetBuilder (line 20)
[INFO] [stdout]     src/graph/mod.rs - graph (line 15)
[INFO] [stdout]     src/graph/mod.rs - graph (line 41)
[INFO] [stdout]     src/graph/pass.rs - graph::pass (line 29)
[INFO] [stdout]     src/graph/pass.rs - graph::pass (line 46)
[INFO] [stdout]     src/graph/physical_resource.rs - graph::physical_resource::PhysicalResourceBindings (line 20)
[INFO] [stdout]     src/lib.rs - (line 22)
[INFO] [stdout]     src/lib.rs - (line 34)
[INFO] [stdout]     src/lib.rs - (line 58)
[INFO] [stdout]     src/pipeline/cache.rs - pipeline::cache::PipelineCache (line 56)
[INFO] [stdout]     src/pipeline/mod.rs - pipeline (line 11)
[INFO] [stdout]     src/resource/buffer.rs - resource::buffer (line 11)
[INFO] [stdout]     src/sync/execution_manager.rs - sync::execution_manager::ExecutionManager (line 31)
[INFO] [stdout]     src/sync/execution_manager.rs - sync::execution_manager::ExecutionManager<A>::start_submit_batch (line 145)
[INFO] [stdout]     src/sync/fence.rs - sync::fence::Fence (line 32)
[INFO] [stdout]     src/sync/fence.rs - sync::fence::Fence (line 51)
[INFO] [stdout]     src/sync/fence.rs - sync::fence::Fence (line 81)
[INFO] [stdout]     src/wsi/frame.rs - wsi::frame (line 10)
[INFO] [stdout]     src/wsi/frame.rs - wsi::frame::InFlightContext (line 105)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 46 passed; 30 failed; 0 ignored; 0 measured; 0 filtered out; finished in 11.87s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "8534d5a43ebfa6f5f54ffd9d0d39cc7009b1bcf1d55aa48bef78c4b83a3a604a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8534d5a43ebfa6f5f54ffd9d0d39cc7009b1bcf1d55aa48bef78c4b83a3a604a", kill_on_drop: false }`
[INFO] [stdout] 8534d5a43ebfa6f5f54ffd9d0d39cc7009b1bcf1d55aa48bef78c4b83a3a604a
