[INFO] cloning repository https://github.com/romilpunetha/tao
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/romilpunetha/tao" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fromilpunetha%2Ftao", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fromilpunetha%2Ftao'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 76120200a5e92940065bd39fc445162d42ddf268
[INFO] checking romilpunetha/tao against try#54cf65b8d066c082e536455049b95943cf30378f for pr-151920
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fromilpunetha%2Ftao" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/romilpunetha/tao
[INFO] finished tweaking git repo https://github.com/romilpunetha/tao
[INFO] tweaked toml for git repo https://github.com/romilpunetha/tao written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/romilpunetha/tao on toolchain 54cf65b8d066c082e536455049b95943cf30378f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+54cf65b8d066c082e536455049b95943cf30378f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/romilpunetha/tao 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" "+54cf65b8d066c082e536455049b95943cf30378f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+54cf65b8d066c082e536455049b95943cf30378f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9e9695acac7da5bdb3ba111b8c968a5e0be449b97d49474d2587d87b9f69dc87
[INFO] running `Command { std: "docker" "start" "-a" "9e9695acac7da5bdb3ba111b8c968a5e0be449b97d49474d2587d87b9f69dc87", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9e9695acac7da5bdb3ba111b8c968a5e0be449b97d49474d2587d87b9f69dc87", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9e9695acac7da5bdb3ba111b8c968a5e0be449b97d49474d2587d87b9f69dc87", kill_on_drop: false }`
[INFO] [stdout] 9e9695acac7da5bdb3ba111b8c968a5e0be449b97d49474d2587d87b9f69dc87
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:61361fe0aef631f17e9d025a70c5a647956f8c671dd02950a60ad3f5cc5526d7" "/opt/rustwide/cargo-home/bin/cargo" "+54cf65b8d066c082e536455049b95943cf30378f" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e47a8371fb6a60570dfa25d080ea616f6d31c5f6c7c127ad79b91c063382569f
[INFO] running `Command { std: "docker" "start" "-a" "e47a8371fb6a60570dfa25d080ea616f6d31c5f6c7c127ad79b91c063382569f", kill_on_drop: false }`
[INFO] [stderr]    Compiling cc v1.2.27
[INFO] [stderr]    Compiling syn v2.0.103
[INFO] [stderr]     Checking signal-hook-registry v1.4.5
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]     Checking getrandom v0.3.3
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]     Checking crypto-common v0.1.6
[INFO] [stderr]     Checking indexmap v2.9.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling mio v1.0.4
[INFO] [stderr]    Compiling slab v0.4.10
[INFO] [stderr]    Compiling form_urlencoded v1.2.1
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling tokio v1.45.1
[INFO] [stderr]    Compiling base64 v0.21.7
[INFO] [stderr]    Compiling unicode_categories v0.1.1
[INFO] [stderr]    Compiling hashlink v0.8.4
[INFO] [stderr]    Compiling rustls-pemfile v1.0.4
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]    Compiling chrono v0.4.41
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling libsqlite3-sys v0.27.0
[INFO] [stderr]    Compiling tinyvec v1.9.0
[INFO] [stderr]    Compiling sqlformat v0.2.6
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling event-listener v2.5.3
[INFO] [stderr]    Compiling webpki-roots v0.25.4
[INFO] [stderr]    Compiling uuid v1.17.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling unicode-normalization v0.1.24
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling unicode-properties v0.1.3
[INFO] [stderr]    Compiling stringprep v0.1.5
[INFO] [stderr]    Compiling rustix v1.0.7
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.1
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.0
[INFO] [stderr]    Compiling zerovec v0.11.2
[INFO] [stderr]     Checking tracing v0.1.41
[INFO] [stderr]    Compiling zerotrie v0.2.2
[INFO] [stderr]    Compiling tinystr v0.8.1
[INFO] [stderr]    Compiling potential_utf v0.1.2
[INFO] [stderr]    Compiling icu_collections v2.0.0
[INFO] [stderr]    Compiling icu_locale_core v2.0.0
[INFO] [stderr]     Checking serde v1.0.219
[INFO] [stderr]     Checking icu_provider v2.0.0
[INFO] [stderr]     Checking icu_normalizer v2.0.0
[INFO] [stderr]    Compiling icu_properties v2.0.1
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]     Checking tokio-util v0.7.15
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling idna v1.0.3
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]     Checking url v2.5.4
[INFO] [stderr]     Checking either v1.15.0
[INFO] [stderr]    Compiling whoami v1.6.0
[INFO] [stderr]    Compiling urlencoding v2.1.3
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling tempfile v3.20.0
[INFO] [stderr]    Compiling heck v0.4.1
[INFO] [stderr]     Checking h2 v0.4.10
[INFO] [stderr]     Checking regex-automata v0.4.9
[INFO] [stderr]     Checking sqlx-core v0.7.4
[INFO] [stderr]     Checking rand_core v0.9.3
[INFO] [stderr]     Checking rand_chacha v0.9.0
[INFO] [stderr]     Checking threadpool v1.8.1
[INFO] [stderr]     Checking axum-core v0.5.2
[INFO] [stderr]     Checking tower v0.5.2
[INFO] [stderr]     Checking serde_path_to_error v0.1.17
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking ordered-float v2.10.1
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]    Compiling tao_database v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking http-range-header v0.4.2
[INFO] [stderr]     Checking integer-encoding v3.0.4
[INFO] [stderr]     Checking tower-http v0.6.6
[INFO] [stderr]     Checking regex v1.11.1
[INFO] [stderr]     Checking thrift v0.17.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.19
[INFO] [stderr]     Checking rand v0.9.1
[INFO] [stderr]     Checking sqlx-postgres v0.7.4
[INFO] [stderr]     Checking sqlx-sqlite v0.7.4
[INFO] [stderr]     Checking futures v0.3.31
[INFO] [stderr]     Checking bincode v1.3.3
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]     Checking lru v0.14.0
[INFO] [stderr]     Checking hyper v1.6.0
[INFO] [stderr]     Checking hyper-util v0.1.14
[INFO] [stderr]     Checking axum v0.8.4
[INFO] [stderr]    Compiling sqlx-macros-core v0.7.4
[INFO] [stderr]    Compiling sqlx-macros v0.7.4
[INFO] [stderr]     Checking sqlx v0.7.4
[INFO] [stdout] error[E0407]: method `get_object` is not a member of trait `TaoOperations`
[INFO] [stdout]    --> src/infrastructure/middleware/viewer_context_extractor.rs:114:9
[INFO] [stdout]     |
[INFO] [stdout] 114 | /         async fn get_object(&self, _id: i64) -> Result<Option<Vec<u8>>, Box<dyn std::error::Error + Send + Sync>> {
[INFO] [stdout] 115 | |             Ok(None)
[INFO] [stdout] 116 | |         }
[INFO] [stdout]     | |_________^ not a member of trait `TaoOperations`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `update_object` is not a member of trait `TaoOperations`
[INFO] [stdout]    --> src/infrastructure/middleware/viewer_context_extractor.rs:123:9
[INFO] [stdout]     |
[INFO] [stdout] 123 |           async fn update_object(&self, _id: i64, _data: Vec<u8>) -> Result<(), Box<dyn std::error::Error + Send + Sync>> {
[INFO] [stdout]     |           ^        ------------- help: there is an associated function with a similar name: `create_object`
[INFO] [stdout]     |  _________|
[INFO] [stdout]     | |
[INFO] [stdout] 124 | |             Ok(())
[INFO] [stdout] 125 | |         }
[INFO] [stdout]     | |_________^ not a member of trait `TaoOperations`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `delete_object` is not a member of trait `TaoOperations`
[INFO] [stdout]    --> src/infrastructure/middleware/viewer_context_extractor.rs:127:9
[INFO] [stdout]     |
[INFO] [stdout] 127 |           async fn delete_object(&self, _id: i64) -> Result<bool, Box<dyn std::error::Error + Send + Sync>> {
[INFO] [stdout]     |           ^        ------------- help: there is an associated function with a similar name: `create_object`
[INFO] [stdout]     |  _________|
[INFO] [stdout]     | |
[INFO] [stdout] 128 | |             Ok(true)
[INFO] [stdout] 129 | |         }
[INFO] [stdout]     | |_________^ not a member of trait `TaoOperations`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0407]: method `create_entity` is not a member of trait `TaoOperations`
[INFO] [stdout]    --> src/infrastructure/middleware/viewer_context_extractor.rs:147:9
[INFO] [stdout]     |
[INFO] [stdout] 147 | /         async fn create_entity<T>(&self, _builder_state: T) -> Result<T, Box<dyn std::error::Error + Send + Sync>>
[INFO] [stdout] 148 | |         where
[INFO] [stdout] 149 | |             T: Send + Sync,
[INFO] [stdout] ...   |
[INFO] [stdout] 152 | |         }
[INFO] [stdout]     | |_________^ not a member of trait `TaoOperations`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::infrastructure::viewer::viewer::ViewerContext`
[INFO] [stdout]  --> src/framework/builder/ergonomic_builder.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::infrastructure::viewer::viewer::ViewerContext;
[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: `std::sync::Arc`
[INFO] [stdout]  --> src/framework/builder/ergonomic_builder.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `impl_tao_operations_with_custom_writes`
[INFO] [stdout]    --> src/infrastructure/tao_core/tao_decorators.rs:111:14
[INFO] [stdout]     |
[INFO] [stdout] 111 | macro_rules! impl_tao_operations_with_custom_writes {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ENTPAGE_NAME` should have an upper camel case name
[INFO] [stdout]   --> src/domains/page/entity.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub type ENTPAGE_NAME = String;
[INFO] [stdout]    |          ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntpageName`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ENTPAGE_DESCRIPTION` should have an upper camel case name
[INFO] [stdout]   --> src/domains/page/entity.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub type ENTPAGE_DESCRIPTION = String;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntpageDescription`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::framework::entity::ent_trait::Entity`
[INFO] [stdout]  --> src/domains/page/builder.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::framework::entity::ent_trait::Entity;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/domains/page/ent_impl.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::infrastructure::tao_core::tao::Tao`
[INFO] [stdout]   --> src/domains/page/ent_impl.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::infrastructure::tao_core::tao::Tao;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex`
[INFO] [stdout]   --> src/domains/page/ent_impl.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use regex;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ent_impl::*`
[INFO] [stdout]   --> src/domains/page/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use ent_impl::*;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ENTPOST_CONTENT` should have an upper camel case name
[INFO] [stdout]   --> src/domains/post/entity.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub type ENTPOST_CONTENT = String;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntpostContent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ENTPOST_MEDIA_URL` should have an upper camel case name
[INFO] [stdout]   --> src/domains/post/entity.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub type ENTPOST_MEDIA_URL = String;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntpostMediaUrl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ENTPOST_POST_TYPE` should have an upper camel case name
[INFO] [stdout]   --> src/domains/post/entity.rs:33:10
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub type ENTPOST_POST_TYPE = String;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntpostPostType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ENTPOST_VISIBILITY` should have an upper camel case name
[INFO] [stdout]   --> src/domains/post/entity.rs:35:10
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub type ENTPOST_VISIBILITY = String;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntpostVisibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::framework::entity::ent_trait::Entity`
[INFO] [stdout]  --> src/domains/post/builder.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::framework::entity::ent_trait::Entity;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/domains/post/ent_impl.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::infrastructure::tao_core::tao::Tao`
[INFO] [stdout]   --> src/domains/post/ent_impl.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::infrastructure::tao_core::tao::Tao;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex`
[INFO] [stdout]   --> src/domains/post/ent_impl.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use regex;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ent_impl::*`
[INFO] [stdout]   --> src/domains/post/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use ent_impl::*;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ENTUSER_USERNAME` should have an upper camel case name
[INFO] [stdout]   --> src/domains/user/entity.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub type ENTUSER_USERNAME = String;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntuserUsername`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ENTUSER_EMAIL` should have an upper camel case name
[INFO] [stdout]   --> src/domains/user/entity.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub type ENTUSER_EMAIL = String;
[INFO] [stdout]    |          ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntuserEmail`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ENTUSER_FULL_NAME` should have an upper camel case name
[INFO] [stdout]   --> src/domains/user/entity.rs:33:10
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub type ENTUSER_FULL_NAME = String;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntuserFullName`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ENTUSER_BIO` should have an upper camel case name
[INFO] [stdout]   --> src/domains/user/entity.rs:35:10
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub type ENTUSER_BIO = String;
[INFO] [stdout]    |          ^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntuserBio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ENTUSER_PROFILE_PICTURE_URL` should have an upper camel case name
[INFO] [stdout]   --> src/domains/user/entity.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub type ENTUSER_PROFILE_PICTURE_URL = String;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntuserProfilePictureUrl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ENTUSER_LOCATION` should have an upper camel case name
[INFO] [stdout]   --> src/domains/user/entity.rs:39:10
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub type ENTUSER_LOCATION = String;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntuserLocation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::framework::entity::ent_trait::Entity`
[INFO] [stdout]  --> src/domains/user/builder.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::framework::entity::ent_trait::Entity;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/domains/user/ent_impl.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::infrastructure::tao_core::tao::Tao`
[INFO] [stdout]   --> src/domains/user/ent_impl.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::infrastructure::tao_core::tao::Tao;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ent_impl::*`
[INFO] [stdout]   --> src/domains/user/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use ent_impl::*;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ENTCOMMENT_CONTENT` should have an upper camel case name
[INFO] [stdout]   --> src/domains/comment/entity.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub type ENTCOMMENT_CONTENT = String;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntcommentContent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::framework::entity::ent_trait::Entity`
[INFO] [stdout]  --> src/domains/comment/builder.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::framework::entity::ent_trait::Entity;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/domains/comment/ent_impl.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::infrastructure::tao_core::tao::Tao`
[INFO] [stdout]   --> src/domains/comment/ent_impl.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::infrastructure::tao_core::tao::Tao;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex`
[INFO] [stdout]   --> src/domains/comment/ent_impl.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use regex;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ent_impl::*`
[INFO] [stdout]   --> src/domains/comment/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use ent_impl::*;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ENTGROUP_NAME` should have an upper camel case name
[INFO] [stdout]   --> src/domains/group/entity.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub type ENTGROUP_NAME = String;
[INFO] [stdout]    |          ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntgroupName`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ENTGROUP_DESCRIPTION` should have an upper camel case name
[INFO] [stdout]   --> src/domains/group/entity.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub type ENTGROUP_DESCRIPTION = String;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntgroupDescription`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::framework::entity::ent_trait::Entity`
[INFO] [stdout]  --> src/domains/group/builder.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::framework::entity::ent_trait::Entity;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/domains/group/ent_impl.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::infrastructure::tao_core::tao::Tao`
[INFO] [stdout]   --> src/domains/group/ent_impl.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::infrastructure::tao_core::tao::Tao;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex`
[INFO] [stdout]   --> src/domains/group/ent_impl.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use regex;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ent_impl::*`
[INFO] [stdout]   --> src/domains/group/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use ent_impl::*;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ENTEVENT_NAME` should have an upper camel case name
[INFO] [stdout]   --> src/domains/event/entity.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub type ENTEVENT_NAME = String;
[INFO] [stdout]    |          ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EnteventName`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ENTEVENT_DESCRIPTION` should have an upper camel case name
[INFO] [stdout]   --> src/domains/event/entity.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub type ENTEVENT_DESCRIPTION = String;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EnteventDescription`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::framework::entity::ent_trait::Entity`
[INFO] [stdout]  --> src/domains/event/builder.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::framework::entity::ent_trait::Entity;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/domains/event/ent_impl.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::infrastructure::tao_core::tao::Tao`
[INFO] [stdout]   --> src/domains/event/ent_impl.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::infrastructure::tao_core::tao::Tao;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex`
[INFO] [stdout]   --> src/domains/event/ent_impl.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use regex;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ent_impl::*`
[INFO] [stdout]   --> src/domains/event/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use ent_impl::*;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find function `current_time_millis` in module `crate::infrastructure::tao_core`
[INFO] [stdout]    --> src/infrastructure/storage/wal_storage.rs:411:56
[INFO] [stdout]     |
[INFO] [stdout] 411 |                 time: crate::infrastructure::tao_core::current_time_millis(),
[INFO] [stdout]     |                                                        ^^^^^^^^^^^^^^^^^^^ not found in `crate::infrastructure::tao_core`
[INFO] [stdout]     |
[INFO] [stdout] help: consider importing this function through its public re-export
[INFO] [stdout]     |
[INFO] [stdout] 381 +     use crate::infrastructure::current_time_millis;
[INFO] [stdout]     |
[INFO] [stdout] help: if you import `current_time_millis`, refer to it directly
[INFO] [stdout]     |
[INFO] [stdout] 411 -                 time: crate::infrastructure::tao_core::current_time_millis(),
[INFO] [stdout] 411 +                 time: current_time_millis(),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::infrastructure::viewer::viewer::ViewerContext`
[INFO] [stdout]  --> src/framework/builder/ergonomic_builder.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::infrastructure::viewer::viewer::ViewerContext;
[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: `std::sync::Arc`
[INFO] [stdout]  --> src/framework/builder/ergonomic_builder.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused macro definition: `impl_tao_operations_with_custom_writes`
[INFO] [stdout]    --> src/infrastructure/tao_core/tao_decorators.rs:111:14
[INFO] [stdout]     |
[INFO] [stdout] 111 | macro_rules! impl_tao_operations_with_custom_writes {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_macros)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ENTPAGE_NAME` should have an upper camel case name
[INFO] [stdout]   --> src/domains/page/entity.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub type ENTPAGE_NAME = String;
[INFO] [stdout]    |          ^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntpageName`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(non_camel_case_types)]` (part of `#[warn(nonstandard_style)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ENTPAGE_DESCRIPTION` should have an upper camel case name
[INFO] [stdout]   --> src/domains/page/entity.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub type ENTPAGE_DESCRIPTION = String;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntpageDescription`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::framework::entity::ent_trait::Entity`
[INFO] [stdout]  --> src/domains/page/builder.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::framework::entity::ent_trait::Entity;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/domains/page/ent_impl.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::infrastructure::tao_core::tao::Tao`
[INFO] [stdout]   --> src/domains/page/ent_impl.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::infrastructure::tao_core::tao::Tao;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex`
[INFO] [stdout]   --> src/domains/page/ent_impl.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use regex;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ent_impl::*`
[INFO] [stdout]   --> src/domains/page/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use ent_impl::*;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ENTPOST_CONTENT` should have an upper camel case name
[INFO] [stdout]   --> src/domains/post/entity.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub type ENTPOST_CONTENT = String;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntpostContent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ENTPOST_MEDIA_URL` should have an upper camel case name
[INFO] [stdout]   --> src/domains/post/entity.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub type ENTPOST_MEDIA_URL = String;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntpostMediaUrl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ENTPOST_POST_TYPE` should have an upper camel case name
[INFO] [stdout]   --> src/domains/post/entity.rs:33:10
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub type ENTPOST_POST_TYPE = String;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntpostPostType`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ENTPOST_VISIBILITY` should have an upper camel case name
[INFO] [stdout]   --> src/domains/post/entity.rs:35:10
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub type ENTPOST_VISIBILITY = String;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntpostVisibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::framework::entity::ent_trait::Entity`
[INFO] [stdout]  --> src/domains/post/builder.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::framework::entity::ent_trait::Entity;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/domains/post/ent_impl.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::infrastructure::tao_core::tao::Tao`
[INFO] [stdout]   --> src/domains/post/ent_impl.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::infrastructure::tao_core::tao::Tao;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex`
[INFO] [stdout]   --> src/domains/post/ent_impl.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use regex;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ent_impl::*`
[INFO] [stdout]   --> src/domains/post/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use ent_impl::*;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ENTUSER_USERNAME` should have an upper camel case name
[INFO] [stdout]   --> src/domains/user/entity.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub type ENTUSER_USERNAME = String;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntuserUsername`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ENTUSER_EMAIL` should have an upper camel case name
[INFO] [stdout]   --> src/domains/user/entity.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub type ENTUSER_EMAIL = String;
[INFO] [stdout]    |          ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntuserEmail`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ENTUSER_FULL_NAME` should have an upper camel case name
[INFO] [stdout]   --> src/domains/user/entity.rs:33:10
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub type ENTUSER_FULL_NAME = String;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntuserFullName`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ENTUSER_BIO` should have an upper camel case name
[INFO] [stdout]   --> src/domains/user/entity.rs:35:10
[INFO] [stdout]    |
[INFO] [stdout] 35 | pub type ENTUSER_BIO = String;
[INFO] [stdout]    |          ^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntuserBio`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ENTUSER_PROFILE_PICTURE_URL` should have an upper camel case name
[INFO] [stdout]   --> src/domains/user/entity.rs:37:10
[INFO] [stdout]    |
[INFO] [stdout] 37 | pub type ENTUSER_PROFILE_PICTURE_URL = String;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntuserProfilePictureUrl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ENTUSER_LOCATION` should have an upper camel case name
[INFO] [stdout]   --> src/domains/user/entity.rs:39:10
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub type ENTUSER_LOCATION = String;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntuserLocation`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::framework::entity::ent_trait::Entity`
[INFO] [stdout]  --> src/domains/user/builder.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::framework::entity::ent_trait::Entity;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/domains/user/ent_impl.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::infrastructure::tao_core::tao::Tao`
[INFO] [stdout]   --> src/domains/user/ent_impl.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::infrastructure::tao_core::tao::Tao;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ent_impl::*`
[INFO] [stdout]   --> src/domains/user/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use ent_impl::*;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ENTCOMMENT_CONTENT` should have an upper camel case name
[INFO] [stdout]   --> src/domains/comment/entity.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub type ENTCOMMENT_CONTENT = String;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntcommentContent`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::framework::entity::ent_trait::Entity`
[INFO] [stdout]  --> src/domains/comment/builder.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::framework::entity::ent_trait::Entity;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/domains/comment/ent_impl.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::infrastructure::tao_core::tao::Tao`
[INFO] [stdout]   --> src/domains/comment/ent_impl.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::infrastructure::tao_core::tao::Tao;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex`
[INFO] [stdout]   --> src/domains/comment/ent_impl.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use regex;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ent_impl::*`
[INFO] [stdout]   --> src/domains/comment/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use ent_impl::*;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ENTGROUP_NAME` should have an upper camel case name
[INFO] [stdout]   --> src/domains/group/entity.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub type ENTGROUP_NAME = String;
[INFO] [stdout]    |          ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntgroupName`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ENTGROUP_DESCRIPTION` should have an upper camel case name
[INFO] [stdout]   --> src/domains/group/entity.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub type ENTGROUP_DESCRIPTION = String;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EntgroupDescription`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::framework::entity::ent_trait::Entity`
[INFO] [stdout]  --> src/domains/group/builder.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::framework::entity::ent_trait::Entity;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/domains/group/ent_impl.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::infrastructure::tao_core::tao::Tao`
[INFO] [stdout]   --> src/domains/group/ent_impl.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::infrastructure::tao_core::tao::Tao;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex`
[INFO] [stdout]   --> src/domains/group/ent_impl.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use regex;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ent_impl::*`
[INFO] [stdout]   --> src/domains/group/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use ent_impl::*;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ENTEVENT_NAME` should have an upper camel case name
[INFO] [stdout]   --> src/domains/event/entity.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub type ENTEVENT_NAME = String;
[INFO] [stdout]    |          ^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EnteventName`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `ENTEVENT_DESCRIPTION` should have an upper camel case name
[INFO] [stdout]   --> src/domains/event/entity.rs:31:10
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub type ENTEVENT_DESCRIPTION = String;
[INFO] [stdout]    |          ^^^^^^^^^^^^^^^^^^^^ help: convert the identifier to upper camel case: `EnteventDescription`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::framework::entity::ent_trait::Entity`
[INFO] [stdout]  --> src/domains/event/builder.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::framework::entity::ent_trait::Entity;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/domains/event/ent_impl.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::infrastructure::tao_core::tao::Tao`
[INFO] [stdout]   --> src/domains/event/ent_impl.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::infrastructure::tao_core::tao::Tao;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `regex`
[INFO] [stdout]   --> src/domains/event/ent_impl.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use regex;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ent_impl::*`
[INFO] [stdout]   --> src/domains/event/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use ent_impl::*;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0050]: method `create_object` has 2 parameters but the declaration in trait `TaoOperations::create_object` has 4
[INFO] [stdout]    --> src/infrastructure/middleware/viewer_context_extractor.rs:118:32
[INFO] [stdout]     |
[INFO] [stdout] 118 |         async fn create_object(&self, _data: Vec<u8>) -> Result<i64, Box<dyn std::error::Error + Send + Sync>> {
[INFO] [stdout]     |                                ^^^^^^^^^^^^^^^^^^^^^ expected 4 parameters, found 2
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/infrastructure/tao_core/tao_core.rs:234:28
[INFO] [stdout]     |
[INFO] [stdout] 234 |     async fn create_object(&self, id: TaoId, otype: TaoType, data: Vec<u8>) -> AppResult<()>;
[INFO] [stdout]     |                            ----------------------------------------------- trait requires 4 parameters
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `assoc_add` has an incompatible type for trait
[INFO] [stdout]    --> src/infrastructure/middleware/viewer_context_extractor.rs:112:5
[INFO] [stdout]     |
[INFO] [stdout] 112 |     #[async_trait::async_trait]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `AppError`, found `Box<dyn Error + Send + Sync>`
[INFO] [stdout]     |
[INFO] [stdout] note: type in trait
[INFO] [stdout]    --> src/infrastructure/tao_core/tao_core.rs:202:1
[INFO] [stdout]     |
[INFO] [stdout] 202 | #[async_trait]
[INFO] [stdout]     | ^^^^^^^^^^^^^^
[INFO] [stdout]     = note: expected signature `fn(&'life0 MockTao, infrastructure::tao_core::tao_core::TaoAssociation) -> Pin<Box<(dyn futures::Future<Output = Result<(), AppError>> + Send + 'async_trait)>>`
[INFO] [stdout]                found signature `fn(&'life0 MockTao, infrastructure::tao_core::tao_core::TaoAssociation) -> Pin<Box<(dyn futures::Future<Output = Result<(), Box<(dyn StdError + Send + Sync + 'static)>>> + Send + 'async_trait)>>`
[INFO] [stdout]     = note: this error originates in the attribute macro `async_trait::async_trait` which comes from the expansion of the attribute macro `async_trait` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: change the output type to match the trait
[INFO] [stdout]     |
[INFO] [stdout] 112 -     #[async_trait::async_trait]
[INFO] [stdout] 112 +     Pin<Box<(dyn futures::Future<Output = Result<(), AppError>> + Send + 'async_trait)>>
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0053]: method `assoc_get` has an incompatible type for trait
[INFO] [stdout]    --> src/infrastructure/middleware/viewer_context_extractor.rs:112:5
[INFO] [stdout]     |
[INFO] [stdout] 112 |     #[async_trait::async_trait]
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `AppError`, found `Box<dyn Error + Send + Sync>`
[INFO] [stdout]     |
[INFO] [stdout] note: type in trait
[INFO] [stdout]    --> src/infrastructure/tao_core/tao_core.rs:202:1
[INFO] [stdout]     |
[INFO] [stdout] 202 | #[async_trait]
[INFO] [stdout]     | ^^^^^^^^^^^^^^
[INFO] [stdout]     = note: expected signature `fn(&'life0 MockTao, TaoAssocQuery) -> Pin<Box<(dyn futures::Future<Output = Result<Vec<infrastructure::tao_core::tao_core::TaoAssociation>, AppError>> + Send + 'async_trait)>>`
[INFO] [stdout]                found signature `fn(&'life0 MockTao, TaoAssocQuery) -> Pin<Box<(dyn futures::Future<Output = Result<Vec<infrastructure::tao_core::tao_core::TaoAssociation>, Box<(dyn StdError + Send + Sync + 'static)>>> + Send + 'async_trait)>>`
[INFO] [stdout]     = note: this error originates in the attribute macro `async_trait::async_trait` which comes from the expansion of the attribute macro `async_trait` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] help: change the output type to match the trait
[INFO] [stdout]     |
[INFO] [stdout] 112 -     #[async_trait::async_trait]
[INFO] [stdout] 112 +     Pin<Box<(dyn futures::Future<Output = Result<Vec<infrastructure::tao_core::tao_core::TaoAssociation>, AppError>> + Send + 'async_trait)>>
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0050]: method `assoc_delete` has 2 parameters but the declaration in trait `TaoOperations::assoc_delete` has 4
[INFO] [stdout]    --> src/infrastructure/middleware/viewer_context_extractor.rs:139:31
[INFO] [stdout]     |
[INFO] [stdout] 139 | ...assoc_delete(&self, _query: crate::infrastructure::tao_core::tao_core::TaoAssocQuery) -> Result<u64, Box<dyn std::error::Error +...
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected 4 parameters, found 2
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/infrastructure/tao_core/tao_core.rs:247:27
[INFO] [stdout]     |
[INFO] [stdout] 247 |     async fn assoc_delete(&self, id1: TaoId, atype: AssocType, id2: TaoId) -> AppResult<bool>;
[INFO] [stdout]     |                           ----------------------------------------------- trait requires 4 parameters
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0050]: method `assoc_count` has 2 parameters but the declaration in trait `TaoOperations::assoc_count` has 3
[INFO] [stdout]    --> src/infrastructure/middleware/viewer_context_extractor.rs:143:30
[INFO] [stdout]     |
[INFO] [stdout] 143 | ... assoc_count(&self, _query: crate::infrastructure::tao_core::tao_core::TaoAssocQuery) -> Result<u64, Box<dyn std::error::Error +...
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected 3 parameters, found 2
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/infrastructure/tao_core/tao_core.rs:248:26
[INFO] [stdout]     |
[INFO] [stdout] 248 |     async fn assoc_count(&self, id1: TaoId, atype: AssocType) -> AppResult<u64>;
[INFO] [stdout]     |                          ----------------------------------- trait requires 3 parameters
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0046]: not all trait items implemented, missing: `generate_id`, `obj_get`, `obj_update`, `obj_delete`, `obj_exists`, `obj_exists_by_type`, `obj_update_by_type`, `obj_delete_by_type`, `assoc_range`, `assoc_time_range`, `assoc_exists`, `get_by_id_and_type`, `get_neighbors`, `get_neighbor_ids`, `get_all_objects_of_type`, `begin_transaction`, `execute_query`
[INFO] [stdout]    --> src/infrastructure/middleware/viewer_context_extractor.rs:113:5
[INFO] [stdout]     |
[INFO] [stdout] 113 |       impl TaoOperations for MockTao {
[INFO] [stdout]     |       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `generate_id`, `obj_get`, `obj_update`, `obj_delete`, `obj_exists`, `obj_exists_by_type`, `obj_update_by_type`, `obj_delete_by_type`, `assoc_range`, `assoc_time_range`, `assoc_exists`, `get_by_id_and_type`, `get_neighbors`, `get_neighbor_ids`, `get_all_objects_of_type`, `begin_transaction`, `execute_query` in implementation
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/infrastructure/tao_core/tao_core.rs:233:5
[INFO] [stdout]     |
[INFO] [stdout] 233 |       async fn generate_id(&self, owner_id: Option<TaoId>) -> AppResult<TaoId>;
[INFO] [stdout]     |       ------------------------------------------------------------------------- `generate_id` from trait
[INFO] [stdout] 234 |       async fn create_object(&self, id: TaoId, otype: TaoType, data: Vec<u8>) -> AppResult<()>;
[INFO] [stdout] 235 |       async fn obj_get(&self, id: TaoId) -> AppResult<Option<TaoObject>>;
[INFO] [stdout]     |       ------------------------------------------------------------------- `obj_get` from trait
[INFO] [stdout] 236 |       async fn obj_update(&self, id: TaoId, data: Vec<u8>) -> AppResult<()>;
[INFO] [stdout]     |       ---------------------------------------------------------------------- `obj_update` from trait
[INFO] [stdout] 237 |       async fn obj_delete(&self, id: TaoId) -> AppResult<bool>;
[INFO] [stdout]     |       --------------------------------------------------------- `obj_delete` from trait
[INFO] [stdout] 238 |       async fn obj_exists(&self, id: TaoId) -> AppResult<bool>;
[INFO] [stdout]     |       --------------------------------------------------------- `obj_exists` from trait
[INFO] [stdout] 239 |       async fn obj_exists_by_type(&self, id: TaoId, otype: TaoType) -> AppResult<bool>;
[INFO] [stdout]     |       --------------------------------------------------------------------------------- `obj_exists_by_type` from trait
[INFO] [stdout] 240 | /     async fn obj_update_by_type(&self, id: TaoId, otype: TaoType, data: Vec<u8>)
[INFO] [stdout] 241 | |         -> AppResult<bool>;
[INFO] [stdout]     | |___________________________- `obj_update_by_type` from trait
[INFO] [stdout] 242 |       async fn obj_delete_by_type(&self, id: TaoId, otype: TaoType) -> AppResult<bool>;
[INFO] [stdout]     |       --------------------------------------------------------------------------------- `obj_delete_by_type` from trait
[INFO] [stdout] ...
[INFO] [stdout] 249 | /     async fn assoc_range(
[INFO] [stdout] 250 | |         &self,
[INFO] [stdout] 251 | |         id1: TaoId,
[INFO] [stdout] 252 | |         atype: AssocType,
[INFO] [stdout] 253 | |         offset: u64,
[INFO] [stdout] 254 | |         limit: u32,
[INFO] [stdout] 255 | |     ) -> AppResult<Vec<TaoAssociation>>;
[INFO] [stdout]     | |________________________________________- `assoc_range` from trait
[INFO] [stdout] 256 | /     async fn assoc_time_range(
[INFO] [stdout] 257 | |         &self,
[INFO] [stdout] 258 | |         id1: TaoId,
[INFO] [stdout] 259 | |         atype: AssocType,
[INFO] [stdout] ...   |
[INFO] [stdout] 262 | |         limit: Option<u32>,
[INFO] [stdout] 263 | |     ) -> AppResult<Vec<TaoAssociation>>;
[INFO] [stdout]     | |________________________________________- `assoc_time_range` from trait
[INFO] [stdout] 264 |       async fn assoc_exists(&self, id1: TaoId, atype: AssocType, id2: TaoId) -> AppResult<bool>;
[INFO] [stdout]     |       ------------------------------------------------------------------------------------------ `assoc_exists` from trait
[INFO] [stdout] ...
[INFO] [stdout] 267 | /     async fn get_by_id_and_type(
[INFO] [stdout] 268 | |         &self,
[INFO] [stdout] 269 | |         ids: Vec<TaoId>,
[INFO] [stdout] 270 | |         otype: TaoType,
[INFO] [stdout] 271 | |     ) -> AppResult<Vec<TaoObject>>;
[INFO] [stdout]     | |___________________________________- `get_by_id_and_type` from trait
[INFO] [stdout] 272 | /     async fn get_neighbors(
[INFO] [stdout] 273 | |         &self,
[INFO] [stdout] 274 | |         id: TaoId,
[INFO] [stdout] 275 | |         atype: AssocType,
[INFO] [stdout] 276 | |         limit: Option<u32>,
[INFO] [stdout] 277 | |     ) -> AppResult<Vec<TaoObject>>;
[INFO] [stdout]     | |___________________________________- `get_neighbors` from trait
[INFO] [stdout] 278 | /     async fn get_neighbor_ids(
[INFO] [stdout] 279 | |         &self,
[INFO] [stdout] 280 | |         id1: TaoId,
[INFO] [stdout] 281 | |         atype: AssocType,
[INFO] [stdout] 282 | |         limit: Option<u32>,
[INFO] [stdout] 283 | |     ) -> AppResult<Vec<TaoId>>;
[INFO] [stdout]     | |_______________________________- `get_neighbor_ids` from trait
[INFO] [stdout] 284 |       /// Get all objects of a specific type across all shards.
[INFO] [stdout] 285 | /     async fn get_all_objects_of_type(
[INFO] [stdout] 286 | |         &self,
[INFO] [stdout] 287 | |         otype: TaoType,
[INFO] [stdout] 288 | |         limit: Option<u32>,
[INFO] [stdout] 289 | |     ) -> AppResult<Vec<TaoObject>>;
[INFO] [stdout]     | |___________________________________- `get_all_objects_of_type` from trait
[INFO] [stdout] ...
[INFO] [stdout] 292 |       async fn begin_transaction(&self) -> AppResult<DatabaseTransaction>;
[INFO] [stdout]     |       -------------------------------------------------------------------- `begin_transaction` from trait
[INFO] [stdout] ...
[INFO] [stdout] 295 |       async fn execute_query(&self, query: String) -> AppResult<Vec<HashMap<String, String>>>;
[INFO] [stdout]     |       ---------------------------------------------------------------------------------------- `execute_query` from trait
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: `MockTao` doesn't implement `std::fmt::Debug`
[INFO] [stdout]    --> src/infrastructure/middleware/viewer_context_extractor.rs:113:28
[INFO] [stdout]     |
[INFO] [stdout] 113 |     impl TaoOperations for MockTao {
[INFO] [stdout]     |                            ^^^^^^^ the trait `std::fmt::Debug` is not implemented for `MockTao`
[INFO] [stdout]     |
[INFO] [stdout]     = note: add `#[derive(Debug)]` to `MockTao` or manually `impl std::fmt::Debug for MockTao`
[INFO] [stdout] note: required by a bound in `TaoOperations`
[INFO] [stdout]    --> src/infrastructure/tao_core/tao_core.rs:203:40
[INFO] [stdout]     |
[INFO] [stdout] 203 | pub trait TaoOperations: Send + Sync + std::fmt::Debug {
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^^ required by this bound in `TaoOperations`
[INFO] [stdout] help: consider annotating `MockTao` with `#[derive(Debug)]`
[INFO] [stdout]     |
[INFO] [stdout] 110 +     #[derive(Debug)]
[INFO] [stdout] 111 |     struct MockTao;
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/domains/page/ent_impl.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let mut entity = EntPage::read_from_in_protocol(&mut protocol)
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/domains/page/ent_impl.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let mut entity = EntPage::read_from_in_protocol(&mut protocol)
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/domains/post/ent_impl.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let mut entity = EntPost::read_from_in_protocol(&mut protocol)
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/domains/post/ent_impl.rs:71:13
[INFO] [stdout]    |
[INFO] [stdout] 71 |         let mut entity = EntPost::read_from_in_protocol(&mut protocol)
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/domains/user/ent_impl.rs:90:13
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let mut entity = EntUser::read_from_in_protocol(&mut protocol)
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/domains/user/ent_impl.rs:90:13
[INFO] [stdout]    |
[INFO] [stdout] 90 |         let mut entity = EntUser::read_from_in_protocol(&mut protocol)
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/domains/comment/ent_impl.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let mut entity = EntComment::read_from_in_protocol(&mut protocol)
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/domains/comment/ent_impl.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let mut entity = EntComment::read_from_in_protocol(&mut protocol)
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/domains/group/ent_impl.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let mut entity = EntGroup::read_from_in_protocol(&mut protocol)
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/domains/group/ent_impl.rs:47:13
[INFO] [stdout]    |
[INFO] [stdout] 47 |         let mut entity = EntGroup::read_from_in_protocol(&mut protocol)
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/domains/event/ent_impl.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let mut entity = EntEvent::read_from_in_protocol(&mut protocol)
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/domains/event/ent_impl.rs:48:13
[INFO] [stdout]    |
[INFO] [stdout] 48 |         let mut entity = EntEvent::read_from_in_protocol(&mut protocol)
[INFO] [stdout]    |             ----^^^^^^
[INFO] [stdout]    |             |
[INFO] [stdout]    |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `request_id` on type `viewer_context_extractor::Vc`
[INFO] [stdout]    --> src/infrastructure/middleware/viewer_context_extractor.rs:165:23
[INFO] [stdout]     |
[INFO] [stdout] 165 |         assert_eq!(vc.request_id, "test-request");
[INFO] [stdout]     |                       ^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]     |
[INFO] [stdout] 165 |         assert_eq!(vc.0.request_metadata.request_id, "test-request");
[INFO] [stdout]     |                       +++++++++++++++++++
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]     |
[INFO] [stdout] 165 |         assert_eq!(vc.request_metadata.request_id, "test-request");
[INFO] [stdout]     |                       +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `get` found for struct `viewer_context_extractor::Vc` in the current scope
[INFO] [stdout]    --> src/infrastructure/middleware/viewer_context_extractor.rs:168:25
[INFO] [stdout]     |
[INFO] [stdout]  34 | pub struct Vc(Arc<ViewerContext>);
[INFO] [stdout]     | ------------- method `get` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 168 |         let vc_ref = vc.get();
[INFO] [stdout]     |                         ^^^ method not found in `viewer_context_extractor::Vc`
[INFO] [stdout]     |
[INFO] [stdout]     = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]     = note: the following traits define an item `get`, perhaps you need to implement one of them:
[INFO] [stdout]             candidate #1: `DistributedCache`
[INFO] [stdout]             candidate #2: `Row`
[INFO] [stdout]             candidate #3: `SliceIndex`
[INFO] [stdout]             candidate #4: `icu_properties::names::PropertyEnumToValueNameLookup`
[INFO] [stdout]             candidate #5: `icu_provider::baked::DataStore`
[INFO] [stdout]             candidate #6: `rustls::server::server_conn::StoresServerSessions`
[INFO] [stdout] help: one of the expressions' fields has a method of the same name
[INFO] [stdout]     |
[INFO] [stdout] 168 |         let vc_ref = vc.0.roles.get();
[INFO] [stdout]     |                         ++++++++
[INFO] [stdout] help: some of the expressions' fields have a method of the same name
[INFO] [stdout]     |
[INFO] [stdout] 168 |         let vc_ref = vc.capabilities.get();
[INFO] [stdout]     |                         +++++++++++++
[INFO] [stdout] 168 |         let vc_ref = vc.custom_data.get();
[INFO] [stdout]     |                         ++++++++++++
[INFO] [stdout] 168 |         let vc_ref = vc.request_metadata.request_id.get();
[INFO] [stdout]     |                         ++++++++++++++++++++++++++++
[INFO] [stdout] 168 |         let vc_ref = vc.roles.get();
[INFO] [stdout]     |                         ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0609]: no field `request_id` on type `Arc<ViewerContext>`
[INFO] [stdout]    --> src/infrastructure/middleware/viewer_context_extractor.rs:173:27
[INFO] [stdout]     |
[INFO] [stdout] 173 |         assert_eq!(vc_arc.request_id, "test-request");
[INFO] [stdout]     |                           ^^^^^^^^^^ unknown field
[INFO] [stdout]     |
[INFO] [stdout] help: one of the expressions' fields has a field of the same name
[INFO] [stdout]     |
[INFO] [stdout] 173 |         assert_eq!(vc_arc.request_metadata.request_id, "test-request");
[INFO] [stdout]     |                           +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::framework::entity::ent_trait::Entity`
[INFO] [stdout]   --> src/infrastructure/tao_core/tao_core.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::framework::entity::ent_trait::Entity;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `struct_name`
[INFO] [stdout]    --> src/framework/codegen/ent_generator.rs:314:9
[INFO] [stdout]     |
[INFO] [stdout] 314 |         struct_name: &str,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_struct_name`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::framework::entity::ent_trait::Entity`
[INFO] [stdout]   --> src/infrastructure/tao_core/tao_core.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use crate::framework::entity::ent_trait::Entity;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `struct_name`
[INFO] [stdout]    --> src/framework/codegen/ent_generator.rs:314:9
[INFO] [stdout]     |
[INFO] [stdout] 314 |         struct_name: &str,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_struct_name`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cache`
[INFO] [stdout]    --> src/infrastructure/cache/cache_layer.rs:510:13
[INFO] [stdout]     |
[INFO] [stdout] 510 |         for cache in &self.caches {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_cache`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `cache`
[INFO] [stdout]    --> src/infrastructure/cache/cache_layer.rs:510:13
[INFO] [stdout]     |
[INFO] [stdout] 510 |         for cache in &self.caches {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_cache`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `generate_domain_modules` is never used
[INFO] [stdout]    --> src/framework/codegen/mod.rs:157:8
[INFO] [stdout]     |
[INFO] [stdout]  20 | impl CodeGenerator {
[INFO] [stdout]     | ------------------ method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 157 |     fn generate_domain_modules(
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `association_registry` is never read
[INFO] [stdout]    --> src/infrastructure/tao_core/tao_core.rs:351:5
[INFO] [stdout]     |
[INFO] [stdout] 347 | pub struct TaoCore {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 351 |     association_registry: Arc<AssociationRegistry>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `TaoCore` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/framework/builder/ergonomic_builder.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |     async fn create_with(self, context: C) -> AppResult<Self::Output>;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 58 -     async fn create_with(self, context: C) -> AppResult<Self::Output>;
[INFO] [stdout] 58 +     fn create_with(self, context: C) -> impl std::future::Future<Output = AppResult<Self::Output>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/framework/builder/ergonomic_builder.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     async fn create_and_associate_with<E: Entity>(
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 61 ~     fn create_and_associate_with<E: Entity>(
[INFO] [stdout] 62 |         self, 
[INFO] [stdout] ...
[INFO] [stdout] 65 |         association_type: &str
[INFO] [stdout] 66 ~     ) -> impl std::future::Future<Output = AppResult<Self::Output>> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/framework/entity/associations.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     async fn get_associated<T, C>(&self, ctx: &C, association_type: &str, limit: Option<usize>) -> AppResult<Vec<T>>
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 30 ~     fn get_associated<T, C>(&self, ctx: &C, association_type: &str, limit: Option<usize>) -> impl std::future::Future<Output = AppResult<Vec<T>>> + Send
[INFO] [stdout] 31 |     where
[INFO] [stdout] 32 |         T: Entity + for<'a> TryFrom<&'a [u8], Error = crate::error::AppError>,
[INFO] [stdout] 33 |         C: AssociationContext,
[INFO] [stdout] 34 ~     {async {
[INFO] [stdout] 35 |         let tao = ctx.tao();
[INFO] [stdout] ...
[INFO] [stdout] 50 |         Ok(results)
[INFO] [stdout] 51 ~     } }
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/framework/entity/associations.rs:54:5
[INFO] [stdout]    |
[INFO] [stdout] 54 |     async fn count_associated<C>(&self, ctx: &C, association_type: &str) -> AppResult<i64>
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 54 ~     fn count_associated<C>(&self, ctx: &C, association_type: &str) -> impl std::future::Future<Output = AppResult<i64>> + Send
[INFO] [stdout] 55 |     where
[INFO] [stdout] 56 |         C: AssociationContext,
[INFO] [stdout] 57 ~     {async {
[INFO] [stdout] 58 |         let tao = ctx.tao();
[INFO] [stdout] 59 |         let count = tao.assoc_count(self.id(), association_type.to_string()).await?;
[INFO] [stdout] 60 |         Ok(count as i64)
[INFO] [stdout] 61 ~     } }
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/framework/entity/associations.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     async fn add_association<C>(&self, ctx: &C, association_type: &str, target_id: i64) -> AppResult<()>
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 64 ~     fn add_association<C>(&self, ctx: &C, association_type: &str, target_id: i64) -> impl std::future::Future<Output = AppResult<()>> + Send
[INFO] [stdout] 65 |     where
[INFO] [stdout] 66 |         C: AssociationContext,
[INFO] [stdout] 67 ~     {async {
[INFO] [stdout] 68 |         let tao = ctx.tao();
[INFO] [stdout] ...
[INFO] [stdout] 86 |         Ok(())
[INFO] [stdout] 87 ~     } }
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/framework/entity/associations.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     async fn remove_association<C>(&self, ctx: &C, association_type: &str, target_id: i64) -> AppResult<()>
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 90 ~     fn remove_association<C>(&self, ctx: &C, association_type: &str, target_id: i64) -> impl std::future::Future<Output = AppResult<()>> + Send
[INFO] [stdout] 91 |     where
[INFO] [stdout] 92 |         C: AssociationContext,
[INFO] [stdout] 93 ~     {async {
[INFO] [stdout] 94 |         let tao = ctx.tao();
[INFO] [stdout] 95 |         tao.assoc_delete(self.id(), association_type.to_string(), target_id).await?;
[INFO] [stdout] 96 |         Ok(())
[INFO] [stdout] 97 ~     } }
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0046, E0050, E0053, E0277, E0407, E0425, E0599, E0609.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0046`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `tao_database` (lib test) due to 15 previous errors; 58 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "e47a8371fb6a60570dfa25d080ea616f6d31c5f6c7c127ad79b91c063382569f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e47a8371fb6a60570dfa25d080ea616f6d31c5f6c7c127ad79b91c063382569f", kill_on_drop: false }`
[INFO] [stdout] e47a8371fb6a60570dfa25d080ea616f6d31c5f6c7c127ad79b91c063382569f
