[INFO] cloning repository https://github.com/yjcyxky/biominer-indexd [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/yjcyxky/biominer-indexd" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyjcyxky%2Fbiominer-indexd", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyjcyxky%2Fbiominer-indexd'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 9658013788bf944d7368c657a452859a3a155fba [INFO] testing yjcyxky/biominer-indexd against beta-2022-04-10 for beta-1.61-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fyjcyxky%2Fbiominer-indexd" "/workspace/builds/worker-13/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-13/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/yjcyxky/biominer-indexd on toolchain beta-2022-04-10 [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/yjcyxky/biominer-indexd [INFO] finished tweaking git repo https://github.com/yjcyxky/biominer-indexd [INFO] tweaked toml for git repo https://github.com/yjcyxky/biominer-indexd written to /workspace/builds/worker-13/source/Cargo.toml [INFO] crate git repo https://github.com/yjcyxky/biominer-indexd already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2022-04-10" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 8564d674c31beb911a34301285386820bef461df60aa93055a246ee1a265b26b [INFO] running `Command { std: "docker" "start" "-a" "8564d674c31beb911a34301285386820bef461df60aa93055a246ee1a265b26b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8564d674c31beb911a34301285386820bef461df60aa93055a246ee1a265b26b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8564d674c31beb911a34301285386820bef461df60aa93055a246ee1a265b26b", kill_on_drop: false }` [INFO] [stdout] 8564d674c31beb911a34301285386820bef461df60aa93055a246ee1a265b26b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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" "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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] f4d4966aa9b96d81329a6112f0f450ed00392cd114970a13ca24bde62727caf7 [INFO] running `Command { std: "docker" "start" "-a" "f4d4966aa9b96d81329a6112f0f450ed00392cd114970a13ca24bde62727caf7", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.37 [INFO] [stderr] Compiling syn v1.0.91 [INFO] [stderr] Compiling libc v0.2.122 [INFO] [stderr] Compiling serde v1.0.136 [INFO] [stderr] Compiling subtle v2.4.1 [INFO] [stderr] Compiling libm v0.2.2 [INFO] [stderr] Compiling log v0.4.16 [INFO] [stderr] Compiling cpufeatures v0.2.2 [INFO] [stderr] Compiling futures-util v0.3.21 [INFO] [stderr] Compiling serde_json v1.0.79 [INFO] [stderr] Compiling slab v0.4.6 [INFO] [stderr] Compiling const-oid v0.6.2 [INFO] [stderr] Compiling async-trait v0.1.53 [INFO] [stderr] Compiling base64ct v1.1.1 [INFO] [stderr] Compiling crossbeam-utils v0.8.8 [INFO] [stderr] Compiling rust_decimal v1.23.1 [INFO] [stderr] Compiling byteorder v1.4.3 [INFO] [stderr] Compiling parking_lot_core v0.9.2 [INFO] [stderr] Compiling encoding_rs v0.8.31 [INFO] [stderr] Compiling crossbeam-queue v0.3.5 [INFO] [stderr] Compiling crc-catalog v1.1.1 [INFO] [stderr] Compiling unicode_categories v0.1.1 [INFO] [stderr] Compiling num_threads v0.1.5 [INFO] [stderr] Compiling time-macros v0.2.4 [INFO] [stderr] Compiling whoami v1.2.1 [INFO] [stderr] Compiling paste v1.0.7 [INFO] [stderr] Compiling anyhow v1.0.56 [INFO] [stderr] Compiling arc-swap v0.4.8 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling indexmap v1.8.1 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling lock_api v0.4.7 [INFO] [stderr] Compiling standback v0.2.17 [INFO] [stderr] Compiling num-iter v0.1.42 [INFO] [stderr] Compiling autocfg v0.1.8 [INFO] [stderr] Compiling num-bigint v0.3.3 [INFO] [stderr] Compiling time v0.2.27 [INFO] [stderr] Compiling cookie v0.16.0 [INFO] [stderr] Compiling multer v2.0.2 [INFO] [stderr] Compiling ring v0.16.20 [INFO] [stderr] Compiling pem-rfc7468 v0.2.4 [INFO] [stderr] Compiling crc v2.1.0 [INFO] [stderr] Compiling tracing-core v0.1.24 [INFO] [stderr] Compiling num-bigint-dig v0.7.0 [INFO] [stderr] Compiling headers-core v0.2.0 [INFO] [stderr] Compiling digest v0.9.0 [INFO] [stderr] Compiling cipher v0.3.0 [INFO] [stderr] Compiling universal-hash v0.4.1 [INFO] [stderr] Compiling block-buffer v0.9.0 [INFO] [stderr] Compiling crypto-mac v0.11.1 [INFO] [stderr] Compiling aead v0.4.3 [INFO] [stderr] Compiling digest v0.10.3 [INFO] [stderr] Compiling polyval v0.5.3 [INFO] [stderr] Compiling sha2 v0.9.9 [INFO] [stderr] Compiling md-5 v0.9.1 [INFO] [stderr] Compiling sha-1 v0.9.8 [INFO] [stderr] Compiling Inflector v0.11.4 [INFO] [stderr] Compiling aes v0.7.5 [INFO] [stderr] Compiling ctr v0.8.0 [INFO] [stderr] Compiling hmac v0.11.0 [INFO] [stderr] Compiling quote v1.0.17 [INFO] [stderr] Compiling hmac v0.12.1 [INFO] [stderr] Compiling sha-1 v0.10.0 [INFO] [stderr] Compiling sha2 v0.10.2 [INFO] [stderr] Compiling ghash v0.4.4 [INFO] [stderr] Compiling getrandom v0.2.6 [INFO] [stderr] Compiling num_cpus v1.13.1 [INFO] [stderr] Compiling signal-hook-registry v1.4.0 [INFO] [stderr] Compiling socket2 v0.4.4 [INFO] [stderr] Compiling time v0.1.43 [INFO] [stderr] Compiling parking_lot_core v0.8.5 [INFO] [stderr] Compiling dirs-sys v0.3.7 [INFO] [stderr] Compiling tempfile v3.3.0 [INFO] [stderr] Compiling thread-id v3.3.0 [INFO] [stderr] Compiling atty v0.2.14 [INFO] [stderr] Compiling hkdf v0.12.3 [INFO] [stderr] Compiling headers v0.3.7 [INFO] [stderr] Compiling aes-gcm v0.9.4 [INFO] [stderr] Compiling rand_core v0.6.3 [INFO] [stderr] Compiling ahash v0.7.6 [INFO] [stderr] Compiling dashmap v4.0.2 [INFO] [stderr] Compiling dirs v4.0.0 [INFO] [stderr] Compiling proc-macro-error-attr v1.0.4 [INFO] [stderr] Compiling parking_lot v0.11.2 [INFO] [stderr] Compiling time v0.3.9 [INFO] [stderr] Compiling clap v2.34.0 [INFO] [stderr] Compiling atoi v0.4.0 [INFO] [stderr] Compiling ordered-float v2.10.0 [INFO] [stderr] Compiling parking_lot v0.12.0 [INFO] [stderr] Compiling hashbrown v0.11.2 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling crypto-bigint v0.2.11 [INFO] [stderr] Compiling futures-intrusive v0.4.0 [INFO] [stderr] Compiling rand v0.8.5 [INFO] [stderr] Compiling hashlink v0.7.0 [INFO] [stderr] Compiling der v0.4.5 [INFO] [stderr] Compiling webpki v0.21.4 [INFO] [stderr] Compiling sct v0.6.1 [INFO] [stderr] Compiling spki v0.4.1 [INFO] [stderr] Compiling webpki-roots v0.21.1 [INFO] [stderr] Compiling synstructure v0.12.6 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling pest_generator v2.1.3 [INFO] [stderr] Compiling darling_core v0.13.4 [INFO] [stderr] Compiling serde_derive v1.0.136 [INFO] [stderr] Compiling thiserror-impl v1.0.30 [INFO] [stderr] Compiling tokio-macros v1.7.0 [INFO] [stderr] Compiling futures-macro v0.3.21 [INFO] [stderr] Compiling zeroize_derive v1.3.2 [INFO] [stderr] Compiling structopt-derive v0.4.18 [INFO] [stderr] Compiling tracing-attributes v0.1.20 [INFO] [stderr] Compiling pest_derive v2.1.0 [INFO] [stderr] Compiling time-macros-impl v0.1.2 [INFO] [stderr] Compiling derive_more v0.99.17 [INFO] [stderr] Compiling derivative v2.2.0 [INFO] [stderr] Compiling zeroize v1.4.3 [INFO] [stderr] Compiling pkcs1 v0.2.4 [INFO] [stderr] Compiling darling_macro v0.13.4 [INFO] [stderr] Compiling pkcs8 v0.7.6 [INFO] [stderr] Compiling time-macros v0.1.1 [INFO] [stderr] Compiling structopt v0.3.26 [INFO] [stderr] Compiling thiserror v1.0.30 [INFO] [stderr] Compiling tracing v0.1.32 [INFO] [stderr] Compiling rsa v0.5.0 [INFO] [stderr] Compiling darling v0.13.4 [INFO] [stderr] Compiling futures-executor v0.3.21 [INFO] [stderr] Compiling futures v0.3.21 [INFO] [stderr] Compiling chrono v0.4.19 [INFO] [stderr] Compiling either v1.6.1 [INFO] [stderr] Compiling uuid v0.8.2 [INFO] [stderr] Compiling serde_bytes v0.11.5 [INFO] [stderr] Compiling bigdecimal v0.2.2 [INFO] [stderr] Compiling bit-vec v0.6.3 [INFO] [stderr] Compiling ipnetwork v0.17.0 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling serde-value v0.7.0 [INFO] [stderr] Compiling serde_yaml v0.8.23 [INFO] [stderr] Compiling toml v0.5.8 [INFO] [stderr] Compiling itertools v0.10.3 [INFO] [stderr] Compiling mio v0.8.2 [INFO] [stderr] Compiling rustls v0.19.1 [INFO] [stderr] Compiling want v0.3.0 [INFO] [stderr] Compiling rexpr v1.0.7 [INFO] [stderr] Compiling tokio v1.17.0 [INFO] [stderr] Compiling rbson v2.0.3 [INFO] [stderr] Compiling log4rs v1.0.0 [INFO] [stderr] Compiling py_sql v1.0.1 [INFO] [stderr] Compiling html_parser v0.6.2 [INFO] [stderr] Compiling proc-macro-crate v1.1.3 [INFO] [stderr] Compiling poem-derive v1.3.21 [INFO] [stderr] Compiling poem-openapi-derive v1.3.21 [INFO] [stderr] Compiling sqlformat v0.1.8 [INFO] [stderr] Compiling rbatis_sql_macro v3.0.10 [INFO] [stderr] Compiling rbatis-macro-driver v3.1.1 [INFO] [stderr] Compiling tokio-stream v0.1.8 [INFO] [stderr] Compiling tokio-util v0.7.1 [INFO] [stderr] Compiling tokio-rustls v0.22.0 [INFO] [stderr] Compiling sqlx-rt v0.5.11 [INFO] [stderr] Compiling sqlx-core v0.5.11 [INFO] [stderr] Compiling h2 v0.3.13 [INFO] [stderr] Compiling rbatis_sql v3.0.17 [INFO] [stderr] Compiling hyper v0.14.18 [INFO] [stderr] Compiling poem v1.3.21 [INFO] [stderr] Compiling rbatis-core v3.1.6 [INFO] [stderr] Compiling rbatis v3.1.6 [INFO] [stderr] Compiling poem-openapi v1.3.21 [INFO] [stderr] Compiling biominer-indexd v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] ............gen impl CRUDTable: [INFO] [stdout] #[derive(Serialize, Deserialize, Debug, Eq, PartialEq, Clone, Object)] pub [INFO] [stdout] struct URL [INFO] [stdout] { [INFO] [stdout] pub id : u64, pub url : String, pub created_at : i64, pub status : String, [INFO] [stdout] pub uploader : String, [INFO] [stdout] } impl rbatis :: crud :: CRUDTable for URL [INFO] [stdout] { [INFO] [stdout] fn get(& self, column : & str) -> rbson :: Bson [INFO] [stdout] { [INFO] [stdout] return match column [INFO] [stdout] { [INFO] [stdout] "id" => [INFO] [stdout] { return rbson :: to_bson(& self.id).unwrap_or_default() ; } "url" [INFO] [stdout] => { return rbson :: to_bson(& self.url).unwrap_or_default() ; } [INFO] [stdout] "created_at" => [INFO] [stdout] { [INFO] [stdout] return rbson :: to_bson(& self.created_at).unwrap_or_default() [INFO] [stdout] ; [INFO] [stdout] } "status" => [INFO] [stdout] { return rbson :: to_bson(& self.status).unwrap_or_default() ; } [INFO] [stdout] "uploader" => [INFO] [stdout] { return rbson :: to_bson(& self.uploader).unwrap_or_default() ; } [INFO] [stdout] _ => { rbson :: Bson :: Null } [INFO] [stdout] } [INFO] [stdout] } fn table_name() -> String { "biominer_indexd_url".to_string() } fn [INFO] [stdout] table_columns() -> String [INFO] [stdout] { "id,url,created_at,status,uploader".to_string() } fn [INFO] [stdout] formats(driver_type : & rbatis :: core :: db :: DriverType) -> std :: [INFO] [stdout] collections :: HashMap < String, String > [INFO] [stdout] { [INFO] [stdout] let mut m : std :: collections :: HashMap < String, String > = std :: [INFO] [stdout] collections :: HashMap :: new() ; match driver_type [INFO] [stdout] { [INFO] [stdout] rbatis :: core :: db :: DriverType :: Mysql => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: Postgres => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: Sqlite => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: Mssql => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: None => { return m ; }, [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] ............gen impl CRUDTable end............ [INFO] [stdout] ............gen impl CRUDTable: [INFO] [stdout] #[derive(Serialize, Deserialize, Debug, Eq, PartialEq, Clone, Object)] pub [INFO] [stdout] struct Hash [INFO] [stdout] { [INFO] [stdout] #[oai(read_only)] pub id : u64, #[oai(validator(max_length = 16))] pub [INFO] [stdout] hash_type : String, #[oai(validator(max_length = 128))] pub hash : String, [INFO] [stdout] } impl rbatis :: crud :: CRUDTable for Hash [INFO] [stdout] { [INFO] [stdout] fn get(& self, column : & str) -> rbson :: Bson [INFO] [stdout] { [INFO] [stdout] return match column [INFO] [stdout] { [INFO] [stdout] "id" => [INFO] [stdout] { return rbson :: to_bson(& self.id).unwrap_or_default() ; } [INFO] [stdout] "hash_type" => [INFO] [stdout] { [INFO] [stdout] return rbson :: to_bson(& self.hash_type).unwrap_or_default() [INFO] [stdout] ; [INFO] [stdout] } "hash" => [INFO] [stdout] { return rbson :: to_bson(& self.hash).unwrap_or_default() ; } _ [INFO] [stdout] => { rbson :: Bson :: Null } [INFO] [stdout] } [INFO] [stdout] } fn table_name() -> String { "biominer_indexd_hash".to_string() } fn [INFO] [stdout] table_columns() -> String { "id,hash_type,hash".to_string() } fn [INFO] [stdout] formats(driver_type : & rbatis :: core :: db :: DriverType) -> std :: [INFO] [stdout] collections :: HashMap < String, String > [INFO] [stdout] { [INFO] [stdout] let mut m : std :: collections :: HashMap < String, String > = std :: [INFO] [stdout] collections :: HashMap :: new() ; match driver_type [INFO] [stdout] { [INFO] [stdout] rbatis :: core :: db :: DriverType :: Mysql => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: Postgres => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: Sqlite => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: Mssql => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: None => { return m ; }, [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] ............gen impl CRUDTable end............ [INFO] [stdout] ............gen impl CRUDTable: [INFO] [stdout] #[derive(Serialize, Deserialize, Debug, Eq, PartialEq, Clone, Object)] pub [INFO] [stdout] struct Alias [INFO] [stdout] { [INFO] [stdout] #[oai(read_only)] pub id : u64, #[oai(validator(max_length = 255))] pub [INFO] [stdout] name : String, [INFO] [stdout] } impl rbatis :: crud :: CRUDTable for Alias [INFO] [stdout] { [INFO] [stdout] fn get(& self, column : & str) -> rbson :: Bson [INFO] [stdout] { [INFO] [stdout] return match column [INFO] [stdout] { [INFO] [stdout] "id" => [INFO] [stdout] { return rbson :: to_bson(& self.id).unwrap_or_default() ; } [INFO] [stdout] "name" => [INFO] [stdout] { return rbson :: to_bson(& self.name).unwrap_or_default() ; } _ [INFO] [stdout] => { rbson :: Bson :: Null } [INFO] [stdout] } [INFO] [stdout] } fn table_name() -> String { "biominer_indexd_alias".to_string() } fn [INFO] [stdout] table_columns() -> String { "id,name".to_string() } fn [INFO] [stdout] formats(driver_type : & rbatis :: core :: db :: DriverType) -> std :: [INFO] [stdout] collections :: HashMap < String, String > [INFO] [stdout] { [INFO] [stdout] let mut m : std :: collections :: HashMap < String, String > = std :: [INFO] [stdout] collections :: HashMap :: new() ; match driver_type [INFO] [stdout] { [INFO] [stdout] rbatis :: core :: db :: DriverType :: Mysql => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: Postgres => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: Sqlite => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: Mssql => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: None => { return m ; }, [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] ............gen impl CRUDTable end............ [INFO] [stdout] ............gen impl CRUDTable: [INFO] [stdout] #[derive(Serialize, Deserialize, Debug, Eq, PartialEq, Clone, Object)] pub [INFO] [stdout] struct Config [INFO] [stdout] { [INFO] [stdout] #[oai(read_only)] pub id : u64, [INFO] [stdout] #[oai(validator(max_length = 16, pattern = "^[0-9a-z-]{16}$"))] pub [INFO] [stdout] registry_id : String, [INFO] [stdout] } impl rbatis :: crud :: CRUDTable for Config [INFO] [stdout] { [INFO] [stdout] fn get(& self, column : & str) -> rbson :: Bson [INFO] [stdout] { [INFO] [stdout] return match column [INFO] [stdout] { [INFO] [stdout] "id" => [INFO] [stdout] { return rbson :: to_bson(& self.id).unwrap_or_default() ; } [INFO] [stdout] "registry_id" => [INFO] [stdout] { [INFO] [stdout] return rbson :: [INFO] [stdout] to_bson(& self.registry_id).unwrap_or_default() ; [INFO] [stdout] } _ => { rbson :: Bson :: Null } [INFO] [stdout] } [INFO] [stdout] } fn table_name() -> String { "biominer_indexd_config".to_string() } fn [INFO] [stdout] table_columns() -> String { "id,registry_id".to_string() } fn [INFO] [stdout] formats(driver_type : & rbatis :: core :: db :: DriverType) -> std :: [INFO] [stdout] collections :: HashMap < String, String > [INFO] [stdout] { [INFO] [stdout] let mut m : std :: collections :: HashMap < String, String > = std :: [INFO] [stdout] collections :: HashMap :: new() ; match driver_type [INFO] [stdout] { [INFO] [stdout] rbatis :: core :: db :: DriverType :: Mysql => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: Postgres => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: Sqlite => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: Mssql => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: None => { return m ; }, [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] ............gen impl CRUDTable end............ [INFO] [stdout] ............gen impl CRUDTable: [INFO] [stdout] #[derive(Serialize, Deserialize, Debug, Eq, PartialEq, Clone, Object)] pub [INFO] [stdout] struct File [INFO] [stdout] { [INFO] [stdout] pub guid : String, pub filename : String, pub size : u64, pub created_at : [INFO] [stdout] i64, pub updated_at : i64, pub status : String, pub baseid : String, pub [INFO] [stdout] rev : String, pub version : usize, pub uploader : String, pub urls : [INFO] [stdout] Option < Vec < URL >>, pub hashes : Option < Vec < Hash >>, pub aliases : [INFO] [stdout] Option < Vec < Alias >>, [INFO] [stdout] } impl rbatis :: crud :: CRUDTable for File [INFO] [stdout] { [INFO] [stdout] fn get(& self, column : & str) -> rbson :: Bson [INFO] [stdout] { [INFO] [stdout] return match column [INFO] [stdout] { [INFO] [stdout] "guid" => [INFO] [stdout] { return rbson :: to_bson(& self.guid).unwrap_or_default() ; } [INFO] [stdout] "filename" => [INFO] [stdout] { return rbson :: to_bson(& self.filename).unwrap_or_default() ; } [INFO] [stdout] "size" => [INFO] [stdout] { return rbson :: to_bson(& self.size).unwrap_or_default() ; } [INFO] [stdout] "created_at" => [INFO] [stdout] { [INFO] [stdout] return rbson :: to_bson(& self.created_at).unwrap_or_default() [INFO] [stdout] ; [INFO] [stdout] } "updated_at" => [INFO] [stdout] { [INFO] [stdout] return rbson :: to_bson(& self.updated_at).unwrap_or_default() [INFO] [stdout] ; [INFO] [stdout] } "status" => [INFO] [stdout] { return rbson :: to_bson(& self.status).unwrap_or_default() ; } [INFO] [stdout] "baseid" => [INFO] [stdout] { return rbson :: to_bson(& self.baseid).unwrap_or_default() ; } [INFO] [stdout] "rev" => [INFO] [stdout] { return rbson :: to_bson(& self.rev).unwrap_or_default() ; } [INFO] [stdout] "version" => [INFO] [stdout] { return rbson :: to_bson(& self.version).unwrap_or_default() ; } [INFO] [stdout] "uploader" => [INFO] [stdout] { return rbson :: to_bson(& self.uploader).unwrap_or_default() ; } [INFO] [stdout] "urls" => [INFO] [stdout] { return rbson :: to_bson(& self.urls).unwrap_or_default() ; } [INFO] [stdout] "hashes" => [INFO] [stdout] { return rbson :: to_bson(& self.hashes).unwrap_or_default() ; } [INFO] [stdout] "aliases" => [INFO] [stdout] { return rbson :: to_bson(& self.aliases).unwrap_or_default() ; } [INFO] [stdout] _ => { rbson :: Bson :: Null } [INFO] [stdout] } [INFO] [stdout] } fn table_name() -> String { "biominer_indexd_file".to_string() } fn [INFO] [stdout] table_columns() -> String [INFO] [stdout] { [INFO] [stdout] "guid,filename,size,created_at,updated_at,status,baseid,rev,version,uploader,urls,hashes,aliases".to_string() [INFO] [stdout] } fn formats(driver_type : & rbatis :: core :: db :: DriverType) -> std :: [INFO] [stdout] collections :: HashMap < String, String > [INFO] [stdout] { [INFO] [stdout] let mut m : std :: collections :: HashMap < String, String > = std :: [INFO] [stdout] collections :: HashMap :: new() ; match driver_type [INFO] [stdout] { [INFO] [stdout] rbatis :: core :: db :: DriverType :: Mysql => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: Postgres => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: Sqlite => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: Mssql => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: None => { return m ; }, [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] ............gen impl CRUDTable end............ [INFO] [stdout] gen return [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] query_files(rb : & mut RbatisExecutor < '_, '_ >, page_req : & PageRequest, [INFO] [stdout] guid : & str, filename : & str, baseid : & str, status : & str, uploader : & [INFO] [stdout] str, hash : & str, alias : & str, url : & str, contain_alias : & usize, [INFO] [stdout] contain_url : & usize,) -> rbatis :: core :: Result < Page < File > > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbson :: Document :: new() ; [INFO] [stdout] rb_arg_map.insert("page_req".to_string(), rbson :: [INFO] [stdout] to_bson(page_req).unwrap_or_default()) ; [INFO] [stdout] rb_arg_map.insert("guid".to_string(), rbson :: [INFO] [stdout] to_bson(guid).unwrap_or_default()) ; [INFO] [stdout] rb_arg_map.insert("filename".to_string(), rbson :: [INFO] [stdout] to_bson(filename).unwrap_or_default()) ; [INFO] [stdout] rb_arg_map.insert("baseid".to_string(), rbson :: [INFO] [stdout] to_bson(baseid).unwrap_or_default()) ; [INFO] [stdout] rb_arg_map.insert("status".to_string(), rbson :: [INFO] [stdout] to_bson(status).unwrap_or_default()) ; [INFO] [stdout] rb_arg_map.insert("uploader".to_string(), rbson :: [INFO] [stdout] to_bson(uploader).unwrap_or_default()) ; [INFO] [stdout] rb_arg_map.insert("hash".to_string(), rbson :: [INFO] [stdout] to_bson(hash).unwrap_or_default()) ; [INFO] [stdout] rb_arg_map.insert("alias".to_string(), rbson :: [INFO] [stdout] to_bson(alias).unwrap_or_default()) ; [INFO] [stdout] rb_arg_map.insert("url".to_string(), rbson :: [INFO] [stdout] to_bson(url).unwrap_or_default()) ; [INFO] [stdout] rb_arg_map.insert("contain_alias".to_string(), rbson :: [INFO] [stdout] to_bson(contain_alias).unwrap_or_default()) ; [INFO] [stdout] rb_arg_map.insert("contain_url".to_string(), rbson :: [INFO] [stdout] to_bson(contain_url).unwrap_or_default()) ; {} use rbatis :: executor :: [INFO] [stdout] { RbatisRef } ; let driver_type = rb.get_rbatis().driver_type() ? ; use [INFO] [stdout] rbatis :: { rbatis_sql, AsSqlTag } ; let sql_tag = driver_type.sql_tag() ; [INFO] [stdout] #[rb_html("sql/query_files.xml")] pub fn [INFO] [stdout] query_files(arg : & rbson :: Bson, _tag : char) {} let(mut sql, rb_args) = [INFO] [stdout] query_files(& rbson :: Bson :: Document(rb_arg_map), sql_tag) ; [INFO] [stdout] driver_type.do_replace_tag(& mut sql) ; use rbatis :: crud :: [INFO] [stdout] { CRUD, CRUDMut } ; rb.fetch_page(& sql, rb_args, page_req).await [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] try open file:sql/query_files.xml [INFO] [stdout] load html:[ [INFO] [stdout] { [INFO] [stdout] tag: "select", [INFO] [stdout] attributes: { [INFO] [stdout] "id": "query_files", [INFO] [stdout] }, [INFO] [stdout] childs: [ [INFO] [stdout] { [INFO] [stdout] data: "SELECT\n guid, filename, size, updated_at, baseid, rev, version,\n biominer_indexd_file.created_at as created_at,\n biominer_indexd_file.status as status,\n biominer_indexd_file.uploader as uploader,", [INFO] [stdout] }, [INFO] [stdout] { [INFO] [stdout] tag: "if", [INFO] [stdout] attributes: { [INFO] [stdout] "test": "contain_url != 0", [INFO] [stdout] }, [INFO] [stdout] childs: [ [INFO] [stdout] { [INFO] [stdout] data: "json_agg(DISTINCT biominer_indexd_url) as urls,", [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] }, [INFO] [stdout] { [INFO] [stdout] tag: "if", [INFO] [stdout] attributes: { [INFO] [stdout] "test": "contain_alias != 0", [INFO] [stdout] }, [INFO] [stdout] childs: [ [INFO] [stdout] { [INFO] [stdout] data: "json_agg(DISTINCT biominer_indexd_alias) as aliases,", [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] }, [INFO] [stdout] { [INFO] [stdout] data: "json_agg(DISTINCT biominer_indexd_hash) as hashes\n FROM\n biominer_indexd_file\n ${' '}", [INFO] [stdout] }, [INFO] [stdout] { [INFO] [stdout] tag: "if", [INFO] [stdout] attributes: { [INFO] [stdout] "test": "contain_url != 0", [INFO] [stdout] }, [INFO] [stdout] childs: [ [INFO] [stdout] { [INFO] [stdout] data: "JOIN biominer_indexd_url ON biominer_indexd_url.file = biominer_indexd_file.guid", [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] }, [INFO] [stdout] { [INFO] [stdout] tag: "if", [INFO] [stdout] attributes: { [INFO] [stdout] "test": "contain_alias != 0", [INFO] [stdout] }, [INFO] [stdout] childs: [ [INFO] [stdout] { [INFO] [stdout] data: "JOIN biominer_indexd_alias ON biominer_indexd_alias.file = biominer_indexd_file.guid", [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] }, [INFO] [stdout] { [INFO] [stdout] data: "JOIN biominer_indexd_hash ON biominer_indexd_hash.file = biominer_indexd_file.guid\n ${' '}", [INFO] [stdout] }, [INFO] [stdout] { [INFO] [stdout] tag: "where", [INFO] [stdout] childs: [ [INFO] [stdout] { [INFO] [stdout] tag: "if", [INFO] [stdout] attributes: { [INFO] [stdout] "test": "filename != null && filename != ''", [INFO] [stdout] }, [INFO] [stdout] childs: [ [INFO] [stdout] { [INFO] [stdout] data: "filename LIKE CONCAT('%', #{filename}, '%')", [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] }, [INFO] [stdout] { [INFO] [stdout] tag: "if", [INFO] [stdout] attributes: { [INFO] [stdout] "test": "guid != null && guid != ''", [INFO] [stdout] }, [INFO] [stdout] childs: [ [INFO] [stdout] { [INFO] [stdout] data: "and guid = #{guid}", [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] }, [INFO] [stdout] { [INFO] [stdout] tag: "if", [INFO] [stdout] attributes: { [INFO] [stdout] "test": "baseid != null && baseid != ''", [INFO] [stdout] }, [INFO] [stdout] childs: [ [INFO] [stdout] { [INFO] [stdout] data: "and baseid = #{baseid}", [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] }, [INFO] [stdout] { [INFO] [stdout] tag: "if", [INFO] [stdout] attributes: { [INFO] [stdout] "test": "status != null && status != ''", [INFO] [stdout] }, [INFO] [stdout] childs: [ [INFO] [stdout] { [INFO] [stdout] data: "and biominer_indexd_file.status = #{status}", [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] }, [INFO] [stdout] { [INFO] [stdout] tag: "if", [INFO] [stdout] attributes: { [INFO] [stdout] "test": "uploader != null && uploader != ''", [INFO] [stdout] }, [INFO] [stdout] childs: [ [INFO] [stdout] { [INFO] [stdout] data: "and biominer_indexd_file.uploader = #{uploader}", [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] }, [INFO] [stdout] { [INFO] [stdout] tag: "if", [INFO] [stdout] attributes: { [INFO] [stdout] "test": "hash != null && hash != ''", [INFO] [stdout] }, [INFO] [stdout] childs: [ [INFO] [stdout] { [INFO] [stdout] data: "and biominer_indexd_hash.hash = #{hash}", [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] }, [INFO] [stdout] { [INFO] [stdout] tag: "if", [INFO] [stdout] attributes: { [INFO] [stdout] "test": "contain_alias != 0 && alias != null && alias != ''", [INFO] [stdout] }, [INFO] [stdout] childs: [ [INFO] [stdout] { [INFO] [stdout] data: "and biominer_indexd_alias.name = #{alias}", [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] }, [INFO] [stdout] { [INFO] [stdout] tag: "if", [INFO] [stdout] attributes: { [INFO] [stdout] "test": "contain_url != 0 && url != null && url != ''", [INFO] [stdout] }, [INFO] [stdout] childs: [ [INFO] [stdout] { [INFO] [stdout] data: "and biominer_indexd_url.url = #{url}", [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] }, [INFO] [stdout] { [INFO] [stdout] data: "${' '}\n GROUP BY guid", [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] }, [INFO] [stdout] ] [INFO] [stdout] ............gen macro xml: [INFO] [stdout] use rbatis_sql :: ops :: * ; pub fn [INFO] [stdout] query_files(arg : & rbson :: Bson, _tag : char) -> [INFO] [stdout] (String, Vec < rbson :: Bson >) [INFO] [stdout] { [INFO] [stdout] use rbatis_sql :: ops :: AsProxy ; let mut sql = String :: [INFO] [stdout] with_capacity(1000) ; let mut args = Vec :: with_capacity(20) ; [INFO] [stdout] sql.push_str("SELECT\n guid, filename, size, updated_at, baseid, rev, version,\n biominer_indexd_file.created_at as created_at,\n biominer_indexd_file.status as status,\n biominer_indexd_file.uploader as uploader,") [INFO] [stdout] ; let Y29udGFpbl91cmwgIT0gMA__ = [INFO] [stdout] { let result = { (arg.index("contain_url")).op_ne(& 0i64) } ; result } ; [INFO] [stdout] if Y29udGFpbl91cmwgIT0gMA__ [INFO] [stdout] { [INFO] [stdout] sql.push_str(" ") ; [INFO] [stdout] sql.push_str("json_agg(DISTINCT biominer_indexd_url) as urls,") ; [INFO] [stdout] sql.push_str(" ") ; [INFO] [stdout] } let Y29udGFpbl9hbGlhcyAhPSAw = [INFO] [stdout] { let result = { (arg.index("contain_alias")).op_ne(& 0i64) } ; result } ; [INFO] [stdout] if Y29udGFpbl9hbGlhcyAhPSAw [INFO] [stdout] { [INFO] [stdout] sql.push_str(" ") ; [INFO] [stdout] sql.push_str("json_agg(DISTINCT biominer_indexd_alias) as aliases,") ; [INFO] [stdout] sql.push_str(" ") ; [INFO] [stdout] } let c2VsZWN0OicgJw__ = { let result = { " " } ; result } ; [INFO] [stdout] sql.push_str("json_agg(DISTINCT biominer_indexd_hash) as hashes\n FROM\n biominer_indexd_file\n ${\' \'}".replacen("${\' \'}", [INFO] [stdout] & c2VsZWN0OicgJw__.as_sql(), 1).as_str()) ; let Y29udGFpbl91cmwgIT0gMA__ = [INFO] [stdout] { let result = { (arg.index("contain_url")).op_ne(& 0i64) } ; result } ; [INFO] [stdout] if Y29udGFpbl91cmwgIT0gMA__ [INFO] [stdout] { [INFO] [stdout] sql.push_str(" ") ; [INFO] [stdout] sql.push_str("JOIN biominer_indexd_url ON biominer_indexd_url.file = biominer_indexd_file.guid") [INFO] [stdout] ; sql.push_str(" ") ; [INFO] [stdout] } let Y29udGFpbl9hbGlhcyAhPSAw = [INFO] [stdout] { let result = { (arg.index("contain_alias")).op_ne(& 0i64) } ; result } ; [INFO] [stdout] if Y29udGFpbl9hbGlhcyAhPSAw [INFO] [stdout] { [INFO] [stdout] sql.push_str(" ") ; [INFO] [stdout] sql.push_str("JOIN biominer_indexd_alias ON biominer_indexd_alias.file = biominer_indexd_file.guid") [INFO] [stdout] ; sql.push_str(" ") ; [INFO] [stdout] } let c2VsZWN0OicgJw__ = { let result = { " " } ; result } ; [INFO] [stdout] sql.push_str("JOIN biominer_indexd_hash ON biominer_indexd_hash.file = biominer_indexd_file.guid\n ${\' \'}".replacen("${\' \'}", [INFO] [stdout] & c2VsZWN0OicgJw__.as_sql(), 1).as_str()) ; sql.push_str(" where ") ; [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: new() ; let [INFO] [stdout] ZmlsZW5hbWUgIT0gbnVsbCAmJiBmaWxlbmFtZSAhPSAnJw__ = [INFO] [stdout] { [INFO] [stdout] let result = [INFO] [stdout] { [INFO] [stdout] bool :: [INFO] [stdout] op_from((arg.index("filename")).op_ne(& rbson :: Bson :: [INFO] [stdout] Null)) && bool :: op_from((arg.index("filename")).op_ne(& "")) [INFO] [stdout] } ; result [INFO] [stdout] } ; if ZmlsZW5hbWUgIT0gbnVsbCAmJiBmaWxlbmFtZSAhPSAnJw__ [INFO] [stdout] { [INFO] [stdout] sql.push_str(" ") ; let c2VsZWN0OndoZXJlOnRyaW06ZmlsZW5hbWU_ = [INFO] [stdout] { let result = { arg.index("filename") } ; result } ; [INFO] [stdout] args.push(rbson :: bson! (c2VsZWN0OndoZXJlOnRyaW06ZmlsZW5hbWU_)) ; [INFO] [stdout] sql.push_str("filename LIKE CONCAT(\'%\', ?, \'%\')") ; [INFO] [stdout] sql.push_str(" ") ; [INFO] [stdout] } let Z3VpZCAhPSBudWxsICYmIGd1aWQgIT0gJyc_ = [INFO] [stdout] { [INFO] [stdout] let result = [INFO] [stdout] { [INFO] [stdout] bool :: [INFO] [stdout] op_from((arg.index("guid")).op_ne(& rbson :: Bson :: Null)) && [INFO] [stdout] bool :: op_from((arg.index("guid")).op_ne(& "")) [INFO] [stdout] } ; result [INFO] [stdout] } ; if Z3VpZCAhPSBudWxsICYmIGd1aWQgIT0gJyc_ [INFO] [stdout] { [INFO] [stdout] sql.push_str(" ") ; let c2VsZWN0OndoZXJlOnRyaW06Z3VpZA__ = [INFO] [stdout] { let result = { arg.index("guid") } ; result } ; [INFO] [stdout] args.push(rbson :: bson! (c2VsZWN0OndoZXJlOnRyaW06Z3VpZA__)) ; [INFO] [stdout] sql.push_str("and guid = ?") ; sql.push_str(" ") ; [INFO] [stdout] } let YmFzZWlkICE9IG51bGwgJiYgYmFzZWlkICE9ICcn = [INFO] [stdout] { [INFO] [stdout] let result = [INFO] [stdout] { [INFO] [stdout] bool :: [INFO] [stdout] op_from((arg.index("baseid")).op_ne(& rbson :: Bson :: Null)) [INFO] [stdout] && bool :: op_from((arg.index("baseid")).op_ne(& "")) [INFO] [stdout] } ; result [INFO] [stdout] } ; if YmFzZWlkICE9IG51bGwgJiYgYmFzZWlkICE9ICcn [INFO] [stdout] { [INFO] [stdout] sql.push_str(" ") ; let c2VsZWN0OndoZXJlOnRyaW06YmFzZWlk = [INFO] [stdout] { let result = { arg.index("baseid") } ; result } ; [INFO] [stdout] args.push(rbson :: bson! (c2VsZWN0OndoZXJlOnRyaW06YmFzZWlk)) ; [INFO] [stdout] sql.push_str("and baseid = ?") ; sql.push_str(" ") ; [INFO] [stdout] } let c3RhdHVzICE9IG51bGwgJiYgc3RhdHVzICE9ICcn = [INFO] [stdout] { [INFO] [stdout] let result = [INFO] [stdout] { [INFO] [stdout] bool :: [INFO] [stdout] op_from((arg.index("status")).op_ne(& rbson :: Bson :: Null)) [INFO] [stdout] && bool :: op_from((arg.index("status")).op_ne(& "")) [INFO] [stdout] } ; result [INFO] [stdout] } ; if c3RhdHVzICE9IG51bGwgJiYgc3RhdHVzICE9ICcn [INFO] [stdout] { [INFO] [stdout] sql.push_str(" ") ; let c2VsZWN0OndoZXJlOnRyaW06c3RhdHVz = [INFO] [stdout] { let result = { arg.index("status") } ; result } ; [INFO] [stdout] args.push(rbson :: bson! (c2VsZWN0OndoZXJlOnRyaW06c3RhdHVz)) ; [INFO] [stdout] sql.push_str("and biominer_indexd_file.status = ?") ; [INFO] [stdout] sql.push_str(" ") ; [INFO] [stdout] } let dXBsb2FkZXIgIT0gbnVsbCAmJiB1cGxvYWRlciAhPSAnJw__ = [INFO] [stdout] { [INFO] [stdout] let result = [INFO] [stdout] { [INFO] [stdout] bool :: [INFO] [stdout] op_from((arg.index("uploader")).op_ne(& rbson :: Bson :: [INFO] [stdout] Null)) && bool :: op_from((arg.index("uploader")).op_ne(& "")) [INFO] [stdout] } ; result [INFO] [stdout] } ; if dXBsb2FkZXIgIT0gbnVsbCAmJiB1cGxvYWRlciAhPSAnJw__ [INFO] [stdout] { [INFO] [stdout] sql.push_str(" ") ; let c2VsZWN0OndoZXJlOnRyaW06dXBsb2FkZXI_ = [INFO] [stdout] { let result = { arg.index("uploader") } ; result } ; [INFO] [stdout] args.push(rbson :: bson! (c2VsZWN0OndoZXJlOnRyaW06dXBsb2FkZXI_)) ; [INFO] [stdout] sql.push_str("and biominer_indexd_file.uploader = ?") ; [INFO] [stdout] sql.push_str(" ") ; [INFO] [stdout] } let aGFzaCAhPSBudWxsICYmIGhhc2ggIT0gJyc_ = [INFO] [stdout] { [INFO] [stdout] let result = [INFO] [stdout] { [INFO] [stdout] bool :: [INFO] [stdout] op_from((arg.index("hash")).op_ne(& rbson :: Bson :: Null)) && [INFO] [stdout] bool :: op_from((arg.index("hash")).op_ne(& "")) [INFO] [stdout] } ; result [INFO] [stdout] } ; if aGFzaCAhPSBudWxsICYmIGhhc2ggIT0gJyc_ [INFO] [stdout] { [INFO] [stdout] sql.push_str(" ") ; let c2VsZWN0OndoZXJlOnRyaW06aGFzaA__ = [INFO] [stdout] { let result = { arg.index("hash") } ; result } ; [INFO] [stdout] args.push(rbson :: bson! (c2VsZWN0OndoZXJlOnRyaW06aGFzaA__)) ; [INFO] [stdout] sql.push_str("and biominer_indexd_hash.hash = ?") ; [INFO] [stdout] sql.push_str(" ") ; [INFO] [stdout] } let [INFO] [stdout] Y29udGFpbl9hbGlhcyAhPSAwICYmIGFsaWFzICE9IG51bGwgJiYgYWxpYXMgIT0gJyc_ = [INFO] [stdout] { [INFO] [stdout] let result = [INFO] [stdout] { [INFO] [stdout] bool :: [INFO] [stdout] op_from(bool :: [INFO] [stdout] op_from((arg.index("contain_alias")).op_ne(& 0i64)) && bool :: [INFO] [stdout] op_from((arg.index("alias")).op_ne(& rbson :: Bson :: Null))) [INFO] [stdout] && bool :: op_from((arg.index("alias")).op_ne(& "")) [INFO] [stdout] } ; result [INFO] [stdout] } ; if [INFO] [stdout] Y29udGFpbl9hbGlhcyAhPSAwICYmIGFsaWFzICE9IG51bGwgJiYgYWxpYXMgIT0gJyc_ [INFO] [stdout] { [INFO] [stdout] sql.push_str(" ") ; let c2VsZWN0OndoZXJlOnRyaW06YWxpYXM_ = [INFO] [stdout] { let result = { arg.index("alias") } ; result } ; [INFO] [stdout] args.push(rbson :: bson! (c2VsZWN0OndoZXJlOnRyaW06YWxpYXM_)) ; [INFO] [stdout] sql.push_str("and biominer_indexd_alias.name = ?") ; [INFO] [stdout] sql.push_str(" ") ; [INFO] [stdout] } let Y29udGFpbl91cmwgIT0gMCAmJiB1cmwgIT0gbnVsbCAmJiB1cmwgIT0gJyc_ = [INFO] [stdout] { [INFO] [stdout] let result = [INFO] [stdout] { [INFO] [stdout] bool :: [INFO] [stdout] op_from(bool :: [INFO] [stdout] op_from((arg.index("contain_url")).op_ne(& 0i64)) && bool :: [INFO] [stdout] op_from((arg.index("url")).op_ne(& rbson :: Bson :: Null))) && [INFO] [stdout] bool :: op_from((arg.index("url")).op_ne(& "")) [INFO] [stdout] } ; result [INFO] [stdout] } ; if Y29udGFpbl91cmwgIT0gMCAmJiB1cmwgIT0gbnVsbCAmJiB1cmwgIT0gJyc_ [INFO] [stdout] { [INFO] [stdout] sql.push_str(" ") ; let c2VsZWN0OndoZXJlOnRyaW06dXJs = [INFO] [stdout] { let result = { arg.index("url") } ; result } ; [INFO] [stdout] args.push(rbson :: bson! (c2VsZWN0OndoZXJlOnRyaW06dXJs)) ; [INFO] [stdout] sql.push_str("and biominer_indexd_url.url = ?") ; [INFO] [stdout] sql.push_str(" ") ; [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string() [INFO] [stdout] ; sql [INFO] [stdout] }) ; sql.push_str(" ") ; sql = sql.trim_end().to_string() ; sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string() ; let c2VsZWN0OicgJw__ = [INFO] [stdout] { let result = { " " } ; result } ; [INFO] [stdout] sql.push_str("${\' \'}\n GROUP BY guid".replacen("${\' \'}", & [INFO] [stdout] c2VsZWN0OicgJw__.as_sql(), 1).as_str()) ; rbatis_sql :: sql_index! [INFO] [stdout] (sql, _tag) ; return(sql, args) ; [INFO] [stdout] } fn _include_query_files() [INFO] [stdout] { let _ = include_str! ("/opt/rustwide/workdir/sql/query_files.xml") ; } [INFO] [stdout] ............gen macro xml end............ [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/database.rs:210:9 [INFO] [stdout] | [INFO] [stdout] 210 | let f = match tx [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `h` [INFO] [stdout] --> src/database.rs:233:9 [INFO] [stdout] | [INFO] [stdout] 233 | let h = match tx [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_h` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `NotFound` [INFO] [stdout] --> src/api/files.rs:20:3 [INFO] [stdout] | [INFO] [stdout] 20 | NotFound(PlainText), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/database.rs:190:9 [INFO] [stdout] | [INFO] [stdout] 190 | tx1.rollback().await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/main.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/main.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `time::Duration` [INFO] [stdout] --> src/main.rs:21:19 [INFO] [stdout] | [INFO] [stdout] 21 | use tokio::{self, time::Duration}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/main.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | e.description() [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2m 57s [INFO] running `Command { std: "docker" "inspect" "f4d4966aa9b96d81329a6112f0f450ed00392cd114970a13ca24bde62727caf7", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f4d4966aa9b96d81329a6112f0f450ed00392cd114970a13ca24bde62727caf7", kill_on_drop: false }` [INFO] [stdout] f4d4966aa9b96d81329a6112f0f450ed00392cd114970a13ca24bde62727caf7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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" "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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] e316508c1bdeac2ce28e3cbe3ad83035e274bca3da4865fd5666fdfc7ea1ae5a [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "e316508c1bdeac2ce28e3cbe3ad83035e274bca3da4865fd5666fdfc7ea1ae5a", kill_on_drop: false }` [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/database.rs:210:9 [INFO] [stdout] | [INFO] [stdout] 210 | let f = match tx [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `h` [INFO] [stdout] --> src/database.rs:233:9 [INFO] [stdout] | [INFO] [stdout] 233 | let h = match tx [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_h` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `NotFound` [INFO] [stdout] --> src/api/files.rs:20:3 [INFO] [stdout] | [INFO] [stdout] 20 | NotFound(PlainText), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/database.rs:190:9 [INFO] [stdout] | [INFO] [stdout] 190 | tx1.rollback().await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Compiling biominer-indexd v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/main.rs:1:1 [INFO] [stdout] | [INFO] [stdout] 1 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/main.rs:5:1 [INFO] [stdout] | [INFO] [stdout] 5 | #[macro_use] [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `time::Duration` [INFO] [stdout] --> src/main.rs:21:19 [INFO] [stdout] | [INFO] [stdout] 21 | use tokio::{self, time::Duration}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] ............gen impl CRUDTable: [INFO] [stdout] #[derive(Serialize, Deserialize, Debug, Eq, PartialEq, Clone, Object)] pub [INFO] [stdout] struct URL [INFO] [stdout] { [INFO] [stdout] pub id : u64, pub url : String, pub created_at : i64, pub status : String, [INFO] [stdout] pub uploader : String, [INFO] [stdout] } impl rbatis :: crud :: CRUDTable for URL [INFO] [stdout] { [INFO] [stdout] fn get(& self, column : & str) -> rbson :: Bson [INFO] [stdout] { [INFO] [stdout] return match column [INFO] [stdout] { [INFO] [stdout] "id" => [INFO] [stdout] { return rbson :: to_bson(& self.id).unwrap_or_default() ; } "url" [INFO] [stdout] => { return rbson :: to_bson(& self.url).unwrap_or_default() ; } [INFO] [stdout] "created_at" => [INFO] [stdout] { [INFO] [stdout] return rbson :: to_bson(& self.created_at).unwrap_or_default() [INFO] [stdout] ; [INFO] [stdout] } "status" => [INFO] [stdout] { return rbson :: to_bson(& self.status).unwrap_or_default() ; } [INFO] [stdout] "uploader" => [INFO] [stdout] { return rbson :: to_bson(& self.uploader).unwrap_or_default() ; } [INFO] [stdout] _ => { rbson :: Bson :: Null } [INFO] [stdout] } [INFO] [stdout] } fn table_name() -> String { "biominer_indexd_url".to_string() } fn [INFO] [stdout] table_columns() -> String [INFO] [stdout] { "id,url,created_at,status,uploader".to_string() } fn [INFO] [stdout] formats(driver_type : & rbatis :: core :: db :: DriverType) -> std :: [INFO] [stdout] collections :: HashMap < String, String > [INFO] [stdout] { [INFO] [stdout] let mut m : std :: collections :: HashMap < String, String > = std :: [INFO] [stdout] collections :: HashMap :: new() ; match driver_type [INFO] [stdout] { [INFO] [stdout] rbatis :: core :: db :: DriverType :: Mysql => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: Postgres => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: Sqlite => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: Mssql => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: None => { return m ; }, [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] ............gen impl CRUDTable end............ [INFO] [stdout] ............gen impl CRUDTable: [INFO] [stdout] #[derive(Serialize, Deserialize, Debug, Eq, PartialEq, Clone, Object)] pub [INFO] [stdout] struct Hash [INFO] [stdout] { [INFO] [stdout] #[oai(read_only)] pub id : u64, #[oai(validator(max_length = 16))] pub [INFO] [stdout] hash_type : String, #[oai(validator(max_length = 128))] pub hash : String, [INFO] [stdout] } impl rbatis :: crud :: CRUDTable for Hash [INFO] [stdout] { [INFO] [stdout] fn get(& self, column : & str) -> rbson :: Bson [INFO] [stdout] { [INFO] [stdout] return match column [INFO] [stdout] { [INFO] [stdout] "id" => [INFO] [stdout] { return rbson :: to_bson(& self.id).unwrap_or_default() ; } [INFO] [stdout] "hash_type" => [INFO] [stdout] { [INFO] [stdout] return rbson :: to_bson(& self.hash_type).unwrap_or_default() [INFO] [stdout] ; [INFO] [stdout] } "hash" => [INFO] [stdout] { return rbson :: to_bson(& self.hash).unwrap_or_default() ; } _ [INFO] [stdout] => { rbson :: Bson :: Null } [INFO] [stdout] } [INFO] [stdout] } fn table_name() -> String { "biominer_indexd_hash".to_string() } fn [INFO] [stdout] table_columns() -> String { "id,hash_type,hash".to_string() } fn [INFO] [stdout] formats(driver_type : & rbatis :: core :: db :: DriverType) -> std :: [INFO] [stdout] collections :: HashMap < String, String > [INFO] [stdout] { [INFO] [stdout] let mut m : std :: collections :: HashMap < String, String > = std :: [INFO] [stdout] collections :: HashMap :: new() ; match driver_type [INFO] [stdout] { [INFO] [stdout] rbatis :: core :: db :: DriverType :: Mysql => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: Postgres => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: Sqlite => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: Mssql => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: None => { return m ; }, [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] ............gen impl CRUDTable end............ [INFO] [stdout] ............gen impl CRUDTable: [INFO] [stdout] #[derive(Serialize, Deserialize, Debug, Eq, PartialEq, Clone, Object)] pub [INFO] [stdout] struct Alias [INFO] [stdout] { [INFO] [stdout] #[oai(read_only)] pub id : u64, #[oai(validator(max_length = 255))] pub [INFO] [stdout] name : String, [INFO] [stdout] } impl rbatis :: crud :: CRUDTable for Alias [INFO] [stdout] { [INFO] [stdout] fn get(& self, column : & str) -> rbson :: Bson [INFO] [stdout] { [INFO] [stdout] return match column [INFO] [stdout] { [INFO] [stdout] "id" => [INFO] [stdout] { return rbson :: to_bson(& self.id).unwrap_or_default() ; } [INFO] [stdout] "name" => [INFO] [stdout] { return rbson :: to_bson(& self.name).unwrap_or_default() ; } _ [INFO] [stdout] => { rbson :: Bson :: Null } [INFO] [stdout] } [INFO] [stdout] } fn table_name() -> String { "biominer_indexd_alias".to_string() } fn [INFO] [stdout] table_columns() -> String { "id,name".to_string() } fn [INFO] [stdout] formats(driver_type : & rbatis :: core :: db :: DriverType) -> std :: [INFO] [stdout] collections :: HashMap < String, String > [INFO] [stdout] { [INFO] [stdout] let mut m : std :: collections :: HashMap < String, String > = std :: [INFO] [stdout] collections :: HashMap :: new() ; match driver_type [INFO] [stdout] { [INFO] [stdout] rbatis :: core :: db :: DriverType :: Mysql => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: Postgres => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: Sqlite => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: Mssql => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: None => { return m ; }, [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] ............gen impl CRUDTable end............ [INFO] [stdout] ............gen impl CRUDTable: [INFO] [stdout] #[derive(Serialize, Deserialize, Debug, Eq, PartialEq, Clone, Object)] pub [INFO] [stdout] struct Config [INFO] [stdout] { [INFO] [stdout] #[oai(read_only)] pub id : u64, [INFO] [stdout] #[oai(validator(max_length = 16, pattern = "^[0-9a-z-]{16}$"))] pub [INFO] [stdout] registry_id : String, [INFO] [stdout] } impl rbatis :: crud :: CRUDTable for Config [INFO] [stdout] { [INFO] [stdout] fn get(& self, column : & str) -> rbson :: Bson [INFO] [stdout] { [INFO] [stdout] return match column [INFO] [stdout] { [INFO] [stdout] "id" => [INFO] [stdout] { return rbson :: to_bson(& self.id).unwrap_or_default() ; } [INFO] [stdout] "registry_id" => [INFO] [stdout] { [INFO] [stdout] return rbson :: [INFO] [stdout] to_bson(& self.registry_id).unwrap_or_default() ; [INFO] [stdout] } _ => { rbson :: Bson :: Null } [INFO] [stdout] } [INFO] [stdout] } fn table_name() -> String { "biominer_indexd_config".to_string() } fn [INFO] [stdout] table_columns() -> String { "id,registry_id".to_string() } fn [INFO] [stdout] formats(driver_type : & rbatis :: core :: db :: DriverType) -> std :: [INFO] [stdout] collections :: HashMap < String, String > [INFO] [stdout] { [INFO] [stdout] let mut m : std :: collections :: HashMap < String, String > = std :: [INFO] [stdout] collections :: HashMap :: new() ; match driver_type [INFO] [stdout] { [INFO] [stdout] rbatis :: core :: db :: DriverType :: Mysql => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: Postgres => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: Sqlite => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: Mssql => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: None => { return m ; }, [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] ............gen impl CRUDTable end............ [INFO] [stdout] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stdout] --> src/main.rs:46:9 [INFO] [stdout] | [INFO] [stdout] 46 | e.description() [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(deprecated)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] ............gen impl CRUDTable: [INFO] [stdout] #[derive(Serialize, Deserialize, Debug, Eq, PartialEq, Clone, Object)] pub [INFO] [stdout] struct File [INFO] [stdout] { [INFO] [stdout] pub guid : String, pub filename : String, pub size : u64, pub created_at : [INFO] [stdout] i64, pub updated_at : i64, pub status : String, pub baseid : String, pub [INFO] [stdout] rev : String, pub version : usize, pub uploader : String, pub urls : [INFO] [stdout] Option < Vec < URL >>, pub hashes : Option < Vec < Hash >>, pub aliases : [INFO] [stdout] Option < Vec < Alias >>, [INFO] [stdout] } impl rbatis :: crud :: CRUDTable for File [INFO] [stdout] { [INFO] [stdout] fn get(& self, column : & str) -> rbson :: Bson [INFO] [stdout] { [INFO] [stdout] return match column [INFO] [stdout] { [INFO] [stdout] "guid" => [INFO] [stdout] { return rbson :: to_bson(& self.guid).unwrap_or_default() ; } [INFO] [stdout] "filename" => [INFO] [stdout] { return rbson :: to_bson(& self.filename).unwrap_or_default() ; } [INFO] [stdout] "size" => [INFO] [stdout] { return rbson :: to_bson(& self.size).unwrap_or_default() ; } [INFO] [stdout] "created_at" => [INFO] [stdout] { [INFO] [stdout] return rbson :: to_bson(& self.created_at).unwrap_or_default() [INFO] [stdout] ; [INFO] [stdout] } "updated_at" => [INFO] [stdout] { [INFO] [stdout] return rbson :: to_bson(& self.updated_at).unwrap_or_default() [INFO] [stdout] ; [INFO] [stdout] } "status" => [INFO] [stdout] { return rbson :: to_bson(& self.status).unwrap_or_default() ; } [INFO] [stdout] "baseid" => [INFO] [stdout] { return rbson :: to_bson(& self.baseid).unwrap_or_default() ; } [INFO] [stdout] "rev" => [INFO] [stdout] { return rbson :: to_bson(& self.rev).unwrap_or_default() ; } [INFO] [stdout] "version" => [INFO] [stdout] { return rbson :: to_bson(& self.version).unwrap_or_default() ; } [INFO] [stdout] "uploader" => [INFO] [stdout] { return rbson :: to_bson(& self.uploader).unwrap_or_default() ; } [INFO] [stdout] "urls" => [INFO] [stdout] { return rbson :: to_bson(& self.urls).unwrap_or_default() ; } [INFO] [stdout] "hashes" => [INFO] [stdout] { return rbson :: to_bson(& self.hashes).unwrap_or_default() ; } [INFO] [stdout] "aliases" => [INFO] [stdout] { return rbson :: to_bson(& self.aliases).unwrap_or_default() ; } [INFO] [stdout] _ => { rbson :: Bson :: Null } [INFO] [stdout] } [INFO] [stdout] } fn table_name() -> String { "biominer_indexd_file".to_string() } fn [INFO] [stdout] table_columns() -> String [INFO] [stdout] { [INFO] [stdout] "guid,filename,size,created_at,updated_at,status,baseid,rev,version,uploader,urls,hashes,aliases".to_string() [INFO] [stdout] } fn formats(driver_type : & rbatis :: core :: db :: DriverType) -> std :: [INFO] [stdout] collections :: HashMap < String, String > [INFO] [stdout] { [INFO] [stdout] let mut m : std :: collections :: HashMap < String, String > = std :: [INFO] [stdout] collections :: HashMap :: new() ; match driver_type [INFO] [stdout] { [INFO] [stdout] rbatis :: core :: db :: DriverType :: Mysql => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: Postgres => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: Sqlite => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: Mssql => { return m ; }, [INFO] [stdout] rbatis :: core :: db :: DriverType :: None => { return m ; }, [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] } [INFO] [stdout] ............gen impl CRUDTable end............ [INFO] [stdout] gen return [INFO] [stdout] ............gen macro html_sql : [INFO] [stdout] pub async fn [INFO] [stdout] query_files(rb : & mut RbatisExecutor < '_, '_ >, page_req : & PageRequest, [INFO] [stdout] guid : & str, filename : & str, baseid : & str, status : & str, uploader : & [INFO] [stdout] str, hash : & str, alias : & str, url : & str, contain_alias : & usize, [INFO] [stdout] contain_url : & usize,) -> rbatis :: core :: Result < Page < File > > [INFO] [stdout] { [INFO] [stdout] let mut rb_arg_map = rbson :: Document :: new() ; [INFO] [stdout] rb_arg_map.insert("page_req".to_string(), rbson :: [INFO] [stdout] to_bson(page_req).unwrap_or_default()) ; [INFO] [stdout] rb_arg_map.insert("guid".to_string(), rbson :: [INFO] [stdout] to_bson(guid).unwrap_or_default()) ; [INFO] [stdout] rb_arg_map.insert("filename".to_string(), rbson :: [INFO] [stdout] to_bson(filename).unwrap_or_default()) ; [INFO] [stdout] rb_arg_map.insert("baseid".to_string(), rbson :: [INFO] [stdout] to_bson(baseid).unwrap_or_default()) ; [INFO] [stdout] rb_arg_map.insert("status".to_string(), rbson :: [INFO] [stdout] to_bson(status).unwrap_or_default()) ; [INFO] [stdout] rb_arg_map.insert("uploader".to_string(), rbson :: [INFO] [stdout] to_bson(uploader).unwrap_or_default()) ; [INFO] [stdout] rb_arg_map.insert("hash".to_string(), rbson :: [INFO] [stdout] to_bson(hash).unwrap_or_default()) ; [INFO] [stdout] rb_arg_map.insert("alias".to_string(), rbson :: [INFO] [stdout] to_bson(alias).unwrap_or_default()) ; [INFO] [stdout] rb_arg_map.insert("url".to_string(), rbson :: [INFO] [stdout] to_bson(url).unwrap_or_default()) ; [INFO] [stdout] rb_arg_map.insert("contain_alias".to_string(), rbson :: [INFO] [stdout] to_bson(contain_alias).unwrap_or_default()) ; [INFO] [stdout] rb_arg_map.insert("contain_url".to_string(), rbson :: [INFO] [stdout] to_bson(contain_url).unwrap_or_default()) ; {} use rbatis :: executor :: [INFO] [stdout] { RbatisRef } ; let driver_type = rb.get_rbatis().driver_type() ? ; use [INFO] [stdout] rbatis :: { rbatis_sql, AsSqlTag } ; let sql_tag = driver_type.sql_tag() ; [INFO] [stdout] #[rb_html("sql/query_files.xml")] pub fn [INFO] [stdout] query_files(arg : & rbson :: Bson, _tag : char) {} let(mut sql, rb_args) = [INFO] [stdout] query_files(& rbson :: Bson :: Document(rb_arg_map), sql_tag) ; [INFO] [stdout] driver_type.do_replace_tag(& mut sql) ; use rbatis :: crud :: [INFO] [stdout] { CRUD, CRUDMut } ; rb.fetch_page(& sql, rb_args, page_req).await [INFO] [stdout] } [INFO] [stdout] ............gen macro html_sql end............ [INFO] [stdout] try open file:sql/query_files.xml [INFO] [stdout] load html:[ [INFO] [stdout] { [INFO] [stdout] tag: "select", [INFO] [stdout] attributes: { [INFO] [stdout] "id": "query_files", [INFO] [stdout] }, [INFO] [stdout] childs: [ [INFO] [stdout] { [INFO] [stdout] data: "SELECT\n guid, filename, size, updated_at, baseid, rev, version,\n biominer_indexd_file.created_at as created_at,\n biominer_indexd_file.status as status,\n biominer_indexd_file.uploader as uploader,", [INFO] [stdout] }, [INFO] [stdout] { [INFO] [stdout] tag: "if", [INFO] [stdout] attributes: { [INFO] [stdout] "test": "contain_url != 0", [INFO] [stdout] }, [INFO] [stdout] childs: [ [INFO] [stdout] { [INFO] [stdout] data: "json_agg(DISTINCT biominer_indexd_url) as urls,", [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] }, [INFO] [stdout] { [INFO] [stdout] tag: "if", [INFO] [stdout] attributes: { [INFO] [stdout] "test": "contain_alias != 0", [INFO] [stdout] }, [INFO] [stdout] childs: [ [INFO] [stdout] { [INFO] [stdout] data: "json_agg(DISTINCT biominer_indexd_alias) as aliases,", [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] }, [INFO] [stdout] { [INFO] [stdout] data: "json_agg(DISTINCT biominer_indexd_hash) as hashes\n FROM\n biominer_indexd_file\n ${' '}", [INFO] [stdout] }, [INFO] [stdout] { [INFO] [stdout] tag: "if", [INFO] [stdout] attributes: { [INFO] [stdout] "test": "contain_url != 0", [INFO] [stdout] }, [INFO] [stdout] childs: [ [INFO] [stdout] { [INFO] [stdout] data: "JOIN biominer_indexd_url ON biominer_indexd_url.file = biominer_indexd_file.guid", [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] }, [INFO] [stdout] { [INFO] [stdout] tag: "if", [INFO] [stdout] attributes: { [INFO] [stdout] "test": "contain_alias != 0", [INFO] [stdout] }, [INFO] [stdout] childs: [ [INFO] [stdout] { [INFO] [stdout] data: "JOIN biominer_indexd_alias ON biominer_indexd_alias.file = biominer_indexd_file.guid", [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] }, [INFO] [stdout] { [INFO] [stdout] data: "JOIN biominer_indexd_hash ON biominer_indexd_hash.file = biominer_indexd_file.guid\n ${' '}", [INFO] [stdout] }, [INFO] [stdout] { [INFO] [stdout] tag: "where", [INFO] [stdout] childs: [ [INFO] [stdout] { [INFO] [stdout] tag: "if", [INFO] [stdout] attributes: { [INFO] [stdout] "test": "filename != null && filename != ''", [INFO] [stdout] }, [INFO] [stdout] childs: [ [INFO] [stdout] { [INFO] [stdout] data: "filename LIKE CONCAT('%', #{filename}, '%')", [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] }, [INFO] [stdout] { [INFO] [stdout] tag: "if", [INFO] [stdout] attributes: { [INFO] [stdout] "test": "guid != null && guid != ''", [INFO] [stdout] }, [INFO] [stdout] childs: [ [INFO] [stdout] { [INFO] [stdout] data: "and guid = #{guid}", [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] }, [INFO] [stdout] { [INFO] [stdout] tag: "if", [INFO] [stdout] attributes: { [INFO] [stdout] "test": "baseid != null && baseid != ''", [INFO] [stdout] }, [INFO] [stdout] childs: [ [INFO] [stdout] { [INFO] [stdout] data: "and baseid = #{baseid}", [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] }, [INFO] [stdout] { [INFO] [stdout] tag: "if", [INFO] [stdout] attributes: { [INFO] [stdout] "test": "status != null && status != ''", [INFO] [stdout] }, [INFO] [stdout] childs: [ [INFO] [stdout] { [INFO] [stdout] data: "and biominer_indexd_file.status = #{status}", [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] }, [INFO] [stdout] { [INFO] [stdout] tag: "if", [INFO] [stdout] attributes: { [INFO] [stdout] "test": "uploader != null && uploader != ''", [INFO] [stdout] }, [INFO] [stdout] childs: [ [INFO] [stdout] { [INFO] [stdout] data: "and biominer_indexd_file.uploader = #{uploader}", [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] }, [INFO] [stdout] { [INFO] [stdout] tag: "if", [INFO] [stdout] attributes: { [INFO] [stdout] "test": "hash != null && hash != ''", [INFO] [stdout] }, [INFO] [stdout] childs: [ [INFO] [stdout] { [INFO] [stdout] data: "and biominer_indexd_hash.hash = #{hash}", [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] }, [INFO] [stdout] { [INFO] [stdout] tag: "if", [INFO] [stdout] attributes: { [INFO] [stdout] "test": "contain_alias != 0 && alias != null && alias != ''", [INFO] [stdout] }, [INFO] [stdout] childs: [ [INFO] [stdout] { [INFO] [stdout] data: "and biominer_indexd_alias.name = #{alias}", [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] }, [INFO] [stdout] { [INFO] [stdout] tag: "if", [INFO] [stdout] attributes: { [INFO] [stdout] "test": "contain_url != 0 && url != null && url != ''", [INFO] [stdout] }, [INFO] [stdout] childs: [ [INFO] [stdout] { [INFO] [stdout] data: "and biominer_indexd_url.url = #{url}", [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] }, [INFO] [stdout] { [INFO] [stdout] data: "${' '}\n GROUP BY guid", [INFO] [stdout] }, [INFO] [stdout] ], [INFO] [stdout] }, [INFO] [stdout] ] [INFO] [stdout] ............gen macro xml: [INFO] [stdout] use rbatis_sql :: ops :: * ; pub fn [INFO] [stdout] query_files(arg : & rbson :: Bson, _tag : char) -> [INFO] [stdout] (String, Vec < rbson :: Bson >) [INFO] [stdout] { [INFO] [stdout] use rbatis_sql :: ops :: AsProxy ; let mut sql = String :: [INFO] [stdout] with_capacity(1000) ; let mut args = Vec :: with_capacity(20) ; [INFO] [stdout] sql.push_str("SELECT\n guid, filename, size, updated_at, baseid, rev, version,\n biominer_indexd_file.created_at as created_at,\n biominer_indexd_file.status as status,\n biominer_indexd_file.uploader as uploader,") [INFO] [stdout] ; let Y29udGFpbl91cmwgIT0gMA__ = [INFO] [stdout] { let result = { (arg.index("contain_url")).op_ne(& 0i64) } ; result } ; [INFO] [stdout] if Y29udGFpbl91cmwgIT0gMA__ [INFO] [stdout] { [INFO] [stdout] sql.push_str(" ") ; [INFO] [stdout] sql.push_str("json_agg(DISTINCT biominer_indexd_url) as urls,") ; [INFO] [stdout] sql.push_str(" ") ; [INFO] [stdout] } let Y29udGFpbl9hbGlhcyAhPSAw = [INFO] [stdout] { let result = { (arg.index("contain_alias")).op_ne(& 0i64) } ; result } ; [INFO] [stdout] if Y29udGFpbl9hbGlhcyAhPSAw [INFO] [stdout] { [INFO] [stdout] sql.push_str(" ") ; [INFO] [stdout] sql.push_str("json_agg(DISTINCT biominer_indexd_alias) as aliases,") ; [INFO] [stdout] sql.push_str(" ") ; [INFO] [stdout] } let c2VsZWN0OicgJw__ = { let result = { " " } ; result } ; [INFO] [stdout] sql.push_str("json_agg(DISTINCT biominer_indexd_hash) as hashes\n FROM\n biominer_indexd_file\n ${\' \'}".replacen("${\' \'}", [INFO] [stdout] & c2VsZWN0OicgJw__.as_sql(), 1).as_str()) ; let Y29udGFpbl91cmwgIT0gMA__ = [INFO] [stdout] { let result = { (arg.index("contain_url")).op_ne(& 0i64) } ; result } ; [INFO] [stdout] if Y29udGFpbl91cmwgIT0gMA__ [INFO] [stdout] { [INFO] [stdout] sql.push_str(" ") ; [INFO] [stdout] sql.push_str("JOIN biominer_indexd_url ON biominer_indexd_url.file = biominer_indexd_file.guid") [INFO] [stdout] ; sql.push_str(" ") ; [INFO] [stdout] } let Y29udGFpbl9hbGlhcyAhPSAw = [INFO] [stdout] { let result = { (arg.index("contain_alias")).op_ne(& 0i64) } ; result } ; [INFO] [stdout] if Y29udGFpbl9hbGlhcyAhPSAw [INFO] [stdout] { [INFO] [stdout] sql.push_str(" ") ; [INFO] [stdout] sql.push_str("JOIN biominer_indexd_alias ON biominer_indexd_alias.file = biominer_indexd_file.guid") [INFO] [stdout] ; sql.push_str(" ") ; [INFO] [stdout] } let c2VsZWN0OicgJw__ = { let result = { " " } ; result } ; [INFO] [stdout] sql.push_str("JOIN biominer_indexd_hash ON biominer_indexd_hash.file = biominer_indexd_file.guid\n ${\' \'}".replacen("${\' \'}", [INFO] [stdout] & c2VsZWN0OicgJw__.as_sql(), 1).as_str()) ; sql.push_str(" where ") ; [INFO] [stdout] sql.push_str(& [INFO] [stdout] { [INFO] [stdout] let mut sql = String :: new() ; let [INFO] [stdout] ZmlsZW5hbWUgIT0gbnVsbCAmJiBmaWxlbmFtZSAhPSAnJw__ = [INFO] [stdout] { [INFO] [stdout] let result = [INFO] [stdout] { [INFO] [stdout] bool :: [INFO] [stdout] op_from((arg.index("filename")).op_ne(& rbson :: Bson :: [INFO] [stdout] Null)) && bool :: op_from((arg.index("filename")).op_ne(& "")) [INFO] [stdout] } ; result [INFO] [stdout] } ; if ZmlsZW5hbWUgIT0gbnVsbCAmJiBmaWxlbmFtZSAhPSAnJw__ [INFO] [stdout] { [INFO] [stdout] sql.push_str(" ") ; let c2VsZWN0OndoZXJlOnRyaW06ZmlsZW5hbWU_ = [INFO] [stdout] { let result = { arg.index("filename") } ; result } ; [INFO] [stdout] args.push(rbson :: bson! (c2VsZWN0OndoZXJlOnRyaW06ZmlsZW5hbWU_)) ; [INFO] [stdout] sql.push_str("filename LIKE CONCAT(\'%\', ?, \'%\')") ; [INFO] [stdout] sql.push_str(" ") ; [INFO] [stdout] } let Z3VpZCAhPSBudWxsICYmIGd1aWQgIT0gJyc_ = [INFO] [stdout] { [INFO] [stdout] let result = [INFO] [stdout] { [INFO] [stdout] bool :: [INFO] [stdout] op_from((arg.index("guid")).op_ne(& rbson :: Bson :: Null)) && [INFO] [stdout] bool :: op_from((arg.index("guid")).op_ne(& "")) [INFO] [stdout] } ; result [INFO] [stdout] } ; if Z3VpZCAhPSBudWxsICYmIGd1aWQgIT0gJyc_ [INFO] [stdout] { [INFO] [stdout] sql.push_str(" ") ; let c2VsZWN0OndoZXJlOnRyaW06Z3VpZA__ = [INFO] [stdout] { let result = { arg.index("guid") } ; result } ; [INFO] [stdout] args.push(rbson :: bson! (c2VsZWN0OndoZXJlOnRyaW06Z3VpZA__)) ; [INFO] [stdout] sql.push_str("and guid = ?") ; sql.push_str(" ") ; [INFO] [stdout] } let YmFzZWlkICE9IG51bGwgJiYgYmFzZWlkICE9ICcn = [INFO] [stdout] { [INFO] [stdout] let result = [INFO] [stdout] { [INFO] [stdout] bool :: [INFO] [stdout] op_from((arg.index("baseid")).op_ne(& rbson :: Bson :: Null)) [INFO] [stdout] && bool :: op_from((arg.index("baseid")).op_ne(& "")) [INFO] [stdout] } ; result [INFO] [stdout] } ; if YmFzZWlkICE9IG51bGwgJiYgYmFzZWlkICE9ICcn [INFO] [stdout] { [INFO] [stdout] sql.push_str(" ") ; let c2VsZWN0OndoZXJlOnRyaW06YmFzZWlk = [INFO] [stdout] { let result = { arg.index("baseid") } ; result } ; [INFO] [stdout] args.push(rbson :: bson! (c2VsZWN0OndoZXJlOnRyaW06YmFzZWlk)) ; [INFO] [stdout] sql.push_str("and baseid = ?") ; sql.push_str(" ") ; [INFO] [stdout] } let c3RhdHVzICE9IG51bGwgJiYgc3RhdHVzICE9ICcn = [INFO] [stdout] { [INFO] [stdout] let result = [INFO] [stdout] { [INFO] [stdout] bool :: [INFO] [stdout] op_from((arg.index("status")).op_ne(& rbson :: Bson :: Null)) [INFO] [stdout] && bool :: op_from((arg.index("status")).op_ne(& "")) [INFO] [stdout] } ; result [INFO] [stdout] } ; if c3RhdHVzICE9IG51bGwgJiYgc3RhdHVzICE9ICcn [INFO] [stdout] { [INFO] [stdout] sql.push_str(" ") ; let c2VsZWN0OndoZXJlOnRyaW06c3RhdHVz = [INFO] [stdout] { let result = { arg.index("status") } ; result } ; [INFO] [stdout] args.push(rbson :: bson! (c2VsZWN0OndoZXJlOnRyaW06c3RhdHVz)) ; [INFO] [stdout] sql.push_str("and biominer_indexd_file.status = ?") ; [INFO] [stdout] sql.push_str(" ") ; [INFO] [stdout] } let dXBsb2FkZXIgIT0gbnVsbCAmJiB1cGxvYWRlciAhPSAnJw__ = [INFO] [stdout] { [INFO] [stdout] let result = [INFO] [stdout] { [INFO] [stdout] bool :: [INFO] [stdout] op_from((arg.index("uploader")).op_ne(& rbson :: Bson :: [INFO] [stdout] Null)) && bool :: op_from((arg.index("uploader")).op_ne(& "")) [INFO] [stdout] } ; result [INFO] [stdout] } ; if dXBsb2FkZXIgIT0gbnVsbCAmJiB1cGxvYWRlciAhPSAnJw__ [INFO] [stdout] { [INFO] [stdout] sql.push_str(" ") ; let c2VsZWN0OndoZXJlOnRyaW06dXBsb2FkZXI_ = [INFO] [stdout] { let result = { arg.index("uploader") } ; result } ; [INFO] [stdout] args.push(rbson :: bson! (c2VsZWN0OndoZXJlOnRyaW06dXBsb2FkZXI_)) ; [INFO] [stdout] sql.push_str("and biominer_indexd_file.uploader = ?") ; [INFO] [stdout] sql.push_str(" ") ; [INFO] [stdout] } let aGFzaCAhPSBudWxsICYmIGhhc2ggIT0gJyc_ = [INFO] [stdout] { [INFO] [stdout] let result = [INFO] [stdout] { [INFO] [stdout] bool :: [INFO] [stdout] op_from((arg.index("hash")).op_ne(& rbson :: Bson :: Null)) && [INFO] [stdout] bool :: op_from((arg.index("hash")).op_ne(& "")) [INFO] [stdout] } ; result [INFO] [stdout] } ; if aGFzaCAhPSBudWxsICYmIGhhc2ggIT0gJyc_ [INFO] [stdout] { [INFO] [stdout] sql.push_str(" ") ; let c2VsZWN0OndoZXJlOnRyaW06aGFzaA__ = [INFO] [stdout] { let result = { arg.index("hash") } ; result } ; [INFO] [stdout] args.push(rbson :: bson! (c2VsZWN0OndoZXJlOnRyaW06aGFzaA__)) ; [INFO] [stdout] sql.push_str("and biominer_indexd_hash.hash = ?") ; [INFO] [stdout] sql.push_str(" ") ; [INFO] [stdout] } let [INFO] [stdout] Y29udGFpbl9hbGlhcyAhPSAwICYmIGFsaWFzICE9IG51bGwgJiYgYWxpYXMgIT0gJyc_ = [INFO] [stdout] { [INFO] [stdout] let result = [INFO] [stdout] { [INFO] [stdout] bool :: [INFO] [stdout] op_from(bool :: [INFO] [stdout] op_from((arg.index("contain_alias")).op_ne(& 0i64)) && bool :: [INFO] [stdout] op_from((arg.index("alias")).op_ne(& rbson :: Bson :: Null))) [INFO] [stdout] && bool :: op_from((arg.index("alias")).op_ne(& "")) [INFO] [stdout] } ; result [INFO] [stdout] } ; if [INFO] [stdout] Y29udGFpbl9hbGlhcyAhPSAwICYmIGFsaWFzICE9IG51bGwgJiYgYWxpYXMgIT0gJyc_ [INFO] [stdout] { [INFO] [stdout] sql.push_str(" ") ; let c2VsZWN0OndoZXJlOnRyaW06YWxpYXM_ = [INFO] [stdout] { let result = { arg.index("alias") } ; result } ; [INFO] [stdout] args.push(rbson :: bson! (c2VsZWN0OndoZXJlOnRyaW06YWxpYXM_)) ; [INFO] [stdout] sql.push_str("and biominer_indexd_alias.name = ?") ; [INFO] [stdout] sql.push_str(" ") ; [INFO] [stdout] } let Y29udGFpbl91cmwgIT0gMCAmJiB1cmwgIT0gbnVsbCAmJiB1cmwgIT0gJyc_ = [INFO] [stdout] { [INFO] [stdout] let result = [INFO] [stdout] { [INFO] [stdout] bool :: [INFO] [stdout] op_from(bool :: [INFO] [stdout] op_from((arg.index("contain_url")).op_ne(& 0i64)) && bool :: [INFO] [stdout] op_from((arg.index("url")).op_ne(& rbson :: Bson :: Null))) && [INFO] [stdout] bool :: op_from((arg.index("url")).op_ne(& "")) [INFO] [stdout] } ; result [INFO] [stdout] } ; if Y29udGFpbl91cmwgIT0gMCAmJiB1cmwgIT0gbnVsbCAmJiB1cmwgIT0gJyc_ [INFO] [stdout] { [INFO] [stdout] sql.push_str(" ") ; let c2VsZWN0OndoZXJlOnRyaW06dXJs = [INFO] [stdout] { let result = { arg.index("url") } ; result } ; [INFO] [stdout] args.push(rbson :: bson! (c2VsZWN0OndoZXJlOnRyaW06dXJs)) ; [INFO] [stdout] sql.push_str("and biominer_indexd_url.url = ?") ; [INFO] [stdout] sql.push_str(" ") ; [INFO] [stdout] } sql = [INFO] [stdout] sql.trim_start_matches(" ").trim_start_matches("and ").trim_start_matches("or ").trim_end_matches(" ").trim_end_matches(" and").trim_end_matches(" or").to_string() [INFO] [stdout] ; sql [INFO] [stdout] }) ; sql.push_str(" ") ; sql = sql.trim_end().to_string() ; sql = [INFO] [stdout] sql.trim_end_matches(" where").to_string() ; let c2VsZWN0OicgJw__ = [INFO] [stdout] { let result = { " " } ; result } ; [INFO] [stdout] sql.push_str("${\' \'}\n GROUP BY guid".replacen("${\' \'}", & [INFO] [stdout] c2VsZWN0OicgJw__.as_sql(), 1).as_str()) ; rbatis_sql :: sql_index! [INFO] [stdout] (sql, _tag) ; return(sql, args) ; [INFO] [stdout] } fn _include_query_files() [INFO] [stdout] { let _ = include_str! ("/opt/rustwide/workdir/sql/query_files.xml") ; } [INFO] [stdout] ............gen macro xml end............ [INFO] [stdout] warning: unused variable: `f` [INFO] [stdout] --> src/database.rs:210:9 [INFO] [stdout] | [INFO] [stdout] 210 | let f = match tx [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `h` [INFO] [stdout] --> src/database.rs:233:9 [INFO] [stdout] | [INFO] [stdout] 233 | let h = match tx [INFO] [stdout] | ^ help: if this is intentional, prefix it with an underscore: `_h` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `msg` [INFO] [stdout] --> src/database.rs:381:11 [INFO] [stdout] | [INFO] [stdout] 381 | Err(msg) => "postgres://postgres:password@localhost:5432/test_biominer_indexd".to_string(), [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variant is never constructed: `NotFound` [INFO] [stdout] --> src/api/files.rs:20:3 [INFO] [stdout] | [INFO] [stdout] 20 | NotFound(PlainText), [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> src/database.rs:190:9 [INFO] [stdout] | [INFO] [stdout] 190 | tx1.rollback().await; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 5 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 8.60s [INFO] [stderr] Executable unittests src/lib.rs (/opt/rustwide/target/debug/deps/biominer_indexd-0784b9e4f1060dd6) [INFO] [stderr] Executable unittests src/main.rs (/opt/rustwide/target/debug/deps/biominer_indexd-50318fcf68a33b40) [INFO] running `Command { std: "docker" "inspect" "e316508c1bdeac2ce28e3cbe3ad83035e274bca3da4865fd5666fdfc7ea1ae5a", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e316508c1bdeac2ce28e3cbe3ad83035e274bca3da4865fd5666fdfc7ea1ae5a", kill_on_drop: false }` [INFO] [stdout] e316508c1bdeac2ce28e3cbe3ad83035e274bca3da4865fd5666fdfc7ea1ae5a [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/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" "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:eaef2f80f755933c374d2ae5edccceec0c1312ceb8a4e0b6404e8ab76561e1e5" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2022-04-10" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 4fffb96e4174f82d29e224d5c492b88a2b29eb8127d79316b3a794aeaf2fe4c6 [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] running `Command { std: "docker" "start" "-a" "4fffb96e4174f82d29e224d5c492b88a2b29eb8127d79316b3a794aeaf2fe4c6", kill_on_drop: false }` [INFO] [stderr] warning: unused variable: `f` [INFO] [stderr] --> src/database.rs:210:9 [INFO] [stderr] | [INFO] [stderr] 210 | let f = match tx [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_f` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `h` [INFO] [stderr] --> src/database.rs:233:9 [INFO] [stderr] | [INFO] [stderr] 233 | let h = match tx [INFO] [stderr] | ^ help: if this is intentional, prefix it with an underscore: `_h` [INFO] [stderr] [INFO] [stderr] warning: variant is never constructed: `NotFound` [INFO] [stderr] --> src/api/files.rs:20:3 [INFO] [stderr] | [INFO] [stderr] 20 | NotFound(PlainText), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `Result` that must be used [INFO] [stderr] --> src/database.rs:190:9 [INFO] [stderr] | [INFO] [stderr] 190 | tx1.rollback().await; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_must_use)]` on by default [INFO] [stderr] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stderr] [INFO] [stderr] warning: unused variable: `msg` [INFO] [stderr] --> src/database.rs:381:11 [INFO] [stderr] | [INFO] [stderr] 381 | Err(msg) => "postgres://postgres:password@localhost:5432/test_biominer_indexd".to_string(), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_msg` [INFO] [stderr] [INFO] [stderr] warning: `biominer-indexd` (lib) generated 4 warnings [INFO] [stderr] warning: `biominer-indexd` (lib test) generated 5 warnings (4 duplicates) [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/main.rs:1:1 [INFO] [stderr] | [INFO] [stderr] 1 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused `#[macro_use]` import [INFO] [stderr] --> src/main.rs:5:1 [INFO] [stderr] | [INFO] [stderr] 5 | #[macro_use] [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `time::Duration` [INFO] [stderr] --> src/main.rs:21:19 [INFO] [stderr] | [INFO] [stderr] 21 | use tokio::{self, time::Duration}; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: use of deprecated associated function `std::error::Error::description`: use the Display impl or to_string() [INFO] [stderr] --> src/main.rs:46:9 [INFO] [stderr] | [INFO] [stderr] 46 | e.description() [INFO] [stderr] | ^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(deprecated)]` on by default [INFO] [stderr] [INFO] [stderr] warning: `biominer-indexd` (bin "biominer-indexd" test) generated 4 warnings [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.18s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/biominer_indexd-0784b9e4f1060dd6) [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test database::tests::test_query_file ... FAILED [INFO] [stdout] test database::tests::test_query_files ... FAILED [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] [INFO] [stdout] ---- database::tests::test_query_file stdout ---- [INFO] [stdout] thread 'database::tests::test_query_file' panicked at 'called `Result::unwrap()` on an `Err` value: Database("error communicating with database: Cannot assign requested address (os error 99)")', src/database.rs:369:32 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5587d41a96fd - std::backtrace_rs::backtrace::libunwind::trace::ha359b7f0090e2792 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5 [INFO] [stdout] 1: 0x5587d41a96fd - std::backtrace_rs::backtrace::trace_unsynchronized::h0584631f25c1d70e [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x5587d41a96fd - std::sys_common::backtrace::_print_fmt::hdadffd97d279ff14 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/sys_common/backtrace.rs:66:5 [INFO] [stdout] 3: 0x5587d41a96fd - ::fmt::h26f189e611080a74 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/sys_common/backtrace.rs:45:22 [INFO] [stdout] 4: 0x5587d41ce1fc - core::fmt::write::hfb5d11dfe037e8b7 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/core/src/fmt/mod.rs:1194:17 [INFO] [stdout] 5: 0x5587d41a4101 - std::io::Write::write_fmt::h6a24ec64406df9e2 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/io/mod.rs:1655:15 [INFO] [stdout] 6: 0x5587d41ab525 - std::sys_common::backtrace::_print::h7a0e44402913ba60 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/sys_common/backtrace.rs:48:5 [INFO] [stdout] 7: 0x5587d41ab525 - std::sys_common::backtrace::print::h9767dc455a84e728 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/sys_common/backtrace.rs:35:9 [INFO] [stdout] 8: 0x5587d41ab525 - std::panicking::default_hook::{{closure}}::h60afd6c8b12988ad [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/panicking.rs:295:22 [INFO] [stdout] 9: 0x5587d41ab214 - std::panicking::default_hook::ha7b9bac6813f9d21 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/panicking.rs:311:9 [INFO] [stdout] 10: 0x5587d41aba72 - std::panicking::rust_panic_with_hook::h7b117a162a6f8664 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/panicking.rs:698:17 [INFO] [stdout] 11: 0x5587d41ab957 - std::panicking::begin_panic_handler::{{closure}}::h346750923c608600 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/panicking.rs:588:13 [INFO] [stdout] 12: 0x5587d41a9bb4 - std::sys_common::backtrace::__rust_end_short_backtrace::h768c56c6a0c055c0 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/sys_common/backtrace.rs:138:18 [INFO] [stdout] 13: 0x5587d41ab689 - rust_begin_unwind [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/panicking.rs:584:5 [INFO] [stdout] 14: 0x5587d397aab3 - core::panicking::panic_fmt::h5c41cb2fa118fdbc [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/core/src/panicking.rs:143:14 [INFO] [stdout] 15: 0x5587d397aba3 - core::result::unwrap_failed::h6bc7b183ec719494 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/core/src/result.rs:1785:5 [INFO] [stdout] 16: 0x5587d39c9412 - core::result::Result::unwrap::h1eb950637478d209 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/core/src/result.rs:1078:23 [INFO] [stdout] 17: 0x5587d397fb5a - biominer_indexd::database::init_rbatis::{{closure}}::h980178d09b52fc18 [INFO] [stdout] at /opt/rustwide/workdir/src/database.rs:369:3 [INFO] [stdout] 18: 0x5587d39f8839 - as core::future::future::Future>::poll::hd52bc7f3ff63150d [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/core/src/future/mod.rs:91:19 [INFO] [stdout] 19: 0x5587d39daaf2 - biominer_indexd::database::tests::init::{{closure}}::h7de05807fe38f40f [INFO] [stdout] at /opt/rustwide/workdir/src/database.rs:384:38 [INFO] [stdout] 20: 0x5587d39f74f9 - as core::future::future::Future>::poll::h43cdaf69c6c4bff8 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/core/src/future/mod.rs:91:19 [INFO] [stdout] 21: 0x5587d39db9b5 - biominer_indexd::database::tests::test_query_file::{{closure}}::hc84199017b7cfac4 [INFO] [stdout] at /opt/rustwide/workdir/src/database.rs:412:20 [INFO] [stdout] 22: 0x5587d39f7fdb - as core::future::future::Future>::poll::ha45ed12c90d970e4 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/core/src/future/mod.rs:91:19 [INFO] [stdout] 23: 0x5587d39b836a - as core::future::future::Future>::poll::he1aaef63acee5f90 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/core/src/future/future.rs:124:9 [INFO] [stdout] 24: 0x5587d39ed970 - tokio::runtime::basic_scheduler::CoreGuard::block_on::{{closure}}::{{closure}}::{{closure}}::h7b01621cf7e8dcfb [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/tokio-1.17.0/src/runtime/basic_scheduler.rs:498:48 [INFO] [stdout] 25: 0x5587d39d1aa0 - tokio::coop::with_budget::{{closure}}::h72c8f47c49f530e3 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/tokio-1.17.0/src/coop.rs:102:9 [INFO] [stdout] 26: 0x5587d39b9af6 - std::thread::local::LocalKey::try_with::h9d362b08b2bf86eb [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/thread/local.rs:442:16 [INFO] [stdout] 27: 0x5587d39b8efd - std::thread::local::LocalKey::with::h23763b63b9ec2cdf [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/thread/local.rs:418:9 [INFO] [stdout] 28: 0x5587d39ed8fc - tokio::coop::with_budget::h566da28e530eeba4 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/tokio-1.17.0/src/coop.rs:95:5 [INFO] [stdout] 29: 0x5587d39ed8fc - tokio::coop::budget::h4e00edd888c6f1bd [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/tokio-1.17.0/src/coop.rs:72:5 [INFO] [stdout] 30: 0x5587d39ed8fc - tokio::runtime::basic_scheduler::CoreGuard::block_on::{{closure}}::{{closure}}::hf067929c7cdcb2c6 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/tokio-1.17.0/src/runtime/basic_scheduler.rs:498:25 [INFO] [stdout] 31: 0x5587d39eadc2 - tokio::runtime::basic_scheduler::Context::enter::h8c405f5a55c17438 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/tokio-1.17.0/src/runtime/basic_scheduler.rs:356:19 [INFO] [stdout] 32: 0x5587d39eca30 - tokio::runtime::basic_scheduler::CoreGuard::block_on::{{closure}}::h4a5ea0e2856f2eb3 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/tokio-1.17.0/src/runtime/basic_scheduler.rs:497:36 [INFO] [stdout] 33: 0x5587d39ec6fb - tokio::runtime::basic_scheduler::CoreGuard::enter::{{closure}}::hca05ed0c9ac18a36 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/tokio-1.17.0/src/runtime/basic_scheduler.rs:555:57 [INFO] [stdout] 34: 0x5587d3a023a7 - tokio::macros::scoped_tls::ScopedKey::set::he49a343cd1a086bb [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/tokio-1.17.0/src/macros/scoped_tls.rs:61:9 [INFO] [stdout] 35: 0x5587d39ec0a7 - tokio::runtime::basic_scheduler::CoreGuard::enter::h06f1ba8b02ac9840 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/tokio-1.17.0/src/runtime/basic_scheduler.rs:555:27 [INFO] [stdout] 36: 0x5587d39ec750 - tokio::runtime::basic_scheduler::CoreGuard::block_on::h55b07737c1bf9519 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/tokio-1.17.0/src/runtime/basic_scheduler.rs:488:9 [INFO] [stdout] 37: 0x5587d39e9bef - tokio::runtime::basic_scheduler::BasicScheduler::block_on::h33061b0818b3b78b [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/tokio-1.17.0/src/runtime/basic_scheduler.rs:168:24 [INFO] [stdout] 38: 0x5587d3a0326e - tokio::runtime::Runtime::block_on::h7a5e4b88afbec9b5 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/tokio-1.17.0/src/runtime/mod.rs:475:46 [INFO] [stdout] 39: 0x5587d39db6f9 - biominer_indexd::database::tests::test_query_file::h7454c4b58dceffe8 [INFO] [stdout] at /opt/rustwide/workdir/src/database.rs:417:5 [INFO] [stdout] 40: 0x5587d39db59a - biominer_indexd::database::tests::test_query_file::{{closure}}::h7fe33714d88adab2 [INFO] [stdout] at /opt/rustwide/workdir/src/database.rs:411:9 [INFO] [stdout] 41: 0x5587d3a0cafe - core::ops::function::FnOnce::call_once::haf90fb15eb4f310a [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 42: 0x5587d3a56fc3 - core::ops::function::FnOnce::call_once::h018fc248431ce8de [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 43: 0x5587d3a56fc3 - test::__rust_begin_short_backtrace::h293b982b6069d6e3 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/test/src/lib.rs:574:5 [INFO] [stdout] 44: 0x5587d3a55d79 - as core::ops::function::FnOnce>::call_once::h4fc1be1a762c7a46 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/alloc/src/boxed.rs:1861:9 [INFO] [stdout] 45: 0x5587d3a55d79 - as core::ops::function::FnOnce<()>>::call_once::hd44623ec51b9e897 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 46: 0x5587d3a55d79 - std::panicking::try::do_call::ha8cfa4b025f5b832 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/panicking.rs:492:40 [INFO] [stdout] 47: 0x5587d3a55d79 - std::panicking::try::h664f75e41c112145 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/panicking.rs:456:19 [INFO] [stdout] 48: 0x5587d3a55d79 - std::panic::catch_unwind::h4932ec05cd60558e [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/panic.rs:137:14 [INFO] [stdout] 49: 0x5587d3a55d79 - test::run_test_in_process::ha14a47756671755c [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/test/src/lib.rs:597:18 [INFO] [stdout] 50: 0x5587d3a55d79 - test::run_test::run_test_inner::{{closure}}::h0ec9e37c8f67b62d [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/test/src/lib.rs:491:39 [INFO] [stdout] 51: 0x5587d3a21f2e - test::run_test::run_test_inner::{{closure}}::hd9d2e7f26d4f59e6 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/test/src/lib.rs:518:37 [INFO] [stdout] 52: 0x5587d3a21f2e - std::sys_common::backtrace::__rust_begin_short_backtrace::h41c0a39fac5123f8 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/sys_common/backtrace.rs:122:18 [INFO] [stdout] 53: 0x5587d3a27498 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h69a02ca0bebb6eeb [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/thread/mod.rs:498:17 [INFO] [stdout] 54: 0x5587d3a27498 - as core::ops::function::FnOnce<()>>::call_once::hdd05632920ce689b [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 55: 0x5587d3a27498 - std::panicking::try::do_call::hb4947142729b90fd [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/panicking.rs:492:40 [INFO] [stdout] 56: 0x5587d3a27498 - std::panicking::try::h15a7e9b8394e6878 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/panicking.rs:456:19 [INFO] [stdout] 57: 0x5587d3a27498 - std::panic::catch_unwind::hbd3f4a3f9df49b85 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/panic.rs:137:14 [INFO] [stdout] 58: 0x5587d3a27498 - std::thread::Builder::spawn_unchecked_::{{closure}}::h880b5d5f1b9799f4 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/thread/mod.rs:497:30 [INFO] [stdout] 59: 0x5587d3a27498 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h304d5eaf401f5061 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 60: 0x5587d41b0653 - as core::ops::function::FnOnce>::call_once::hdba7f2afed0c35b3 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/alloc/src/boxed.rs:1861:9 [INFO] [stdout] 61: 0x5587d41b0653 - as core::ops::function::FnOnce>::call_once::h38b0832765bf7961 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/alloc/src/boxed.rs:1861:9 [INFO] [stdout] 62: 0x5587d41b0653 - std::sys::unix::thread::Thread::new::thread_start::h70236dc17753425e [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/sys/unix/thread.rs:108:17 [INFO] [stdout] 63: 0x7f757059d609 - start_thread [INFO] [stdout] 64: 0x7f757036d163 - clone [INFO] [stdout] 65: 0x0 - [INFO] [stdout] [INFO] [stdout] ---- database::tests::test_query_files stdout ---- [INFO] [stdout] thread 'database::tests::test_query_files' panicked at 'called `Result::unwrap()` on an `Err` value: Database("error communicating with database: Cannot assign requested address (os error 99)")', src/database.rs:369:32 [INFO] [stdout] stack backtrace: [INFO] [stdout] 0: 0x5587d41a96fd - std::backtrace_rs::backtrace::libunwind::trace::ha359b7f0090e2792 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5 [INFO] [stdout] 1: 0x5587d41a96fd - std::backtrace_rs::backtrace::trace_unsynchronized::h0584631f25c1d70e [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5 [INFO] [stdout] 2: 0x5587d41a96fd - std::sys_common::backtrace::_print_fmt::hdadffd97d279ff14 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/sys_common/backtrace.rs:66:5 [INFO] [stdout] 3: 0x5587d41a96fd - ::fmt::h26f189e611080a74 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/sys_common/backtrace.rs:45:22 [INFO] [stdout] 4: 0x5587d41ce1fc - core::fmt::write::hfb5d11dfe037e8b7 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/core/src/fmt/mod.rs:1194:17 [INFO] [stdout] 5: 0x5587d41a4101 - std::io::Write::write_fmt::h6a24ec64406df9e2 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/io/mod.rs:1655:15 [INFO] [stdout] 6: 0x5587d41ab525 - std::sys_common::backtrace::_print::h7a0e44402913ba60 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/sys_common/backtrace.rs:48:5 [INFO] [stdout] 7: 0x5587d41ab525 - std::sys_common::backtrace::print::h9767dc455a84e728 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/sys_common/backtrace.rs:35:9 [INFO] [stdout] 8: 0x5587d41ab525 - std::panicking::default_hook::{{closure}}::h60afd6c8b12988ad [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/panicking.rs:295:22 [INFO] [stdout] 9: 0x5587d41ab214 - std::panicking::default_hook::ha7b9bac6813f9d21 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/panicking.rs:311:9 [INFO] [stdout] 10: 0x5587d41aba72 - std::panicking::rust_panic_with_hook::h7b117a162a6f8664 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/panicking.rs:698:17 [INFO] [stdout] 11: 0x5587d41ab957 - std::panicking::begin_panic_handler::{{closure}}::h346750923c608600 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/panicking.rs:588:13 [INFO] [stdout] 12: 0x5587d41a9bb4 - std::sys_common::backtrace::__rust_end_short_backtrace::h768c56c6a0c055c0 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/sys_common/backtrace.rs:138:18 [INFO] [stdout] 13: 0x5587d41ab689 - rust_begin_unwind [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/panicking.rs:584:5 [INFO] [stdout] 14: 0x5587d397aab3 - core::panicking::panic_fmt::h5c41cb2fa118fdbc [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/core/src/panicking.rs:143:14 [INFO] [stdout] 15: 0x5587d397aba3 - core::result::unwrap_failed::h6bc7b183ec719494 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/core/src/result.rs:1785:5 [INFO] [stdout] 16: 0x5587d39c9412 - core::result::Result::unwrap::h1eb950637478d209 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/core/src/result.rs:1078:23 [INFO] [stdout] 17: 0x5587d397fb5a - biominer_indexd::database::init_rbatis::{{closure}}::h980178d09b52fc18 [INFO] [stdout] at /opt/rustwide/workdir/src/database.rs:369:3 [INFO] [stdout] 18: 0x5587d39f8839 - as core::future::future::Future>::poll::hd52bc7f3ff63150d [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/core/src/future/mod.rs:91:19 [INFO] [stdout] 19: 0x5587d39daaf2 - biominer_indexd::database::tests::init::{{closure}}::h7de05807fe38f40f [INFO] [stdout] at /opt/rustwide/workdir/src/database.rs:384:38 [INFO] [stdout] 20: 0x5587d39f74f9 - as core::future::future::Future>::poll::h43cdaf69c6c4bff8 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/core/src/future/mod.rs:91:19 [INFO] [stdout] 21: 0x5587d39db0c5 - biominer_indexd::database::tests::test_query_files::{{closure}}::hd569f6fe1dcb5b1d [INFO] [stdout] at /opt/rustwide/workdir/src/database.rs:389:20 [INFO] [stdout] 22: 0x5587d39f7d4b - as core::future::future::Future>::poll::h8f1382755e641dfe [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/core/src/future/mod.rs:91:19 [INFO] [stdout] 23: 0x5587d39b818a - as core::future::future::Future>::poll::h989ea578ee85b9f6 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/core/src/future/future.rs:124:9 [INFO] [stdout] 24: 0x5587d39ed9d0 - tokio::runtime::basic_scheduler::CoreGuard::block_on::{{closure}}::{{closure}}::{{closure}}::hfd03d4e06530ca3e [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/tokio-1.17.0/src/runtime/basic_scheduler.rs:498:48 [INFO] [stdout] 25: 0x5587d39d1bd0 - tokio::coop::with_budget::{{closure}}::h9e9d1955e566dd65 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/tokio-1.17.0/src/coop.rs:102:9 [INFO] [stdout] 26: 0x5587d39b9c26 - std::thread::local::LocalKey::try_with::hd603b2809667058d [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/thread/local.rs:442:16 [INFO] [stdout] 27: 0x5587d39b8f6d - std::thread::local::LocalKey::with::h266f5ee1941c3977 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/thread/local.rs:418:9 [INFO] [stdout] 28: 0x5587d39ed7cc - tokio::coop::with_budget::hf8e56ce6fba919e6 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/tokio-1.17.0/src/coop.rs:95:5 [INFO] [stdout] 29: 0x5587d39ed7cc - tokio::coop::budget::h3795348cdcf4b47b [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/tokio-1.17.0/src/coop.rs:72:5 [INFO] [stdout] 30: 0x5587d39ed7cc - tokio::runtime::basic_scheduler::CoreGuard::block_on::{{closure}}::{{closure}}::h802e5eefbb3d0c2e [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/tokio-1.17.0/src/runtime/basic_scheduler.rs:498:25 [INFO] [stdout] 31: 0x5587d39ea782 - tokio::runtime::basic_scheduler::Context::enter::h18e3d8553ad14a59 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/tokio-1.17.0/src/runtime/basic_scheduler.rs:356:19 [INFO] [stdout] 32: 0x5587d39ed180 - tokio::runtime::basic_scheduler::CoreGuard::block_on::{{closure}}::h4ea7f49127661d29 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/tokio-1.17.0/src/runtime/basic_scheduler.rs:497:36 [INFO] [stdout] 33: 0x5587d39ec6bb - tokio::runtime::basic_scheduler::CoreGuard::enter::{{closure}}::h25c21dd4bf25e7db [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/tokio-1.17.0/src/runtime/basic_scheduler.rs:555:57 [INFO] [stdout] 34: 0x5587d3a02297 - tokio::macros::scoped_tls::ScopedKey::set::h565851ec56e34154 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/tokio-1.17.0/src/macros/scoped_tls.rs:61:9 [INFO] [stdout] 35: 0x5587d39ec477 - tokio::runtime::basic_scheduler::CoreGuard::enter::h6ccccaefebb706ed [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/tokio-1.17.0/src/runtime/basic_scheduler.rs:555:27 [INFO] [stdout] 36: 0x5587d39ec7a0 - tokio::runtime::basic_scheduler::CoreGuard::block_on::he1233a439fcac720 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/tokio-1.17.0/src/runtime/basic_scheduler.rs:488:9 [INFO] [stdout] 37: 0x5587d39ea07f - tokio::runtime::basic_scheduler::BasicScheduler::block_on::he73db39df9ef9dce [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/tokio-1.17.0/src/runtime/basic_scheduler.rs:168:24 [INFO] [stdout] 38: 0x5587d3a030ce - tokio::runtime::Runtime::block_on::h107040696c624fe6 [INFO] [stdout] at /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/tokio-1.17.0/src/runtime/mod.rs:475:46 [INFO] [stdout] 39: 0x5587d39dae09 - biominer_indexd::database::tests::test_query_files::h87f38dc5051d408d [INFO] [stdout] at /opt/rustwide/workdir/src/database.rs:407:5 [INFO] [stdout] 40: 0x5587d39dacaa - biominer_indexd::database::tests::test_query_files::{{closure}}::hde2dfe4b5d33b056 [INFO] [stdout] at /opt/rustwide/workdir/src/database.rs:388:9 [INFO] [stdout] 41: 0x5587d3a0cc6e - core::ops::function::FnOnce::call_once::hec30244ec4a87117 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 42: 0x5587d3a56fc3 - core::ops::function::FnOnce::call_once::h018fc248431ce8de [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 43: 0x5587d3a56fc3 - test::__rust_begin_short_backtrace::h293b982b6069d6e3 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/test/src/lib.rs:574:5 [INFO] [stdout] 44: 0x5587d3a55d79 - as core::ops::function::FnOnce>::call_once::h4fc1be1a762c7a46 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/alloc/src/boxed.rs:1861:9 [INFO] [stdout] 45: 0x5587d3a55d79 - as core::ops::function::FnOnce<()>>::call_once::hd44623ec51b9e897 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 46: 0x5587d3a55d79 - std::panicking::try::do_call::ha8cfa4b025f5b832 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/panicking.rs:492:40 [INFO] [stdout] 47: 0x5587d3a55d79 - std::panicking::try::h664f75e41c112145 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/panicking.rs:456:19 [INFO] [stdout] 48: 0x5587d3a55d79 - std::panic::catch_unwind::h4932ec05cd60558e [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/panic.rs:137:14 [INFO] [stdout] 49: 0x5587d3a55d79 - test::run_test_in_process::ha14a47756671755c [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/test/src/lib.rs:597:18 [INFO] [stdout] 50: 0x5587d3a55d79 - test::run_test::run_test_inner::{{closure}}::h0ec9e37c8f67b62d [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/test/src/lib.rs:491:39 [INFO] [stdout] 51: 0x5587d3a21f2e - test::run_test::run_test_inner::{{closure}}::hd9d2e7f26d4f59e6 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/test/src/lib.rs:518:37 [INFO] [stdout] 52: 0x5587d3a21f2e - std::sys_common::backtrace::__rust_begin_short_backtrace::h41c0a39fac5123f8 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/sys_common/backtrace.rs:122:18 [INFO] [stdout] 53: 0x5587d3a27498 - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h69a02ca0bebb6eeb [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/thread/mod.rs:498:17 [INFO] [stdout] 54: 0x5587d3a27498 - as core::ops::function::FnOnce<()>>::call_once::hdd05632920ce689b [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/core/src/panic/unwind_safe.rs:271:9 [INFO] [stdout] 55: 0x5587d3a27498 - std::panicking::try::do_call::hb4947142729b90fd [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/panicking.rs:492:40 [INFO] [stdout] 56: 0x5587d3a27498 - std::panicking::try::h15a7e9b8394e6878 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/panicking.rs:456:19 [INFO] [stdout] 57: 0x5587d3a27498 - std::panic::catch_unwind::hbd3f4a3f9df49b85 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/panic.rs:137:14 [INFO] [stdout] 58: 0x5587d3a27498 - std::thread::Builder::spawn_unchecked_::{{closure}}::h880b5d5f1b9799f4 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/thread/mod.rs:497:30 [INFO] [stdout] 59: 0x5587d3a27498 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h304d5eaf401f5061 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/core/src/ops/function.rs:227:5 [INFO] [stdout] 60: 0x5587d41b0653 - as core::ops::function::FnOnce>::call_once::hdba7f2afed0c35b3 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/alloc/src/boxed.rs:1861:9 [INFO] [stdout] 61: 0x5587d41b0653 - as core::ops::function::FnOnce>::call_once::h38b0832765bf7961 [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/alloc/src/boxed.rs:1861:9 [INFO] [stdout] 62: 0x5587d41b0653 - std::sys::unix::thread::Thread::new::thread_start::h70236dc17753425e [INFO] [stdout] at /rustc/7c13df853721b60a03e7c0bb084d2eb1e27a9caa/library/std/src/sys/unix/thread.rs:108:17 [INFO] [stdout] 63: 0x7f757059d609 - start_thread [INFO] [stdout] 64: 0x7f757036d163 - clone [INFO] [stdout] 65: 0x0 - [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] failures: [INFO] [stdout] database::tests::test_query_file [INFO] [stdout] database::tests::test_query_files [INFO] [stdout] [INFO] [stdout] test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.05s [INFO] [stdout] [INFO] [stderr] error: test failed, to rerun pass '--lib' [INFO] running `Command { std: "docker" "inspect" "4fffb96e4174f82d29e224d5c492b88a2b29eb8127d79316b3a794aeaf2fe4c6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4fffb96e4174f82d29e224d5c492b88a2b29eb8127d79316b3a794aeaf2fe4c6", kill_on_drop: false }` [INFO] [stdout] 4fffb96e4174f82d29e224d5c492b88a2b29eb8127d79316b3a794aeaf2fe4c6