[INFO] cloning repository https://github.com/iterlace/versebase [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/iterlace/versebase" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fiterlace%2Fversebase", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fiterlace%2Fversebase'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] cdb11a7ea5b08630f9e90600cb42a1abb685643a [INFO] checking iterlace/versebase against master#1f12b9b0fdbe735968ac002792a720f0ba4faca6 for crater-rollup-uwu [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fiterlace%2Fversebase" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/iterlace/versebase on toolchain 1f12b9b0fdbe735968ac002792a720f0ba4faca6 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/iterlace/versebase [INFO] finished tweaking git repo https://github.com/iterlace/versebase [INFO] tweaked toml for git repo https://github.com/iterlace/versebase written to /workspace/builds/worker-7-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/iterlace/versebase already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 7e3ca3b1a081b4af38fa6732a0bd94f5dc76e16e105602b660f0d57bb7b49337 [INFO] running `Command { std: "docker" "start" "-a" "7e3ca3b1a081b4af38fa6732a0bd94f5dc76e16e105602b660f0d57bb7b49337", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7e3ca3b1a081b4af38fa6732a0bd94f5dc76e16e105602b660f0d57bb7b49337", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7e3ca3b1a081b4af38fa6732a0bd94f5dc76e16e105602b660f0d57bb7b49337", kill_on_drop: false }` [INFO] [stdout] 7e3ca3b1a081b4af38fa6732a0bd94f5dc76e16e105602b660f0d57bb7b49337 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:923055f121b5182466d55868a8b05e67af8ba4a3a3f6bad814e953ca3cd3ac2a" "/opt/rustwide/cargo-home/bin/cargo" "+1f12b9b0fdbe735968ac002792a720f0ba4faca6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] a32001bd1077ffe1ba8f20a69a393ca76d792a62c9da24872fc9427369fecfa6 [INFO] running `Command { std: "docker" "start" "-a" "a32001bd1077ffe1ba8f20a69a393ca76d792a62c9da24872fc9427369fecfa6", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.117 [INFO] [stderr] Compiling proc-macro2 v1.0.36 [INFO] [stderr] Compiling autocfg v1.1.0 [INFO] [stderr] Compiling syn v1.0.86 [INFO] [stderr] Compiling unicode-xid v0.2.2 [INFO] [stderr] Checking ppv-lite86 v0.2.16 [INFO] [stderr] Compiling memchr v2.4.1 [INFO] [stderr] Checking versebase_playground v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Checking quote v1.0.15 [INFO] [stderr] Checking aho-corasick v0.7.18 [INFO] [stderr] Checking getrandom v0.2.4 [INFO] [stderr] Checking time v0.1.44 [INFO] [stderr] Checking rand_core v0.6.3 [INFO] [stderr] Checking rand_chacha v0.3.1 [INFO] [stderr] Checking rand v0.8.4 [INFO] [stderr] Checking regex v1.5.4 [INFO] [stderr] Checking chrono v0.4.19 [INFO] [stderr] Checking versebase_derive v0.1.0 (/opt/rustwide/workdir/versebase/versebase_derive) [INFO] [stdout] warning: unused imports: `Any` and `TypeId` [INFO] [stdout] --> versebase/versebase_derive/src/lib.rs:4:16 [INFO] [stdout] | [INFO] [stdout] 4 | use std::any::{Any, TypeId}; [INFO] [stdout] | ^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IdentFragment`, `ToTokens`, `format_ident`, and `quote_spanned` [INFO] [stdout] --> versebase/versebase_derive/src/lib.rs:5:20 [INFO] [stdout] | [INFO] [stdout] 5 | use quote::{quote, format_ident, quote_spanned, IdentFragment, ToTokens}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DeriveInput`, `Ident`, `LitStr`, `Token`, and `parse_macro_input` [INFO] [stdout] --> versebase/versebase_derive/src/lib.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | use syn::{parse_macro_input, Data, DataStruct, DeriveInput, Fields, LitStr, Token, Ident}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Any` and `TypeId` [INFO] [stdout] --> versebase/versebase_derive/src/lib.rs:4:16 [INFO] [stdout] | [INFO] [stdout] 4 | use std::any::{Any, TypeId}; [INFO] [stdout] | ^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IdentFragment`, `ToTokens`, `format_ident`, and `quote_spanned` [INFO] [stdout] --> versebase/versebase_derive/src/lib.rs:5:20 [INFO] [stdout] | [INFO] [stdout] 5 | use quote::{quote, format_ident, quote_spanned, IdentFragment, ToTokens}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DeriveInput`, `Ident`, `LitStr`, `Token`, and `parse_macro_input` [INFO] [stdout] --> versebase/versebase_derive/src/lib.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | use syn::{parse_macro_input, Data, DataStruct, DeriveInput, Fields, LitStr, Token, Ident}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `quote::__private::ext::RepAsIteratorExt` [INFO] [stdout] --> versebase/versebase_derive/src/lib.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use quote::__private::ext::RepAsIteratorExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `quote::__private::ext::RepAsIteratorExt` [INFO] [stdout] --> versebase/versebase_derive/src/lib.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use quote::__private::ext::RepAsIteratorExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking versebase v0.1.0 (/opt/rustwide/workdir/versebase) [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> versebase/src/error.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Read` [INFO] [stdout] --> versebase/src/error.rs:6:21 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::{self, Read}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::marker::PhantomData` [INFO] [stdout] --> versebase/src/index.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::marker::PhantomData; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashMap` [INFO] [stdout] --> versebase/src/index.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{HashMap, BTreeMap}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fs` [INFO] [stdout] --> versebase/src/index.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | use std::{fs, u64}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BufReader` [INFO] [stdout] --> versebase/src/index.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | use std::io::{BufReader, Read, Seek, SeekFrom, Write}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::ErrorKind::AlreadyExists` [INFO] [stdout] --> versebase/src/index.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::io::ErrorKind::AlreadyExists; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Deref` [INFO] [stdout] --> versebase/src/index.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::ops::Deref; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::distributions::uniform::SampleBorrow` [INFO] [stdout] --> versebase/src/index.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use rand::distributions::uniform::SampleBorrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> versebase/src/table.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fs::{self, File, OpenOptions}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BufReader` [INFO] [stdout] --> versebase/src/table.rs:6:21 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::{self, BufReader, Read, Seek, SeekFrom, Write}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::ErrorKind::AlreadyExists` [INFO] [stdout] --> versebase/src/table.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::io::ErrorKind::AlreadyExists; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::any::Any` [INFO] [stdout] --> versebase/src/table.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::any::Any; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> versebase/src/table.rs:10:20 [INFO] [stdout] | [INFO] [stdout] 10 | use super::error::{self, Error, ErrorKind}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> versebase/src/datatypes.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::Date` [INFO] [stdout] --> versebase/src/datatypes.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use chrono::Date; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::fs::File` [INFO] [stdout] --> versebase/src/error.rs:5:5 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fs::File; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Read` [INFO] [stdout] --> versebase/src/error.rs:6:21 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::{self, Read}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::marker::PhantomData` [INFO] [stdout] --> versebase/src/index.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::marker::PhantomData; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `HashMap` [INFO] [stdout] --> versebase/src/index.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use std::collections::{HashMap, BTreeMap}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `fs` [INFO] [stdout] --> versebase/src/index.rs:4:11 [INFO] [stdout] | [INFO] [stdout] 4 | use std::{fs, u64}; [INFO] [stdout] | ^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BufReader` [INFO] [stdout] --> versebase/src/index.rs:7:15 [INFO] [stdout] | [INFO] [stdout] 7 | use std::io::{BufReader, Read, Seek, SeekFrom, Write}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::ErrorKind::AlreadyExists` [INFO] [stdout] --> versebase/src/index.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::io::ErrorKind::AlreadyExists; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Deref` [INFO] [stdout] --> versebase/src/index.rs:9:5 [INFO] [stdout] | [INFO] [stdout] 9 | use std::ops::Deref; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `rand::distributions::uniform::SampleBorrow` [INFO] [stdout] --> versebase/src/index.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use rand::distributions::uniform::SampleBorrow; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> versebase/src/table.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | use std::fs::{self, File, OpenOptions}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `BufReader` [INFO] [stdout] --> versebase/src/table.rs:6:21 [INFO] [stdout] | [INFO] [stdout] 6 | use std::io::{self, BufReader, Read, Seek, SeekFrom, Write}; [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::ErrorKind::AlreadyExists` [INFO] [stdout] --> versebase/src/table.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::io::ErrorKind::AlreadyExists; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::any::Any` [INFO] [stdout] --> versebase/src/table.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use std::any::Any; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `self` [INFO] [stdout] --> versebase/src/table.rs:10:20 [INFO] [stdout] | [INFO] [stdout] 10 | use super::error::{self, Error, ErrorKind}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> versebase/src/datatypes.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `chrono::Date` [INFO] [stdout] --> versebase/src/datatypes.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use chrono::Date; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DataType` [INFO] [stdout] --> versebase/src/table.rs:12:24 [INFO] [stdout] | [INFO] [stdout] 12 | use super::datatypes::{DataType, DType}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pos` [INFO] [stdout] --> versebase/src/table.rs:328:13 [INFO] [stdout] | [INFO] [stdout] 328 | let pos = match self.find(row.get_id())? { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pos` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DataType` [INFO] [stdout] --> versebase/src/table.rs:12:24 [INFO] [stdout] | [INFO] [stdout] 12 | use super::datatypes::{DataType, DType}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `row` [INFO] [stdout] --> versebase/src/table.rs:336:14 [INFO] [stdout] | [INFO] [stdout] 336 | let (row, begin, end) = match self.find(id)? { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_row` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `end` [INFO] [stdout] --> versebase/src/table.rs:373:35 [INFO] [stdout] | [INFO] [stdout] 373 | Some((row, begin, end)) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> versebase/src/table.rs:363:13 [INFO] [stdout] | [INFO] [stdout] 363 | let mut index = match &mut self.index { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Database` is never constructed [INFO] [stdout] --> versebase/src/db.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | struct Database { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `filepath` is never read [INFO] [stdout] --> versebase/src/table.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 31 | struct TableFile { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 32 | pub filepath: Box, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `pos` [INFO] [stdout] --> versebase/src/table.rs:328:13 [INFO] [stdout] | [INFO] [stdout] 328 | let pos = match self.find(row.get_id())? { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_pos` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `row` [INFO] [stdout] --> versebase/src/table.rs:336:14 [INFO] [stdout] | [INFO] [stdout] 336 | let (row, begin, end) = match self.find(id)? { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_row` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `end` [INFO] [stdout] --> versebase/src/table.rs:373:35 [INFO] [stdout] | [INFO] [stdout] 373 | Some((row, begin, end)) => { [INFO] [stdout] | ^^^ help: if this is intentional, prefix it with an underscore: `_end` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> versebase/src/index.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | instance.load(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 32 | let _ = instance.load(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> versebase/src/index.rs:111:9 [INFO] [stdout] | [INFO] [stdout] 111 | self.dump(); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 111 | let _ = self.dump(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> versebase/src/table.rs:363:13 [INFO] [stdout] | [INFO] [stdout] 363 | let mut index = match &mut self.index { [INFO] [stdout] | ----^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> versebase/src/table.rs:123:13 [INFO] [stdout] | [INFO] [stdout] 123 | &buf.push(b[0]); [INFO] [stdout] | ^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 123 | let _ = &buf.push(b[0]); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> versebase/src/table.rs:136:17 [INFO] [stdout] | [INFO] [stdout] 136 | &buf.clear(); [INFO] [stdout] | ^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 136 | let _ = &buf.clear(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `Database` is never constructed [INFO] [stdout] --> versebase/src/db.rs:1:8 [INFO] [stdout] | [INFO] [stdout] 1 | struct Database { [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] --> versebase/src/table.rs:185:9 [INFO] [stdout] | [INFO] [stdout] 185 | self.file.seek(SeekFrom::Start(end)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 185 | let _ = self.file.seek(SeekFrom::Start(end)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> versebase/src/table.rs:187:9 [INFO] [stdout] | [INFO] [stdout] 187 | self.file.read_to_end(&mut buf); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 187 | let _ = self.file.read_to_end(&mut buf); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> versebase/src/table.rs:190:9 [INFO] [stdout] | [INFO] [stdout] 190 | self.file.set_len(begin); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 190 | let _ = self.file.set_len(begin); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> versebase/src/table.rs:191:9 [INFO] [stdout] | [INFO] [stdout] 191 | self.file.seek(SeekFrom::End(0)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 191 | let _ = self.file.seek(SeekFrom::End(0)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> versebase/src/table.rs:193:9 [INFO] [stdout] | [INFO] [stdout] 193 | self.file.write_all(&buf); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 193 | let _ = self.file.write_all(&buf); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> versebase/src/table.rs:226:9 [INFO] [stdout] | [INFO] [stdout] 226 | table.refresh_indexes(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 226 | let _ = table.refresh_indexes(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> versebase/src/table.rs:236:25 [INFO] [stdout] | [INFO] [stdout] 236 | self.file.seek(pos as i64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 236 | let _ = self.file.seek(pos as i64); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> versebase/src/table.rs:341:9 [INFO] [stdout] | [INFO] [stdout] 341 | self.refresh_indexes(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 341 | let _ = self.refresh_indexes(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> versebase/src/table.rs:368:9 [INFO] [stdout] | [INFO] [stdout] 368 | self.file.seek(0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 368 | let _ = self.file.seek(0); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `filepath` is never read [INFO] [stdout] --> versebase/src/table.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 31 | struct TableFile { [INFO] [stdout] | --------- field in this struct [INFO] [stdout] 32 | pub filepath: Box, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> versebase/src/index.rs:32:9 [INFO] [stdout] | [INFO] [stdout] 32 | instance.load(); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 32 | let _ = instance.load(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 36 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> versebase/src/index.rs:111:9 [INFO] [stdout] | [INFO] [stdout] 111 | self.dump(); [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 111 | let _ = self.dump(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> versebase/src/table.rs:123:13 [INFO] [stdout] | [INFO] [stdout] 123 | &buf.push(b[0]); [INFO] [stdout] | ^^^^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 123 | let _ = &buf.push(b[0]); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused borrow that must be used [INFO] [stdout] --> versebase/src/table.rs:136:17 [INFO] [stdout] | [INFO] [stdout] 136 | &buf.clear(); [INFO] [stdout] | ^^^^^^^^^^^^ the borrow produces a value [INFO] [stdout] | [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 136 | let _ = &buf.clear(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> versebase/src/table.rs:185:9 [INFO] [stdout] | [INFO] [stdout] 185 | self.file.seek(SeekFrom::Start(end)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 185 | let _ = self.file.seek(SeekFrom::Start(end)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> versebase/src/table.rs:187:9 [INFO] [stdout] | [INFO] [stdout] 187 | self.file.read_to_end(&mut buf); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 187 | let _ = self.file.read_to_end(&mut buf); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> versebase/src/table.rs:190:9 [INFO] [stdout] | [INFO] [stdout] 190 | self.file.set_len(begin); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 190 | let _ = self.file.set_len(begin); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> versebase/src/table.rs:191:9 [INFO] [stdout] | [INFO] [stdout] 191 | self.file.seek(SeekFrom::End(0)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 191 | let _ = self.file.seek(SeekFrom::End(0)); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> versebase/src/table.rs:193:9 [INFO] [stdout] | [INFO] [stdout] 193 | self.file.write_all(&buf); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 193 | let _ = self.file.write_all(&buf); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> versebase/src/table.rs:226:9 [INFO] [stdout] | [INFO] [stdout] 226 | table.refresh_indexes(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 226 | let _ = table.refresh_indexes(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> versebase/src/table.rs:236:25 [INFO] [stdout] | [INFO] [stdout] 236 | self.file.seek(pos as i64); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 236 | let _ = self.file.seek(pos as i64); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> versebase/src/table.rs:341:9 [INFO] [stdout] | [INFO] [stdout] 341 | self.refresh_indexes(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 341 | let _ = self.refresh_indexes(); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> versebase/src/table.rs:368:9 [INFO] [stdout] | [INFO] [stdout] 368 | self.file.seek(0); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 368 | let _ = self.file.seek(0); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 36 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Any` and `TypeId` [INFO] [stdout] --> versebase/versebase_derive/src/lib.rs:4:16 [INFO] [stdout] | [INFO] [stdout] 4 | use std::any::{Any, TypeId}; [INFO] [stdout] | ^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `IdentFragment`, `ToTokens`, `format_ident`, and `quote_spanned` [INFO] [stdout] --> versebase/versebase_derive/src/lib.rs:5:20 [INFO] [stdout] | [INFO] [stdout] 5 | use quote::{quote, format_ident, quote_spanned, IdentFragment, ToTokens}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DeriveInput`, `Ident`, `LitStr`, `Token`, and `parse_macro_input` [INFO] [stdout] --> versebase/versebase_derive/src/lib.rs:7:11 [INFO] [stdout] | [INFO] [stdout] 7 | use syn::{parse_macro_input, Data, DataStruct, DeriveInput, Fields, LitStr, Token, Ident}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `quote::__private::ext::RepAsIteratorExt` [INFO] [stdout] --> versebase/versebase_derive/src/lib.rs:6:5 [INFO] [stdout] | [INFO] [stdout] 6 | use quote::__private::ext::RepAsIteratorExt; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 4 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking playground v0.1.0 (/opt/rustwide/workdir/playground) [INFO] [stderr] impl Users [INFO] [stderr] { [INFO] [stderr] fn [INFO] [stderr] new(id : Int, email : Str, password : Str, salt : Str, language : Str, [INFO] [stderr] last_login : DateTime) -> Self [INFO] [stderr] { Self { id, email, password, salt, language, last_login } } [INFO] [stderr] } impl TableSchema for Users [INFO] [stderr] { [INFO] [stderr] fn fields() -> std :: vec :: Vec < String > [INFO] [stderr] { [INFO] [stderr] [std :: stringify! (id).to_string(), std :: stringify! [INFO] [stderr] (email).to_string(), std :: stringify! (password).to_string(), std :: [INFO] [stderr] stringify! (salt).to_string(), std :: stringify! [INFO] [stderr] (language).to_string(), std :: stringify! [INFO] [stderr] (last_login).to_string()].to_vec() [INFO] [stderr] } fn print_info() [INFO] [stderr] { [INFO] [stderr] println! [INFO] [stderr] ("field {:?} of type {:?}", std :: stringify! (id), std :: stringify! [INFO] [stderr] (Int)); println! [INFO] [stderr] ("field {:?} of type {:?}", std :: stringify! (email), std :: [INFO] [stderr] stringify! (Str)); println! [INFO] [stderr] ("field {:?} of type {:?}", std :: stringify! (password), std :: [INFO] [stderr] stringify! (Str)); println! [INFO] [stderr] ("field {:?} of type {:?}", std :: stringify! (salt), std :: [INFO] [stderr] stringify! (Str)); println! [INFO] [stderr] ("field {:?} of type {:?}", std :: stringify! (language), std :: [INFO] [stderr] stringify! (Str)); println! [INFO] [stderr] ("field {:?} of type {:?}", std :: stringify! (last_login), std :: [INFO] [stderr] stringify! (DateTime)) [INFO] [stderr] } fn from_(raw : std :: vec :: Vec < (String, Box < [u8] >) >) -> Self [INFO] [stderr] { [INFO] [stderr] let map : std :: collections :: HashMap < String, Box < [u8] >> = [INFO] [stderr] raw.into_iter().collect(); Self [INFO] [stderr] { [INFO] [stderr] id : Int :: from_(map [std :: stringify! (id)].deref()), email : [INFO] [stderr] Str :: from_(map [std :: stringify! (email)].deref()), password : [INFO] [stderr] Str :: from_(map [std :: stringify! (password)].deref()), salt : [INFO] [stderr] Str :: from_(map [std :: stringify! (salt)].deref()), language : [INFO] [stderr] Str :: from_(map [std :: stringify! (language)].deref()), [INFO] [stderr] last_login : DateTime :: [INFO] [stderr] from_(map [std :: stringify! (last_login)].deref()) [INFO] [stderr] } [INFO] [stderr] } fn get(& self, field : String) -> Option < versebase :: datatypes :: [INFO] [stderr] DType > [INFO] [stderr] { [INFO] [stderr] match field.as_str() [INFO] [stderr] { [INFO] [stderr] std :: stringify! (id) => [INFO] [stderr] Some(versebase :: datatypes :: DType :: Int(self.id.clone())), std [INFO] [stderr] :: stringify! (email) => [INFO] [stderr] Some(versebase :: datatypes :: DType :: Str(self.email.clone())), [INFO] [stderr] std :: stringify! (password) => [INFO] [stderr] Some(versebase :: datatypes :: DType :: [INFO] [stderr] Str(self.password.clone())), std :: stringify! (salt) => [INFO] [stderr] Some(versebase :: datatypes :: DType :: Str(self.salt.clone())), [INFO] [stderr] std :: stringify! (language) => [INFO] [stderr] Some(versebase :: datatypes :: DType :: [INFO] [stderr] Str(self.language.clone())), std :: stringify! (last_login) => [INFO] [stderr] Some(versebase :: datatypes :: DType :: [INFO] [stderr] DateTime(self.last_login.clone())), _ => None, [INFO] [stderr] } [INFO] [stderr] } fn get_id(& self) -> i32 { self.id.get() } fn to_map(& self) -> std :: [INFO] [stderr] collections :: HashMap < String, versebase :: datatypes :: DType > [INFO] [stderr] { [INFO] [stderr] std :: collections :: HashMap :: [INFO] [stderr] from([(String :: from(std :: stringify! (id)), versebase :: datatypes [INFO] [stderr] :: DType :: Int(self.id.clone())), [INFO] [stderr] (String :: from(std :: stringify! (email)), versebase :: datatypes :: [INFO] [stderr] DType :: Str(self.email.clone())), [INFO] [stderr] (String :: from(std :: stringify! (password)), versebase :: datatypes [INFO] [stderr] :: DType :: Str(self.password.clone())), [INFO] [stderr] (String :: from(std :: stringify! (salt)), versebase :: datatypes :: [INFO] [stderr] DType :: Str(self.salt.clone())), [INFO] [stderr] (String :: from(std :: stringify! (language)), versebase :: datatypes [INFO] [stderr] :: DType :: Str(self.language.clone())), [INFO] [stderr] (String :: from(std :: stringify! (last_login)), versebase :: [INFO] [stderr] datatypes :: DType :: DateTime(self.last_login.clone()))]) [INFO] [stderr] } fn serialize_to_vec(& self) -> std :: vec :: Vec < [INFO] [stderr] (String, Box < [u8] >) > [INFO] [stderr] { [INFO] [stderr] let mut serialized = std :: vec :: Vec :: < (String, Box < [u8] >) > [INFO] [stderr] :: new(); [INFO] [stderr] serialized.push((String :: from(std :: stringify! (id)), [INFO] [stderr] self.id.serialize())); ; [INFO] [stderr] serialized.push((String :: from(std :: stringify! (email)), [INFO] [stderr] self.email.serialize())); ; [INFO] [stderr] serialized.push((String :: from(std :: stringify! (password)), [INFO] [stderr] self.password.serialize())); ; [INFO] [stderr] serialized.push((String :: from(std :: stringify! (salt)), [INFO] [stderr] self.salt.serialize())); ; [INFO] [stderr] serialized.push((String :: from(std :: stringify! (language)), [INFO] [stderr] self.language.serialize())); ; [INFO] [stderr] serialized.push((String :: from(std :: stringify! (last_login)), [INFO] [stderr] self.last_login.serialize())); return serialized; [INFO] [stderr] } fn serialize_to_map(& self) -> std :: collections :: HashMap < String, [INFO] [stderr] Box < [u8] >> [INFO] [stderr] { [INFO] [stderr] let mut v = self.serialize_to_vec(); let map : std :: collections :: [INFO] [stderr] HashMap < String, Box < [u8] >> = v.into_iter().collect(); map [INFO] [stderr] } [INFO] [stderr] } impl std :: fmt :: Display for Users [INFO] [stderr] { [INFO] [stderr] fn fmt(& self, f : & mut std :: fmt :: Formatter < '_ >) -> std :: fmt :: [INFO] [stderr] Result [INFO] [stderr] { [INFO] [stderr] let parts : std :: vec :: Vec < String > = vec! [INFO] [stderr] [format! ("{}: {:?}", std :: stringify! (id), self.id.get()), format! [INFO] [stderr] ("{}: {:?}", std :: stringify! (email), self.email.get()), format! [INFO] [stderr] ("{}: {:?}", std :: stringify! (password), self.password.get()), [INFO] [stderr] format! ("{}: {:?}", std :: stringify! (salt), self.salt.get()), [INFO] [stderr] format! [INFO] [stderr] ("{}: {:?}", std :: stringify! (language), self.language.get()), [INFO] [stderr] format! [INFO] [stderr] ("{}: {:?}", std :: stringify! (last_login), self.last_login.get())]; [INFO] [stderr] write! (f, "{}{{ {} }}", stringify! (Users), parts.join(", ")) [INFO] [stderr] } [INFO] [stderr] } [INFO] [stderr] impl Artists { fn new(id : Int, name : Str) -> Self { Self { id, name } } } [INFO] [stderr] impl TableSchema for Artists [INFO] [stderr] { [INFO] [stderr] fn fields() -> std :: vec :: Vec < String > [INFO] [stderr] { [INFO] [stderr] [std :: stringify! (id).to_string(), std :: stringify! [INFO] [stderr] (name).to_string()].to_vec() [INFO] [stderr] } fn print_info() [INFO] [stderr] { [INFO] [stderr] println! [INFO] [stderr] ("field {:?} of type {:?}", std :: stringify! (id), std :: stringify! [INFO] [stderr] (Int)); println! [INFO] [stderr] ("field {:?} of type {:?}", std :: stringify! (name), std :: [INFO] [stderr] stringify! (Str)) [INFO] [stderr] } fn from_(raw : std :: vec :: Vec < (String, Box < [u8] >) >) -> Self [INFO] [stderr] { [INFO] [stderr] let map : std :: collections :: HashMap < String, Box < [u8] >> = [INFO] [stderr] raw.into_iter().collect(); Self [INFO] [stderr] { [INFO] [stderr] id : Int :: from_(map [std :: stringify! (id)].deref()), name : [INFO] [stderr] Str :: from_(map [std :: stringify! (name)].deref()) [INFO] [stderr] } [INFO] [stderr] } fn get(& self, field : String) -> Option < versebase :: datatypes :: [INFO] [stderr] DType > [INFO] [stderr] { [INFO] [stderr] match field.as_str() [INFO] [stderr] { [INFO] [stderr] std :: stringify! (id) => [INFO] [stderr] Some(versebase :: datatypes :: DType :: Int(self.id.clone())), std [INFO] [stderr] :: stringify! (name) => [INFO] [stderr] Some(versebase :: datatypes :: DType :: Str(self.name.clone())), _ [INFO] [stderr] => None, [INFO] [stderr] } [INFO] [stderr] } fn get_id(& self) -> i32 { self.id.get() } fn to_map(& self) -> std :: [INFO] [stderr] collections :: HashMap < String, versebase :: datatypes :: DType > [INFO] [stderr] { [INFO] [stderr] std :: collections :: HashMap :: [INFO] [stderr] from([(String :: from(std :: stringify! (id)), versebase :: datatypes [INFO] [stderr] :: DType :: Int(self.id.clone())), [INFO] [stderr] (String :: from(std :: stringify! (name)), versebase :: datatypes :: [INFO] [stderr] DType :: Str(self.name.clone()))]) [INFO] [stderr] } fn serialize_to_vec(& self) -> std :: vec :: Vec < [INFO] [stderr] (String, Box < [u8] >) > [INFO] [stderr] { [INFO] [stderr] let mut serialized = std :: vec :: Vec :: < (String, Box < [u8] >) > [INFO] [stderr] :: new(); [INFO] [stderr] serialized.push((String :: from(std :: stringify! (id)), [INFO] [stderr] self.id.serialize())); ; [INFO] [stderr] serialized.push((String :: from(std :: stringify! (name)), [INFO] [stderr] self.name.serialize())); return serialized; [INFO] [stderr] } fn serialize_to_map(& self) -> std :: collections :: HashMap < String, [INFO] [stderr] Box < [u8] >> [INFO] [stderr] { [INFO] [stderr] let mut v = self.serialize_to_vec(); let map : std :: collections :: [INFO] [stderr] HashMap < String, Box < [u8] >> = v.into_iter().collect(); map [INFO] [stderr] } [INFO] [stderr] } impl std :: fmt :: Display for Artists [INFO] [stderr] { [INFO] [stderr] fn fmt(& self, f : & mut std :: fmt :: Formatter < '_ >) -> std :: fmt :: [INFO] [stderr] Result [INFO] [stderr] { [INFO] [stderr] let parts : std :: vec :: Vec < String > = vec! [INFO] [stderr] [format! ("{}: {:?}", std :: stringify! (id), self.id.get()), format! [INFO] [stderr] ("{}: {:?}", std :: stringify! (name), self.name.get())]; write! [INFO] [stderr] (f, "{}{{ {} }}", stringify! (Artists), parts.join(", ")) [INFO] [stderr] } [INFO] [stderr] } [INFO] [stderr] impl Users [INFO] [stderr] { [INFO] [stderr] fn [INFO] [stderr] new(id : Int, email : Str, password : Str, salt : Str, language : Str, [INFO] [stderr] last_login : DateTime) -> Self [INFO] [stderr] impl Songs [INFO] [stderr] { Self { id, email, password, salt, language, last_login } } [INFO] [stderr] } impl TableSchema for Users [INFO] [stderr] { [INFO] [stderr] { [INFO] [stderr] fn new(id : Int, name : Str, artist_id : Int) -> Self [INFO] [stderr] fn fields() -> std :: vec :: Vec < String > [INFO] [stderr] { Self { id, name, artist_id } } [INFO] [stderr] { [INFO] [stderr] } impl TableSchema for Songs [INFO] [stderr] [std :: stringify! (id).to_string(), std :: stringify! [INFO] [stderr] { [INFO] [stderr] (email).to_string(), std :: stringify! (password).to_string(), std :: [INFO] [stderr] fn fields() -> std :: vec :: Vec < String > [INFO] [stderr] stringify! (salt).to_string(), std :: stringify! [INFO] [stderr] { [INFO] [stderr] (language).to_string(), std :: stringify! [INFO] [stderr] [std :: stringify! (id).to_string(), std :: stringify! [INFO] [stderr] (last_login).to_string()].to_vec() [INFO] [stderr] (name).to_string(), std :: stringify! [INFO] [stderr] } fn print_info() [INFO] [stderr] (artist_id).to_string()].to_vec() [INFO] [stderr] { [INFO] [stderr] } fn print_info() [INFO] [stderr] println! [INFO] [stderr] ("field {:?} of type {:?}", std :: stringify! (id), std :: stringify! [INFO] [stderr] { [INFO] [stderr] (Int)); println! [INFO] [stderr] ("field {:?} of type {:?}", std :: stringify! (email), std :: [INFO] [stderr] stringify! (Str)); println! [INFO] [stderr] ("field {:?} of type {:?}", std :: stringify! (password), std :: [INFO] [stderr] stringify! (Str)); println! [INFO] [stderr] ("field {:?} of type {:?}", std :: stringify! (salt), std :: [INFO] [stderr] stringify! (Str)); println! [INFO] [stderr] ("field {:?} of type {:?}", std :: stringify! (language), std :: [INFO] [stderr] stringify! (Str)); println! [INFO] [stderr] ("field {:?} of type {:?}", std :: stringify! (last_login), std :: [INFO] [stderr] stringify! (DateTime)) [INFO] [stderr] } fn from_(raw : std :: vec :: Vec < (String, Box < [u8] >) >) -> Self [INFO] [stderr] { [INFO] [stderr] let map : std :: collections :: HashMap < String, Box < [u8] >> = [INFO] [stderr] raw.into_iter().collect(); Self [INFO] [stderr] { [INFO] [stderr] id : Int :: from_(map [std :: stringify! (id)].deref()), email : [INFO] [stderr] Str :: from_(map [std :: stringify! (email)].deref()), password : [INFO] [stderr] Str :: from_(map [std :: stringify! (password)].deref()), salt : [INFO] [stderr] Str :: from_(map [std :: stringify! (salt)].deref()), language : [INFO] [stderr] Str :: from_(map [std :: stringify! (language)].deref()), [INFO] [stderr] last_login : DateTime :: [INFO] [stderr] from_(map [std :: stringify! (last_login)].deref()) [INFO] [stderr] } [INFO] [stderr] } fn get(& self, field : String) -> Option < versebase :: datatypes :: [INFO] [stderr] DType > [INFO] [stderr] { [INFO] [stderr] match field.as_str() [INFO] [stderr] { [INFO] [stderr] std :: stringify! (id) => [INFO] [stderr] Some(versebase :: datatypes :: DType :: Int(self.id.clone())), std [INFO] [stderr] :: stringify! (email) => [INFO] [stderr] Some(versebase :: datatypes :: DType :: Str(self.email.clone())), [INFO] [stderr] std :: stringify! (password) => [INFO] [stderr] Some(versebase :: datatypes :: DType :: [INFO] [stderr] Str(self.password.clone())), std :: stringify! (salt) => [INFO] [stderr] Some(versebase :: datatypes :: DType :: Str(self.salt.clone())), [INFO] [stderr] std :: stringify! (language) => [INFO] [stderr] Some(versebase :: datatypes :: DType :: [INFO] [stderr] Str(self.language.clone())), std :: stringify! (last_login) => [INFO] [stderr] Some(versebase :: datatypes :: DType :: [INFO] [stderr] DateTime(self.last_login.clone())), _ => None, [INFO] [stderr] } [INFO] [stderr] } fn get_id(& self) -> i32 { self.id.get() } fn to_map(& self) -> std :: [INFO] [stderr] collections :: HashMap < String, versebase :: datatypes :: DType > [INFO] [stderr] { [INFO] [stderr] std :: collections :: HashMap :: [INFO] [stderr] from([(String :: from(std :: stringify! (id)), versebase :: datatypes [INFO] [stderr] :: DType :: Int(self.id.clone())), [INFO] [stderr] (String :: from(std :: stringify! (email)), versebase :: datatypes :: [INFO] [stderr] DType :: Str(self.email.clone())), [INFO] [stderr] (String :: from(std :: stringify! (password)), versebase :: datatypes [INFO] [stderr] :: DType :: Str(self.password.clone())), [INFO] [stderr] (String :: from(std :: stringify! (salt)), versebase :: datatypes :: [INFO] [stderr] DType :: Str(self.salt.clone())), [INFO] [stderr] (String :: from(std :: stringify! (language)), versebase :: datatypes [INFO] [stderr] :: DType :: Str(self.language.clone())), [INFO] [stderr] (String :: from(std :: stringify! (last_login)), versebase :: [INFO] [stderr] datatypes :: DType :: DateTime(self.last_login.clone()))]) [INFO] [stderr] } fn serialize_to_vec(& self) -> std :: vec :: Vec < [INFO] [stderr] (String, Box < [u8] >) > [INFO] [stderr] { [INFO] [stderr] let mut serialized = std :: vec :: Vec :: < (String, Box < [u8] >) > [INFO] [stderr] :: new(); [INFO] [stderr] serialized.push((String :: from(std :: stringify! (id)), [INFO] [stderr] self.id.serialize())); ; [INFO] [stderr] serialized.push((String :: from(std :: stringify! (email)), [INFO] [stderr] self.email.serialize())); ; [INFO] [stderr] serialized.push((String :: from(std :: stringify! (password)), [INFO] [stderr] self.password.serialize())); ; [INFO] [stderr] serialized.push((String :: from(std :: stringify! (salt)), [INFO] [stderr] self.salt.serialize())); ; [INFO] [stderr] serialized.push((String :: from(std :: stringify! (language)), [INFO] [stderr] self.language.serialize())); ; [INFO] [stderr] serialized.push((String :: from(std :: stringify! (last_login)), [INFO] [stderr] self.last_login.serialize())); return serialized; [INFO] [stderr] } fn serialize_to_map(& self) -> std :: collections :: HashMap < String, [INFO] [stderr] Box < [u8] >> [INFO] [stderr] { [INFO] [stderr] let mut v = self.serialize_to_vec(); let map : std :: collections :: [INFO] [stderr] HashMap < String, Box < [u8] >> = v.into_iter().collect(); map [INFO] [stderr] } [INFO] [stderr] } impl std :: fmt :: Display for Users [INFO] [stderr] { [INFO] [stderr] fn fmt(& self, f : & mut std :: fmt :: Formatter < '_ >) -> std :: fmt :: [INFO] [stderr] Result [INFO] [stderr] { [INFO] [stderr] let parts : std :: vec :: Vec < String > = vec! [INFO] [stderr] [format! ("{}: {:?}", std :: stringify! (id), self.id.get()), format! [INFO] [stderr] println! [INFO] [stderr] ("{}: {:?}", std :: stringify! (email), self.email.get()), format! [INFO] [stderr] ("{}: {:?}", std :: stringify! (password), self.password.get()), [INFO] [stderr] format! ("{}: {:?}", std :: stringify! (salt), self.salt.get()), [INFO] [stderr] format! [INFO] [stderr] ("{}: {:?}", std :: stringify! (language), self.language.get()), [INFO] [stderr] format! [INFO] [stderr] ("{}: {:?}", std :: stringify! (last_login), self.last_login.get())]; [INFO] [stderr] write! (f, "{}{{ {} }}", stringify! (Users), parts.join(", ")) [INFO] [stderr] } [INFO] [stderr] } [INFO] [stderr] impl Artists { fn new(id : Int, name : Str) -> Self { Self { id, name } } } [INFO] [stderr] impl TableSchema for Artists [INFO] [stderr] { [INFO] [stderr] fn fields() -> std :: vec :: Vec < String > [INFO] [stderr] { [INFO] [stderr] [std :: stringify! (id).to_string(), std :: stringify! [INFO] [stderr] (name).to_string()].to_vec() [INFO] [stderr] } fn print_info() [INFO] [stderr] { [INFO] [stderr] println! [INFO] [stderr] ("field {:?} of type {:?}", std :: stringify! (id), std :: stringify! [INFO] [stderr] (Int)); println! [INFO] [stderr] ("field {:?} of type {:?}", std :: stringify! (name), std :: [INFO] [stderr] stringify! (Str)) [INFO] [stderr] } fn from_(raw : std :: vec :: Vec < (String, Box < [u8] >) >) -> Self [INFO] [stderr] { [INFO] [stderr] let map : std :: collections :: HashMap < String, Box < [u8] >> = [INFO] [stderr] raw.into_iter().collect(); Self [INFO] [stderr] { [INFO] [stderr] id : Int :: from_(map [std :: stringify! (id)].deref()), name : [INFO] [stderr] Str :: from_(map [std :: stringify! (name)].deref()) [INFO] [stderr] } [INFO] [stderr] } fn get(& self, field : String) -> Option < versebase :: datatypes :: [INFO] [stderr] DType > [INFO] [stderr] { [INFO] [stderr] match field.as_str() [INFO] [stderr] { [INFO] [stderr] std :: stringify! (id) => [INFO] [stderr] Some(versebase :: datatypes :: DType :: Int(self.id.clone())), std [INFO] [stderr] :: stringify! (name) => [INFO] [stderr] Some(versebase :: datatypes :: DType :: Str(self.name.clone())), _ [INFO] [stderr] => None, [INFO] [stderr] } [INFO] [stderr] } fn get_id(& self) -> i32 { self.id.get() } fn to_map(& self) -> std :: [INFO] [stderr] collections :: HashMap < String, versebase :: datatypes :: DType > [INFO] [stderr] { [INFO] [stderr] std :: collections :: HashMap :: [INFO] [stderr] from([(String :: from(std :: stringify! (id)), versebase :: datatypes [INFO] [stderr] :: DType :: Int(self.id.clone())), [INFO] [stderr] (String :: from(std :: stringify! (name)), versebase :: datatypes :: [INFO] [stderr] DType :: Str(self.name.clone()))]) [INFO] [stderr] } fn serialize_to_vec(& self) -> std :: vec :: Vec < [INFO] [stderr] (String, Box < [u8] >) > [INFO] [stderr] { [INFO] [stderr] let mut serialized = std :: vec :: Vec :: < (String, Box < [u8] >) > [INFO] [stderr] :: new(); [INFO] [stderr] serialized.push((String :: from(std :: stringify! (id)), [INFO] [stderr] self.id.serialize())); ; [INFO] [stderr] serialized.push((String :: from(std :: stringify! (name)), [INFO] [stderr] self.name.serialize())); return serialized; [INFO] [stderr] } fn serialize_to_map(& self) -> std :: collections :: HashMap < String, [INFO] [stderr] Box < [u8] >> [INFO] [stderr] { [INFO] [stderr] let mut v = self.serialize_to_vec(); let map : std :: collections :: [INFO] [stderr] HashMap < String, Box < [u8] >> = v.into_iter().collect(); map [INFO] [stderr] } [INFO] [stderr] } impl std :: fmt :: Display for Artists [INFO] [stderr] { [INFO] [stderr] fn fmt(& self, f : & mut std :: fmt :: Formatter < '_ >) -> std :: fmt :: [INFO] [stderr] Result [INFO] [stderr] { [INFO] [stderr] let parts : std :: vec :: Vec < String > = vec! [INFO] [stderr] [format! ("{}: {:?}", std :: stringify! (id), self.id.get()), format! [INFO] [stderr] ("{}: {:?}", std :: stringify! (name), self.name.get())]; write! [INFO] [stderr] (f, "{}{{ {} }}", stringify! (Artists), parts.join(", ")) [INFO] [stderr] } [INFO] [stderr] } [INFO] [stderr] impl Songs [INFO] [stderr] { [INFO] [stderr] fn new(id : Int, name : Str, artist_id : Int) -> Self [INFO] [stderr] { Self { id, name, artist_id } } [INFO] [stderr] } impl TableSchema for Songs [INFO] [stderr] { [INFO] [stderr] fn fields() -> std :: vec :: Vec < String > [INFO] [stderr] { [INFO] [stderr] [std :: stringify! (id).to_string(), std :: stringify! [INFO] [stderr] (name).to_string(), std :: stringify! [INFO] [stderr] (artist_id).to_string()].to_vec() [INFO] [stderr] } fn print_info() [INFO] [stderr] { [INFO] [stderr] println! [INFO] [stderr] ("field {:?} of type {:?}", std :: stringify! (id), std :: stringify! [INFO] [stderr] (Int)); println! [INFO] [stderr] ("field {:?} of type {:?}", std :: stringify! (name), std :: [INFO] [stderr] stringify! (Str)); println! [INFO] [stderr] ("field {:?} of type {:?}", std :: stringify! (artist_id), std :: [INFO] [stderr] stringify! (Int)) [INFO] [stderr] } fn from_(raw : std :: vec :: Vec < (String, Box < [u8] >) >) -> Self [INFO] [stderr] { [INFO] [stderr] let map : std :: collections :: HashMap < String, Box < [u8] >> = [INFO] [stderr] raw.into_iter().collect(); Self [INFO] [stderr] { [INFO] [stderr] id : Int :: from_(map [std :: stringify! (id)].deref()), name : [INFO] [stderr] Str :: from_(map [std :: stringify! (name)].deref()), artist_id : [INFO] [stderr] Int :: from_(map [std :: stringify! (artist_id)].deref()) [INFO] [stderr] } [INFO] [stderr] } fn get(& self, field : String) -> Option < versebase :: datatypes :: [INFO] [stderr] DType > [INFO] [stderr] { [INFO] [stderr] match field.as_str() [INFO] [stderr] { [INFO] [stderr] std :: stringify! (id) => [INFO] [stderr] Some(versebase :: datatypes :: DType :: Int(self.id.clone())), std [INFO] [stderr] :: stringify! (name) => [INFO] [stderr] Some(versebase :: datatypes :: DType :: Str(self.name.clone())), [INFO] [stderr] std :: stringify! (artist_id) => [INFO] [stderr] Some(versebase :: datatypes :: DType :: [INFO] [stderr] Int(self.artist_id.clone())), _ => None, [INFO] [stderr] } [INFO] [stderr] } fn get_id(& self) -> i32 { self.id.get() } fn to_map(& self) -> std :: [INFO] [stderr] collections :: HashMap < String, versebase :: datatypes :: DType > [INFO] [stderr] { [INFO] [stderr] std :: collections :: HashMap :: [INFO] [stderr] from([(String :: from(std :: stringify! (id)), versebase :: datatypes [INFO] [stderr] :: DType :: Int(self.id.clone())), [INFO] [stderr] (String :: from(std :: stringify! (name)), versebase :: datatypes :: [INFO] [stderr] DType :: Str(self.name.clone())), [INFO] [stderr] (String :: from(std :: stringify! (artist_id)), versebase :: datatypes [INFO] [stderr] :: DType :: Int(self.artist_id.clone()))]) [INFO] [stderr] } fn serialize_to_vec(& self) -> std :: vec :: Vec < [INFO] [stderr] (String, Box < [u8] >) > [INFO] [stderr] { [INFO] [stderr] let mut serialized = std :: vec :: Vec :: < (String, Box < [u8] >) > [INFO] [stderr] :: new(); [INFO] [stderr] serialized.push((String :: from(std :: stringify! (id)), [INFO] [stderr] self.id.serialize())); ; [INFO] [stderr] serialized.push((String :: from(std :: stringify! (name)), [INFO] [stderr] self.name.serialize())); ; [INFO] [stderr] serialized.push((String :: from(std :: stringify! (artist_id)), [INFO] [stderr] self.artist_id.serialize())); return serialized; [INFO] [stderr] } fn serialize_to_map(& self) -> std :: collections :: HashMap < String, [INFO] [stderr] Box < [u8] >> [INFO] [stderr] { [INFO] [stderr] let mut v = self.serialize_to_vec(); let map : std :: collections :: [INFO] [stderr] HashMap < String, Box < [u8] >> = v.into_iter().collect(); map [INFO] [stderr] } [INFO] [stderr] } impl std :: fmt :: Display for Songs [INFO] [stderr] { [INFO] [stderr] fn fmt(& self, f : & mut std :: fmt :: Formatter < '_ >) -> std :: fmt :: [INFO] [stderr] Result [INFO] [stderr] { [INFO] [stderr] let parts : std :: vec :: Vec < String > = vec! [INFO] [stderr] [format! ("{}: {:?}", std :: stringify! (id), self.id.get()), format! [INFO] [stderr] ("{}: {:?}", std :: stringify! (name), self.name.get()), format! [INFO] [stderr] ("{}: {:?}", std :: stringify! (artist_id), self.artist_id.get())]; [INFO] [stderr] write! (f, "{}{{ {} }}", stringify! (Songs), parts.join(", ")) [INFO] [stderr] } [INFO] [stderr] } [INFO] [stderr] impl Lyrics [INFO] [stderr] { [INFO] [stderr] fn new(id : Int, text : Str, language : Str, song_id : Int) -> Self [INFO] [stderr] { Self { id, text, language, song_id } } [INFO] [stderr] } impl TableSchema for Lyrics [INFO] [stderr] { [INFO] [stderr] fn fields() -> std :: vec :: Vec < String > [INFO] [stderr] { [INFO] [stderr] [std :: stringify! (id).to_string(), std :: stringify! [INFO] [stderr] (text).to_string(), std :: stringify! (language).to_string(), std :: [INFO] [stderr] stringify! (song_id).to_string()].to_vec() [INFO] [stderr] } fn print_info() [INFO] [stderr] { [INFO] [stderr] println! [INFO] [stderr] ("field {:?} of type {:?}", std :: stringify! (id), std :: stringify! [INFO] [stderr] (Int)); println! [INFO] [stderr] ("field {:?} of type {:?}", std :: stringify! (text), std :: [INFO] [stderr] stringify! (Str)); println! [INFO] [stderr] ("field {:?} of type {:?}", std :: stringify! (language), std :: [INFO] [stderr] stringify! (Str)); println! [INFO] [stderr] ("field {:?} of type {:?}", std :: stringify! (song_id), std :: [INFO] [stderr] stringify! (Int)) [INFO] [stderr] } fn from_(raw : std :: vec :: Vec < (String, Box < [u8] >) >) -> Self [INFO] [stderr] { [INFO] [stderr] let map : std :: collections :: HashMap < String, Box < [u8] >> = [INFO] [stderr] raw.into_iter().collect(); Self [INFO] [stderr] { [INFO] [stderr] id : Int :: from_(map [std :: stringify! (id)].deref()), text : [INFO] [stderr] Str :: from_(map [std :: stringify! (text)].deref()), language : [INFO] [stderr] Str :: from_(map [std :: stringify! (language)].deref()), song_id [INFO] [stderr] : Int :: from_(map [std :: stringify! (song_id)].deref()) [INFO] [stderr] } [INFO] [stderr] } fn get(& self, field : String) -> Option < versebase :: datatypes :: [INFO] [stderr] DType > [INFO] [stderr] { [INFO] [stderr] match field.as_str() [INFO] [stderr] { [INFO] [stderr] std :: stringify! (id) => [INFO] [stderr] Some(versebase :: datatypes :: DType :: Int(self.id.clone())), std [INFO] [stderr] :: stringify! (text) => [INFO] [stderr] Some(versebase :: datatypes :: DType :: Str(self.text.clone())), [INFO] [stderr] std :: stringify! (language) => [INFO] [stderr] Some(versebase :: datatypes :: DType :: [INFO] [stderr] Str(self.language.clone())), std :: stringify! (song_id) => [INFO] [stderr] Some(versebase :: datatypes :: DType :: [INFO] [stderr] Int(self.song_id.clone())), _ => None, [INFO] [stderr] } [INFO] [stderr] } fn get_id(& self) -> i32 { self.id.get() } fn to_map(& self) -> std :: [INFO] [stderr] collections :: HashMap < String, versebase :: datatypes :: DType > [INFO] [stderr] { [INFO] [stderr] std :: collections :: HashMap :: [INFO] [stderr] from([(String :: from(std :: stringify! (id)), versebase :: datatypes [INFO] [stderr] :: DType :: Int(self.id.clone())), [INFO] [stderr] ("field {:?} of type {:?}", std :: stringify! (id), std :: stringify! [INFO] [stderr] (Int)); println! [INFO] [stderr] ("field {:?} of type {:?}", std :: stringify! (name), std :: [INFO] [stderr] stringify! (Str)); println! [INFO] [stderr] ("field {:?} of type {:?}", std :: stringify! (artist_id), std :: [INFO] [stderr] stringify! (Int)) [INFO] [stderr] } fn from_(raw : std :: vec :: Vec < (String, Box < [u8] >) >) -> Self [INFO] [stderr] { [INFO] [stderr] let map : std :: collections :: HashMap < String, Box < [u8] >> = [INFO] [stderr] raw.into_iter().collect(); Self [INFO] [stderr] { [INFO] [stderr] id : Int :: from_(map [std :: stringify! (id)].deref()), name : [INFO] [stderr] Str :: from_(map [std :: stringify! (name)].deref()), artist_id : [INFO] [stderr] Int :: from_(map [std :: stringify! (artist_id)].deref()) [INFO] [stderr] } [INFO] [stderr] } fn get(& self, field : String) -> Option < versebase :: datatypes :: [INFO] [stderr] DType > [INFO] [stderr] { [INFO] [stderr] match field.as_str() [INFO] [stderr] { [INFO] [stderr] std :: stringify! (id) => [INFO] [stderr] Some(versebase :: datatypes :: DType :: Int(self.id.clone())), std [INFO] [stderr] :: stringify! (name) => [INFO] [stderr] Some(versebase :: datatypes :: DType :: Str(self.name.clone())), [INFO] [stderr] std :: stringify! (artist_id) => [INFO] [stderr] Some(versebase :: datatypes :: DType :: [INFO] [stderr] Int(self.artist_id.clone())), _ => None, [INFO] [stderr] } [INFO] [stderr] } fn get_id(& self) -> i32 { self.id.get() } fn to_map(& self) -> std :: [INFO] [stderr] collections :: HashMap < String, versebase :: datatypes :: DType > [INFO] [stderr] { [INFO] [stderr] std :: collections :: HashMap :: [INFO] [stderr] from([(String :: from(std :: stringify! (id)), versebase :: datatypes [INFO] [stderr] :: DType :: Int(self.id.clone())), [INFO] [stderr] (String :: from(std :: stringify! (name)), versebase :: datatypes :: [INFO] [stderr] DType :: Str(self.name.clone())), [INFO] [stderr] (String :: from(std :: stringify! (artist_id)), versebase :: datatypes [INFO] [stderr] :: DType :: Int(self.artist_id.clone()))]) [INFO] [stderr] } fn serialize_to_vec(& self) -> std :: vec :: Vec < [INFO] [stderr] (String, Box < [u8] >) > [INFO] [stderr] { [INFO] [stderr] let mut serialized = std :: vec :: Vec :: < (String, Box < [u8] >) > [INFO] [stderr] :: new(); [INFO] [stderr] serialized.push((String :: from(std :: stringify! (id)), [INFO] [stderr] self.id.serialize())); ; [INFO] [stderr] serialized.push((String :: from(std :: stringify! (name)), [INFO] [stderr] self.name.serialize())); ; [INFO] [stderr] serialized.push((String :: from(std :: stringify! (artist_id)), [INFO] [stderr] self.artist_id.serialize())); return serialized; [INFO] [stderr] } fn serialize_to_map(& self) -> std :: collections :: HashMap < String, [INFO] [stderr] Box < [u8] >> [INFO] [stderr] { [INFO] [stderr] let mut v = self.serialize_to_vec(); let map : std :: collections :: [INFO] [stderr] HashMap < String, Box < [u8] >> = v.into_iter().collect(); map [INFO] [stderr] } [INFO] [stderr] } impl std :: fmt :: Display for Songs [INFO] [stderr] { [INFO] [stderr] fn fmt(& self, f : & mut std :: fmt :: Formatter < '_ >) -> std :: fmt :: [INFO] [stderr] Result [INFO] [stderr] { [INFO] [stderr] let parts : std :: vec :: Vec < String > = vec! [INFO] [stderr] [format! ("{}: {:?}", std :: stringify! (id), self.id.get()), format! [INFO] [stderr] ("{}: {:?}", std :: stringify! (name), self.name.get()), format! [INFO] [stderr] ("{}: {:?}", std :: stringify! (artist_id), self.artist_id.get())]; [INFO] [stderr] write! (f, "{}{{ {} }}", stringify! (Songs), parts.join(", ")) [INFO] [stderr] } [INFO] [stderr] } [INFO] [stderr] impl Lyrics [INFO] [stderr] { [INFO] [stderr] fn new(id : Int, text : Str, language : Str, song_id : Int) -> Self [INFO] [stderr] { Self { id, text, language, song_id } } [INFO] [stderr] } impl TableSchema for Lyrics [INFO] [stderr] { [INFO] [stderr] fn fields() -> std :: vec :: Vec < String > [INFO] [stderr] { [INFO] [stderr] [std :: stringify! (id).to_string(), std :: stringify! [INFO] [stderr] (text).to_string(), std :: stringify! (language).to_string(), std :: [INFO] [stderr] stringify! (song_id).to_string()].to_vec() [INFO] [stderr] } fn print_info() [INFO] [stderr] { [INFO] [stderr] println! [INFO] [stderr] ("field {:?} of type {:?}", std :: stringify! (id), std :: stringify! [INFO] [stderr] (Int)); println! [INFO] [stderr] ("field {:?} of type {:?}", std :: stringify! (text), std :: [INFO] [stderr] stringify! (Str)); println! [INFO] [stderr] ("field {:?} of type {:?}", std :: stringify! (language), std :: [INFO] [stderr] stringify! (Str)); println! [INFO] [stderr] ("field {:?} of type {:?}", std :: stringify! (song_id), std :: [INFO] [stderr] stringify! (Int)) [INFO] [stderr] } fn from_(raw : std :: vec :: Vec < (String, Box < [u8] >) >) -> Self [INFO] [stderr] { [INFO] [stderr] let map : std :: collections :: HashMap < String, Box < [u8] >> = [INFO] [stderr] raw.into_iter().collect(); Self [INFO] [stderr] { [INFO] [stderr] id : Int :: from_(map [std :: stringify! (id)].deref()), text : [INFO] [stderr] Str :: from_(map [std :: stringify! (text)].deref()), language : [INFO] [stderr] Str :: from_(map [std :: stringify! (language)].deref()), song_id [INFO] [stderr] : Int :: from_(map [std :: stringify! (song_id)].deref()) [INFO] [stderr] } [INFO] [stderr] } fn get(& self, field : String) -> Option < versebase :: datatypes :: [INFO] [stderr] (String :: from(std :: stringify! (text)), versebase :: datatypes :: [INFO] [stderr] DType :: Str(self.text.clone())), [INFO] [stderr] (String :: from(std :: stringify! (language)), versebase :: datatypes [INFO] [stderr] :: DType :: Str(self.language.clone())), [INFO] [stderr] (String :: from(std :: stringify! (song_id)), versebase :: datatypes [INFO] [stderr] :: DType :: Int(self.song_id.clone()))]) [INFO] [stderr] } fn serialize_to_vec(& self) -> std :: vec :: Vec < [INFO] [stderr] (String, Box < [u8] >) > [INFO] [stderr] { [INFO] [stderr] let mut serialized = std :: vec :: Vec :: < (String, Box < [u8] >) > [INFO] [stderr] :: new(); [INFO] [stderr] serialized.push((String :: from(std :: stringify! (id)), [INFO] [stderr] self.id.serialize())); ; [INFO] [stderr] serialized.push((String :: from(std :: stringify! (text)), [INFO] [stderr] self.text.serialize())); ; [INFO] [stderr] serialized.push((String :: from(std :: stringify! (language)), [INFO] [stderr] self.language.serialize())); ; [INFO] [stderr] serialized.push((String :: from(std :: stringify! (song_id)), [INFO] [stderr] self.song_id.serialize())); return serialized; [INFO] [stderr] } fn serialize_to_map(& self) -> std :: collections :: HashMap < String, [INFO] [stderr] Box < [u8] >> [INFO] [stderr] { [INFO] [stderr] let mut v = self.serialize_to_vec(); let map : std :: collections :: [INFO] [stderr] HashMap < String, Box < [u8] >> = v.into_iter().collect(); map [INFO] [stderr] } [INFO] [stderr] } impl std :: fmt :: Display for Lyrics [INFO] [stderr] { [INFO] [stderr] fn fmt(& self, f : & mut std :: fmt :: Formatter < '_ >) -> std :: fmt :: [INFO] [stderr] Result [INFO] [stderr] { [INFO] [stderr] let parts : std :: vec :: Vec < String > = vec! [INFO] [stderr] [format! ("{}: {:?}", std :: stringify! (id), self.id.get()), format! [INFO] [stderr] ("{}: {:?}", std :: stringify! (text), self.text.get()), format! [INFO] [stderr] ("{}: {:?}", std :: stringify! (language), self.language.get()), [INFO] [stderr] format! [INFO] [stderr] ("{}: {:?}", std :: stringify! (song_id), self.song_id.get())]; write! [INFO] [stderr] (f, "{}{{ {} }}", stringify! (Lyrics), parts.join(", ")) [INFO] [stderr] } [INFO] [stderr] } [INFO] [stderr] impl LikedSongs [INFO] [stderr] { [INFO] [stderr] fn new(id : Int, song_id : Int, user_id : Int, created_at : DateTime) -> [INFO] [stderr] Self { Self { id, song_id, user_id, created_at } } [INFO] [stderr] } impl TableSchema for LikedSongs [INFO] [stderr] { [INFO] [stderr] fn fields() -> std :: vec :: Vec < String > [INFO] [stderr] { [INFO] [stderr] [std :: stringify! (id).to_string(), std :: stringify! [INFO] [stderr] (song_id).to_string(), std :: stringify! (user_id).to_string(), std :: [INFO] [stderr] stringify! (created_at).to_string()].to_vec() [INFO] [stderr] } fn print_info() [INFO] [stderr] { [INFO] [stderr] println! [INFO] [stderr] ("field {:?} of type {:?}", std :: stringify! (id), std :: stringify! [INFO] [stderr] (Int)); println! [INFO] [stderr] ("field {:?} of type {:?}", std :: stringify! (song_id), std :: [INFO] [stderr] stringify! (Int)); println! [INFO] [stderr] ("field {:?} of type {:?}", std :: stringify! (user_id), std :: [INFO] [stderr] stringify! (Int)); println! [INFO] [stderr] ("field {:?} of type {:?}", std :: stringify! (created_at), std :: [INFO] [stderr] stringify! (DateTime)) [INFO] [stderr] } fn from_(raw : std :: vec :: Vec < (String, Box < [u8] >) >) -> Self [INFO] [stderr] { [INFO] [stderr] let map : std :: collections :: HashMap < String, Box < [u8] >> = [INFO] [stderr] raw.into_iter().collect(); Self [INFO] [stderr] { [INFO] [stderr] id : Int :: from_(map [std :: stringify! (id)].deref()), song_id : [INFO] [stderr] Int :: from_(map [std :: stringify! (song_id)].deref()), user_id : [INFO] [stderr] Int :: from_(map [std :: stringify! (user_id)].deref()), [INFO] [stderr] created_at : DateTime :: [INFO] [stderr] from_(map [std :: stringify! (created_at)].deref()) [INFO] [stderr] } [INFO] [stderr] } fn get(& self, field : String) -> Option < versebase :: datatypes :: [INFO] [stderr] DType > [INFO] [stderr] { [INFO] [stderr] match field.as_str() [INFO] [stderr] { [INFO] [stderr] std :: stringify! (id) => [INFO] [stderr] Some(versebase :: datatypes :: DType :: Int(self.id.clone())), std [INFO] [stderr] :: stringify! (song_id) => [INFO] [stderr] Some(versebase :: datatypes :: DType :: [INFO] [stderr] Int(self.song_id.clone())), std :: stringify! (user_id) => [INFO] [stderr] Some(versebase :: datatypes :: DType :: [INFO] [stderr] Int(self.user_id.clone())), std :: stringify! (created_at) => [INFO] [stderr] Some(versebase :: datatypes :: DType :: [INFO] [stderr] DateTime(self.created_at.clone())), _ => None, [INFO] [stderr] } [INFO] [stderr] } fn get_id(& self) -> i32 { self.id.get() } fn to_map(& self) -> std :: [INFO] [stderr] collections :: HashMap < String, versebase :: datatypes :: DType > [INFO] [stderr] { [INFO] [stderr] std :: collections :: HashMap :: [INFO] [stderr] from([(String :: from(std :: stringify! (id)), versebase :: datatypes [INFO] [stderr] :: DType :: Int(self.id.clone())), [INFO] [stderr] (String :: from(std :: stringify! (song_id)), versebase :: datatypes [INFO] [stderr] :: DType :: Int(self.song_id.clone())), [INFO] [stderr] (String :: from(std :: stringify! (user_id)), versebase :: datatypes [INFO] [stderr] :: DType :: Int(self.user_id.clone())), [INFO] [stderr] (String :: from(std :: stringify! (created_at)), versebase :: [INFO] [stderr] datatypes :: DType :: DateTime(self.created_at.clone()))]) [INFO] [stderr] } fn serialize_to_vec(& self) -> std :: vec :: Vec < [INFO] [stderr] DType > [INFO] [stderr] { [INFO] [stderr] match field.as_str() [INFO] [stderr] { [INFO] [stderr] std :: stringify! (id) => [INFO] [stderr] Some(versebase :: datatypes :: DType :: Int(self.id.clone())), std [INFO] [stderr] :: stringify! (text) => [INFO] [stderr] Some(versebase :: datatypes :: DType :: Str(self.text.clone())), [INFO] [stderr] std :: stringify! (language) => [INFO] [stderr] Some(versebase :: datatypes :: DType :: [INFO] [stderr] Str(self.language.clone())), std :: stringify! (song_id) => [INFO] [stderr] Some(versebase :: datatypes :: DType :: [INFO] [stderr] Int(self.song_id.clone())), _ => None, [INFO] [stderr] } [INFO] [stderr] } fn get_id(& self) -> i32 { self.id.get() } fn to_map(& self) -> std :: [INFO] [stderr] collections :: HashMap < String, versebase :: datatypes :: DType > [INFO] [stderr] { [INFO] [stderr] std :: collections :: HashMap :: [INFO] [stderr] from([(String :: from(std :: stringify! (id)), versebase :: datatypes [INFO] [stderr] :: DType :: Int(self.id.clone())), [INFO] [stderr] (String :: from(std :: stringify! (text)), versebase :: datatypes :: [INFO] [stderr] DType :: Str(self.text.clone())), [INFO] [stderr] (String :: from(std :: stringify! (language)), versebase :: datatypes [INFO] [stderr] :: DType :: Str(self.language.clone())), [INFO] [stderr] (String :: from(std :: stringify! (song_id)), versebase :: datatypes [INFO] [stderr] :: DType :: Int(self.song_id.clone()))]) [INFO] [stderr] } fn serialize_to_vec(& self) -> std :: vec :: Vec < [INFO] [stderr] (String, Box < [u8] >) > [INFO] [stderr] { [INFO] [stderr] let mut serialized = std :: vec :: Vec :: < (String, Box < [u8] >) > [INFO] [stderr] :: new(); [INFO] [stderr] serialized.push((String :: from(std :: stringify! (id)), [INFO] [stderr] self.id.serialize())); ; [INFO] [stderr] serialized.push((String :: from(std :: stringify! (text)), [INFO] [stderr] self.text.serialize())); ; [INFO] [stderr] serialized.push((String :: from(std :: stringify! (language)), [INFO] [stderr] self.language.serialize())); ; [INFO] [stderr] serialized.push((String :: from(std :: stringify! (song_id)), [INFO] [stderr] self.song_id.serialize())); return serialized; [INFO] [stderr] } fn serialize_to_map(& self) -> std :: collections :: HashMap < String, [INFO] [stderr] Box < [u8] >> [INFO] [stderr] { [INFO] [stderr] let mut v = self.serialize_to_vec(); let map : std :: collections :: [INFO] [stderr] HashMap < String, Box < [u8] >> = v.into_iter().collect(); map [INFO] [stderr] } [INFO] [stderr] } impl std :: fmt :: Display for Lyrics [INFO] [stderr] { [INFO] [stderr] fn fmt(& self, f : & mut std :: fmt :: Formatter < '_ >) -> std :: fmt :: [INFO] [stderr] Result [INFO] [stderr] { [INFO] [stderr] let parts : std :: vec :: Vec < String > = vec! [INFO] [stderr] [format! ("{}: {:?}", std :: stringify! (id), self.id.get()), format! [INFO] [stderr] ("{}: {:?}", std :: stringify! (text), self.text.get()), format! [INFO] [stderr] ("{}: {:?}", std :: stringify! (language), self.language.get()), [INFO] [stderr] format! [INFO] [stderr] ("{}: {:?}", std :: stringify! (song_id), self.song_id.get())]; write! [INFO] [stderr] (f, "{}{{ {} }}", stringify! (Lyrics), parts.join(", ")) [INFO] [stderr] } [INFO] [stderr] } [INFO] [stderr] impl LikedSongs [INFO] [stderr] { [INFO] [stderr] fn new(id : Int, song_id : Int, user_id : Int, created_at : DateTime) -> [INFO] [stderr] Self { Self { id, song_id, user_id, created_at } } [INFO] [stderr] } impl TableSchema for LikedSongs [INFO] [stderr] { [INFO] [stderr] fn fields() -> std :: vec :: Vec < String > [INFO] [stderr] { [INFO] [stderr] [std :: stringify! (id).to_string(), std :: stringify! [INFO] [stderr] (song_id).to_string(), std :: stringify! (user_id).to_string(), std :: [INFO] [stderr] stringify! (created_at).to_string()].to_vec() [INFO] [stderr] } fn print_info() [INFO] [stderr] { [INFO] [stderr] println! [INFO] [stderr] ("field {:?} of type {:?}", std :: stringify! (id), std :: stringify! [INFO] [stderr] (Int)); println! [INFO] [stderr] ("field {:?} of type {:?}", std :: stringify! (song_id), std :: [INFO] [stderr] stringify! (Int)); println! [INFO] [stderr] ("field {:?} of type {:?}", std :: stringify! (user_id), std :: [INFO] [stderr] stringify! (Int)); println! [INFO] [stderr] ("field {:?} of type {:?}", std :: stringify! (created_at), std :: [INFO] [stderr] stringify! (DateTime)) [INFO] [stderr] } fn from_(raw : std :: vec :: Vec < (String, Box < [u8] >) >) -> Self [INFO] [stderr] { [INFO] [stderr] let map : std :: collections :: HashMap < String, Box < [u8] >> = [INFO] [stderr] raw.into_iter().collect(); Self [INFO] [stderr] { [INFO] [stderr] id : Int :: from_(map [std :: stringify! (id)].deref()), song_id : [INFO] [stderr] Int :: from_(map [std :: stringify! (song_id)].deref()), user_id : [INFO] [stderr] Int :: from_(map [std :: stringify! (user_id)].deref()), [INFO] [stderr] created_at : DateTime :: [INFO] [stderr] from_(map [std :: stringify! (created_at)].deref()) [INFO] [stderr] } [INFO] [stderr] } fn get(& self, field : String) -> Option < versebase :: datatypes :: [INFO] [stderr] DType > [INFO] [stderr] { [INFO] [stderr] match field.as_str() [INFO] [stderr] { [INFO] [stderr] std :: stringify! (id) => [INFO] [stderr] Some(versebase :: datatypes :: DType :: Int(self.id.clone())), std [INFO] [stderr] :: stringify! (song_id) => [INFO] [stdout] warning: unused import: `std::any::Any` [INFO] [stdout] --> playground/src/schemas.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::any::Any; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> playground/src/schemas.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `versebase::error` [INFO] [stdout] --> playground/src/schemas.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use versebase::error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Table` [INFO] [stdout] --> playground/src/schemas.rs:8:24 [INFO] [stdout] | [INFO] [stdout] 8 | use versebase::table::{Table, TableSchema}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TableIndex` [INFO] [stdout] --> playground/src/schemas.rs:9:24 [INFO] [stdout] | [INFO] [stdout] 9 | use versebase::index::{TableIndex}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DType` [INFO] [stdout] --> playground/src/schemas.rs:10:58 [INFO] [stdout] | [INFO] [stdout] 10 | use versebase::datatypes::{Int, Str, DateTime, DataType, DType}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `versebase::datatypes` [INFO] [stdout] --> playground/src/schemas.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use versebase::datatypes; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> playground/src/db.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Deref` [INFO] [stdout] --> playground/src/db.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::ops::Deref; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DateTime`, `Int`, and `Str` [INFO] [stdout] --> playground/src/db.rs:9:28 [INFO] [stdout] | [INFO] [stdout] 9 | use versebase::datatypes::{Int, Str, DateTime, DataType}; [INFO] [stdout] | ^^^ ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `versebase::datatypes` [INFO] [stdout] --> playground/src/db.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use versebase::datatypes; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] (String, Box < [u8] >) > [INFO] [stderr] { [INFO] [stderr] let mut serialized = std :: vec :: Vec :: < (String, Box < [u8] >) > [INFO] [stderr] :: new(); [INFO] [stderr] serialized.push((String :: from(std :: stringify! (id)), [INFO] [stderr] self.id.serialize())); ; [INFO] [stderr] serialized.push((String :: from(std :: stringify! (song_id)), [INFO] [stderr] self.song_id.serialize())); ; [INFO] [stderr] serialized.push((String :: from(std :: stringify! (user_id)), [INFO] [stderr] self.user_id.serialize())); ; [INFO] [stderr] serialized.push((String :: from(std :: stringify! (created_at)), [INFO] [stderr] self.created_at.serialize())); return serialized; [INFO] [stderr] } fn serialize_to_map(& self) -> std :: collections :: HashMap < String, [INFO] [stderr] Box < [u8] >> [INFO] [stderr] { [INFO] [stderr] let mut v = self.serialize_to_vec(); let map : std :: collections :: [INFO] [stderr] HashMap < String, Box < [u8] >> = v.into_iter().collect(); map [INFO] [stderr] } [INFO] [stderr] } impl std :: fmt :: Display for LikedSongs [INFO] [stderr] { [INFO] [stderr] fn fmt(& self, f : & mut std :: fmt :: Formatter < '_ >) -> std :: fmt :: [INFO] [stderr] Result [INFO] [stderr] { [INFO] [stderr] let parts : std :: vec :: Vec < String > = vec! [INFO] [stderr] [format! ("{}: {:?}", std :: stringify! (id), self.id.get()), format! [INFO] [stderr] ("{}: {:?}", std :: stringify! (song_id), self.song_id.get()), format! [INFO] [stderr] ("{}: {:?}", std :: stringify! (user_id), self.user_id.get()), format! [INFO] [stderr] ("{}: {:?}", std :: stringify! (created_at), self.created_at.get())]; [INFO] [stderr] write! (f, "{}{{ {} }}", stringify! (LikedSongs), parts.join(", ")) [INFO] [stderr] } [INFO] [stderr] } [INFO] [stderr] Some(versebase :: datatypes :: DType :: [INFO] [stderr] Int(self.song_id.clone())), std :: stringify! (user_id) => [INFO] [stderr] Some(versebase :: datatypes :: DType :: [INFO] [stderr] Int(self.user_id.clone())), std :: stringify! (created_at) => [INFO] [stderr] Some(versebase :: datatypes :: DType :: [INFO] [stderr] DateTime(self.created_at.clone())), _ => None, [INFO] [stderr] } [INFO] [stderr] } fn get_id(& self) -> i32 { self.id.get() } fn to_map(& self) -> std :: [INFO] [stderr] collections :: HashMap < String, versebase :: datatypes :: DType > [INFO] [stderr] { [INFO] [stderr] std :: collections :: HashMap :: [INFO] [stderr] from([(String :: from(std :: stringify! (id)), versebase :: datatypes [INFO] [stderr] :: DType :: Int(self.id.clone())), [INFO] [stderr] (String :: from(std :: stringify! (song_id)), versebase :: datatypes [INFO] [stderr] :: DType :: Int(self.song_id.clone())), [INFO] [stderr] (String :: from(std :: stringify! (user_id)), versebase :: datatypes [INFO] [stderr] :: DType :: Int(self.user_id.clone())), [INFO] [stderr] (String :: from(std :: stringify! (created_at)), versebase :: [INFO] [stderr] datatypes :: DType :: DateTime(self.created_at.clone()))]) [INFO] [stderr] } fn serialize_to_vec(& self) -> std :: vec :: Vec < [INFO] [stderr] (String, Box < [u8] >) > [INFO] [stderr] { [INFO] [stderr] let mut serialized = std :: vec :: Vec :: < (String, Box < [u8] >) > [INFO] [stderr] :: new(); [INFO] [stderr] serialized.push((String :: from(std :: stringify! (id)), [INFO] [stderr] self.id.serialize())); ; [INFO] [stderr] serialized.push((String :: from(std :: stringify! (song_id)), [INFO] [stderr] self.song_id.serialize())); ; [INFO] [stdout] warning: unused import: `std::any::Any` [INFO] [stdout] --> playground/src/schemas.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use std::any::Any; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> playground/src/schemas.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `versebase::error` [INFO] [stdout] --> playground/src/schemas.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use versebase::error; [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Table` [INFO] [stdout] --> playground/src/schemas.rs:8:24 [INFO] [stdout] | [INFO] [stdout] 8 | use versebase::table::{Table, TableSchema}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TableIndex` [INFO] [stdout] --> playground/src/schemas.rs:9:24 [INFO] [stdout] | [INFO] [stdout] 9 | use versebase::index::{TableIndex}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DType` [INFO] [stdout] --> playground/src/schemas.rs:10:58 [INFO] [stdout] | [INFO] [stdout] 10 | use versebase::datatypes::{Int, Str, DateTime, DataType, DType}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `versebase::datatypes` [INFO] [stdout] --> playground/src/schemas.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use versebase::datatypes; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> playground/src/db.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Deref` [INFO] [stdout] --> playground/src/db.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::ops::Deref; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DType` and `DateTime` [INFO] [stdout] --> playground/src/view.rs:6:38 [INFO] [stdout] | [INFO] [stdout] 6 | use versebase::datatypes::{Int, Str, DateTime, DataType, DType}; [INFO] [stdout] | ^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> playground/src/view.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `versebase::datatypes` [INFO] [stdout] --> playground/src/view.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use versebase::datatypes; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DateTime`, `Int`, and `Str` [INFO] [stdout] --> playground/src/db.rs:9:28 [INFO] [stdout] | [INFO] [stdout] 9 | use versebase::datatypes::{Int, Str, DateTime, DataType}; [INFO] [stdout] | ^^^ ^^^ ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `versebase::datatypes` [INFO] [stdout] --> playground/src/db.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use versebase::datatypes; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DType` and `DateTime` [INFO] [stdout] --> playground/src/view.rs:6:38 [INFO] [stdout] | [INFO] [stdout] 6 | use versebase::datatypes::{Int, Str, DateTime, DataType, DType}; [INFO] [stdout] | ^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::collections::HashMap` [INFO] [stdout] --> playground/src/view.rs:7:5 [INFO] [stdout] | [INFO] [stdout] 7 | use std::collections::HashMap; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `versebase::datatypes` [INFO] [stdout] --> playground/src/view.rs:8:5 [INFO] [stdout] | [INFO] [stdout] 8 | use versebase::datatypes; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] serialized.push((String :: from(std :: stringify! (user_id)), [INFO] [stderr] self.user_id.serialize())); ; [INFO] [stderr] serialized.push((String :: from(std :: stringify! (created_at)), [INFO] [stderr] self.created_at.serialize())); return serialized; [INFO] [stderr] } fn serialize_to_map(& self) -> std :: collections :: HashMap < String, [INFO] [stderr] Box < [u8] >> [INFO] [stderr] { [INFO] [stderr] let mut v = self.serialize_to_vec(); let map : std :: collections :: [INFO] [stderr] HashMap < String, Box < [u8] >> = v.into_iter().collect(); map [INFO] [stderr] } [INFO] [stderr] } impl std :: fmt :: Display for LikedSongs [INFO] [stderr] { [INFO] [stderr] fn fmt(& self, f : & mut std :: fmt :: Formatter < '_ >) -> std :: fmt :: [INFO] [stderr] Result [INFO] [stderr] { [INFO] [stderr] let parts : std :: vec :: Vec < String > = vec! [INFO] [stderr] [format! ("{}: {:?}", std :: stringify! (id), self.id.get()), format! [INFO] [stderr] ("{}: {:?}", std :: stringify! (song_id), self.song_id.get()), format! [INFO] [stderr] ("{}: {:?}", std :: stringify! (user_id), self.user_id.get()), format! [INFO] [stderr] ("{}: {:?}", std :: stringify! (created_at), self.created_at.get())]; [INFO] [stderr] write! (f, "{}{{ {} }}", stringify! (LikedSongs), parts.join(", ")) [INFO] [stderr] } [INFO] [stderr] } [INFO] [stdout] warning: unused import: `versebase::table::TableSchema` [INFO] [stdout] --> playground/src/view.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use versebase::table::TableSchema; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> playground/src/schemas.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DataType` [INFO] [stdout] --> playground/src/db.rs:9:48 [INFO] [stdout] | [INFO] [stdout] 9 | use versebase::datatypes::{Int, Str, DateTime, DataType}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `versebase::table::TableSchema` [INFO] [stdout] --> playground/src/view.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use versebase::table::TableSchema; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> playground/src/schemas.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `DataType` [INFO] [stdout] --> playground/src/db.rs:9:48 [INFO] [stdout] | [INFO] [stdout] 9 | use versebase::datatypes::{Int, Str, DateTime, DataType}; [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> playground/src/schemas.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | db.songs.get(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 33 | let _ = db.songs.get(1); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> playground/src/schemas.rs:33:9 [INFO] [stdout] | [INFO] [stdout] 33 | db.songs.get(1); [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 33 | let _ = db.songs.get(1); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 18 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 18 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> playground/src/main.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Deref` [INFO] [stdout] --> playground/src/main.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::ops::Deref; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> playground/src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Table` [INFO] [stdout] --> playground/src/main.rs:7:24 [INFO] [stdout] | [INFO] [stdout] 7 | use versebase::table::{Table, TableSchema}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TableIndex` [INFO] [stdout] --> playground/src/main.rs:8:24 [INFO] [stdout] | [INFO] [stdout] 8 | use versebase::index::{TableIndex}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DType` and `DateTime` [INFO] [stdout] --> playground/src/main.rs:9:38 [INFO] [stdout] | [INFO] [stdout] 9 | use versebase::datatypes::{Int, Str, DateTime, DataType, DType}; [INFO] [stdout] | ^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `versebase::datatypes` [INFO] [stdout] --> playground/src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use versebase::datatypes; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> playground/src/main.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 21 | return; [INFO] [stdout] | ------ any code following this expression is unreachable [INFO] [stdout] 22 | [INFO] [stdout] 23 | let mut db = Database::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::io::Write` [INFO] [stdout] --> playground/src/main.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 2 | use std::io::Write; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::ops::Deref` [INFO] [stdout] --> playground/src/main.rs:3:5 [INFO] [stdout] | [INFO] [stdout] 3 | use std::ops::Deref; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TableSchema` [INFO] [stdout] --> playground/src/main.rs:7:31 [INFO] [stdout] | [INFO] [stdout] 7 | use versebase::table::{Table, TableSchema}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `std::path::Path` [INFO] [stdout] --> playground/src/main.rs:4:5 [INFO] [stdout] | [INFO] [stdout] 4 | use std::path::Path; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Table` [INFO] [stdout] --> playground/src/main.rs:7:24 [INFO] [stdout] | [INFO] [stdout] 7 | use versebase::table::{Table, TableSchema}; [INFO] [stdout] | ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TableIndex` [INFO] [stdout] --> playground/src/main.rs:8:24 [INFO] [stdout] | [INFO] [stdout] 8 | use versebase::index::{TableIndex}; [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `DType` and `DateTime` [INFO] [stdout] --> playground/src/main.rs:9:38 [INFO] [stdout] | [INFO] [stdout] 9 | use versebase::datatypes::{Int, Str, DateTime, DataType, DType}; [INFO] [stdout] | ^^^^^^^^ ^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `versebase::datatypes` [INFO] [stdout] --> playground/src/main.rs:10:5 [INFO] [stdout] | [INFO] [stdout] 10 | use versebase::datatypes; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unreachable statement [INFO] [stdout] --> playground/src/main.rs:23:5 [INFO] [stdout] | [INFO] [stdout] 21 | return; [INFO] [stdout] | ------ any code following this expression is unreachable [INFO] [stdout] 22 | [INFO] [stdout] 23 | let mut db = Database::new(); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unreachable statement [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unreachable_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `TableSchema` [INFO] [stdout] --> playground/src/main.rs:7:31 [INFO] [stdout] | [INFO] [stdout] 7 | use versebase::table::{Table, TableSchema}; [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> playground/src/main.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | db.artists.create(artist1_slayer); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 53 | let _ = db.artists.create(artist1_slayer); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> playground/src/main.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | db.artists.create(artist2_kasabian); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 54 | let _ = db.artists.create(artist2_kasabian); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> playground/src/main.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | db.songs.create(s1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 56 | let _ = db.songs.create(s1); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> playground/src/main.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | db.songs.create(s2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 57 | let _ = db.songs.create(s2); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> playground/src/main.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | db.songs.create(s3); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 58 | let _ = db.songs.create(s3); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 14 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> playground/src/main.rs:53:5 [INFO] [stdout] | [INFO] [stdout] 53 | db.artists.create(artist1_slayer); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] = note: `#[warn(unused_must_use)]` on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 53 | let _ = db.artists.create(artist1_slayer); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> playground/src/main.rs:54:5 [INFO] [stdout] | [INFO] [stdout] 54 | db.artists.create(artist2_kasabian); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 54 | let _ = db.artists.create(artist2_kasabian); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> playground/src/main.rs:56:5 [INFO] [stdout] | [INFO] [stdout] 56 | db.songs.create(s1); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 56 | let _ = db.songs.create(s1); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> playground/src/main.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | db.songs.create(s2); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 57 | let _ = db.songs.create(s2); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `Result` that must be used [INFO] [stdout] --> playground/src/main.rs:58:5 [INFO] [stdout] | [INFO] [stdout] 58 | db.songs.create(s3); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: this `Result` may be an `Err` variant, which should be handled [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 58 | let _ = db.songs.create(s3); [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 14 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.33s [INFO] running `Command { std: "docker" "inspect" "a32001bd1077ffe1ba8f20a69a393ca76d792a62c9da24872fc9427369fecfa6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "a32001bd1077ffe1ba8f20a69a393ca76d792a62c9da24872fc9427369fecfa6", kill_on_drop: false }` [INFO] [stdout] a32001bd1077ffe1ba8f20a69a393ca76d792a62c9da24872fc9427369fecfa6