[INFO] updating cached repository https://github.com/eigenein/my-iot-rs [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] [stderr] From https://github.com/eigenein/my-iot-rs [INFO] [stderr] - [deleted] (none) -> issue/49 [INFO] [stderr] + 0857b02...b00499f master -> master (forced update) [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] b00499fe83ad183fbd3a6ec10da5211ace7504c6 [INFO] checking eigenein/my-iot-rs against try#8810c24b0958114d8dbb32d878444e8956fce80f for pr-66063 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Feigenein%2Fmy-iot-rs" "/workspace/builds/worker-13/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-13/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/eigenein/my-iot-rs on toolchain 8810c24b0958114d8dbb32d878444e8956fce80f [INFO] running `"/workspace/cargo-home/bin/cargo" "+8810c24b0958114d8dbb32d878444e8956fce80f" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/eigenein/my-iot-rs [INFO] finished tweaking git repo https://github.com/eigenein/my-iot-rs [INFO] tweaked toml for git repo https://github.com/eigenein/my-iot-rs written to /workspace/builds/worker-13/source/Cargo.toml [INFO] crate git repo https://github.com/eigenein/my-iot-rs already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+8810c24b0958114d8dbb32d878444e8956fce80f" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-13/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=allow" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+8810c24b0958114d8dbb32d878444e8956fce80f" "check" "--frozen" "--all" "--all-targets"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] b93c32c3348dea1320ac24d8260b63938eaa3df2eb682bfd00150415d42f6d6d [INFO] running `"docker" "start" "-a" "b93c32c3348dea1320ac24d8260b63938eaa3df2eb682bfd00150415d42f6d6d"` [INFO] [stderr] Checking want v0.2.0 [INFO] [stderr] Checking dirs v1.0.5 [INFO] [stderr] Checking filetime v0.2.7 [INFO] [stderr] Checking rand v0.5.6 [INFO] [stderr] Checking backtrace-sys v0.1.32 [INFO] [stderr] Checking openssl-sys v0.9.52 [INFO] [stderr] Checking brotli-sys v0.3.2 [INFO] [stderr] Checking mio v0.6.19 [INFO] [stderr] Compiling rand v0.6.5 [INFO] [stderr] Checking tempdir v0.3.7 [INFO] [stderr] Checking cookie v0.12.0 [INFO] [stderr] Checking tokio-io v0.1.12 [INFO] [stderr] Checking parking_lot_core v0.6.2 [INFO] [stderr] Compiling proc-macro-error v0.2.6 [INFO] [stderr] Compiling markup-proc-macro v0.4.1 [INFO] [stderr] Checking rusqlite v0.20.0 [INFO] [stderr] Checking cgmath v0.16.1 [INFO] [stderr] Checking backtrace v0.3.40 [INFO] [stderr] Checking brotli2 v0.3.2 [INFO] [stderr] Checking chrono v0.4.9 [INFO] [stderr] Checking serde_urlencoded v0.5.5 [INFO] [stderr] Checking toml v0.5.5 [INFO] [stderr] Compiling chrono-tz v0.5.1 [INFO] [stderr] Checking term v0.5.2 [INFO] [stderr] Checking parking_lot v0.9.0 [INFO] [stderr] Checking tokio-threadpool v0.1.16 [INFO] [stderr] Checking openssl v0.10.25 [INFO] [stderr] Compiling structopt-derive v0.3.3 [INFO] [stderr] Checking error-chain v0.12.1 [INFO] [stderr] Checking failure v0.1.6 [INFO] [stderr] Checking error-chain v0.11.0 [INFO] [stderr] Checking h2 v0.1.26 [INFO] [stderr] Checking tokio-reactor v0.1.10 [INFO] [stderr] Compiling phf_generator v0.7.24 [INFO] [stderr] Checking uuid v0.7.4 [INFO] [stderr] Checking publicsuffix v1.5.3 [INFO] [stderr] Checking tokio-tcp v0.1.3 [INFO] [stderr] Compiling phf_codegen v0.7.24 [INFO] [stderr] Checking tiny_http v0.6.2 [INFO] [stderr] Checking cookie_store v0.7.0 [INFO] [stderr] Checking tokio v0.1.22 [INFO] [stderr] Checking markup v0.4.1 [INFO] [stderr] Compiling mime_guess v1.8.7 [INFO] [stderr] Checking native-tls v0.2.3 [INFO] [stderr] Checking hyper v0.12.35 [INFO] [stderr] Checking structopt v0.3.3 [INFO] [stderr] Checking winconsole v0.10.0 [INFO] [stderr] Checking colored v1.8.0 [INFO] [stderr] Checking multipart v0.15.4 [INFO] [stderr] Checking simple_logger v1.3.0 [INFO] [stderr] Checking rouille v3.0.0 [INFO] [stderr] Checking hyper-tls v0.3.2 [INFO] [stderr] Checking reqwest v0.9.22 [INFO] [stderr] Checking eventsource v0.4.0 [INFO] [stderr] Checking my-iot v0.28.0 (/opt/rustwide/workdir) [INFO] [stderr] error[E0425]: cannot find value `type_` in this scope [INFO] [stderr] --> src/core/persistence/value.rs:43:60 [INFO] [stderr] | [INFO] [stderr] 43 | _ => Err(format_err!("unknown value type: {}", type_)), [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find function `establish_connection` in this scope [INFO] [stderr] --> src/core/persistence.rs:157:18 [INFO] [stderr] | [INFO] [stderr] 157 | let db = establish_connection(":memory:")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0423]: expected value, found module `reading` [INFO] [stderr] --> src/core/persistence.rs:185:60 [INFO] [stderr] | [INFO] [stderr] 185 | assert_eq!(select_last_reading(&db, "test")?, Some(reading)); [INFO] [stderr] | ^^^^^^^ not a value [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find function `establish_connection` in this scope [INFO] [stderr] --> src/core/persistence.rs:191:18 [INFO] [stderr] | [INFO] [stderr] 191 | let db = establish_connection(":memory:")?; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `message` in this scope [INFO] [stderr] --> src/core/persistence.rs:225:30 [INFO] [stderr] | [INFO] [stderr] 225 | upsert_reading(&db, &message.sensor, &message.reading)?; [INFO] [stderr] | ^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `message` in this scope [INFO] [stderr] --> src/core/persistence.rs:225:47 [INFO] [stderr] | [INFO] [stderr] 225 | upsert_reading(&db, &message.sensor, &message.reading)?; [INFO] [stderr] | ^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `message` in this scope [INFO] [stderr] --> src/core/persistence.rs:230:30 [INFO] [stderr] | [INFO] [stderr] 230 | upsert_reading(&db, &message.sensor, &message.reading)?; [INFO] [stderr] | ^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `message` in this scope [INFO] [stderr] --> src/core/persistence.rs:230:47 [INFO] [stderr] | [INFO] [stderr] 230 | upsert_reading(&db, &message.sensor, &message.reading)?; [INFO] [stderr] | ^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `SqliteConnection` in this scope [INFO] [stderr] --> src/services/automator.rs:27:20 [INFO] [stderr] | [INFO] [stderr] 27 | db: &Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `SqliteConnection` in this scope [INFO] [stderr] --> src/services/automator.rs:138:24 [INFO] [stderr] | [INFO] [stderr] 138 | db: &Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `SqliteConnection` in this scope [INFO] [stderr] --> src/services/db.rs:23:20 [INFO] [stderr] | [INFO] [stderr] 23 | db: &Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `SqliteConnection` in this scope [INFO] [stderr] --> src/services.rs:21:20 [INFO] [stderr] | [INFO] [stderr] 21 | db: &Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `SqliteConnection` in this scope [INFO] [stderr] --> src/templates/index.rs:7:41 [INFO] [stderr] | [INFO] [stderr] 7 | IndexTemplate<'a>(db: &'a Arc>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `messages` in this scope [INFO] [stderr] --> src/templates/index.rs:16:26 [INFO] [stderr] | [INFO] [stderr] 16 | {messages.len()} " sensors" [INFO] [stderr] | ^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `messages` in this scope [INFO] [stderr] --> src/templates/index.rs:24:38 [INFO] [stderr] | [INFO] [stderr] 24 | @for message in {messages} { [INFO] [stderr] | ^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0423]: expected value, found module `sensor` [INFO] [stderr] --> src/templates/index.rs:25:44 [INFO] [stderr] | [INFO] [stderr] 25 | {ReadingTemplate { sensor, reading }} [INFO] [stderr] | ^^^^^^ not a value [INFO] [stderr] [INFO] [stderr] error[E0423]: expected value, found module `reading` [INFO] [stderr] --> src/templates/index.rs:25:52 [INFO] [stderr] | [INFO] [stderr] 25 | {ReadingTemplate { sensor, reading }} [INFO] [stderr] | ^^^^^^^ not a value [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `SqliteConnection` in this scope [INFO] [stderr] --> src/web.rs:19:55 [INFO] [stderr] | [INFO] [stderr] 19 | pub fn start_server(settings: Settings, db: Arc>) -> ! { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `SqliteConnection` in this scope [INFO] [stderr] --> src/web.rs:40:25 [INFO] [stderr] | [INFO] [stderr] 40 | fn index(db: &Arc>) -> Response { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `SqliteConnection` in this scope [INFO] [stderr] --> src/web.rs:50:30 [INFO] [stderr] | [INFO] [stderr] 50 | fn get_sensor(db: &Arc>, sensor: &str) -> Response { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `SqliteConnection` in this scope [INFO] [stderr] --> src/web.rs:72:35 [INFO] [stderr] | [INFO] [stderr] 72 | fn get_sensor_json(db: &Arc>, sensor: &str) -> Response { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find function `establish_connection` in module `crate::core::persistence` [INFO] [stderr] --> src/main.rs:57:60 [INFO] [stderr] | [INFO] [stderr] 57 | let db = Arc::new(Mutex::new(crate::core::persistence::establish_connection(&opt.db)?)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ not found in `crate::core::persistence` [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `SqliteConnection` in this scope [INFO] [stderr] --> src/main.rs:82:20 [INFO] [stderr] | [INFO] [stderr] 82 | db: &Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `type_` in this scope [INFO] [stderr] --> src/core/persistence/value.rs:43:60 [INFO] [stderr] | [INFO] [stderr] 43 | _ => Err(format_err!("unknown value type: {}", type_)), [INFO] [stderr] | ^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `SqliteConnection` in this scope [INFO] [stderr] --> src/services/automator.rs:27:20 [INFO] [stderr] | [INFO] [stderr] 27 | db: &Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `SqliteConnection` in this scope [INFO] [stderr] --> src/services/automator.rs:138:24 [INFO] [stderr] | [INFO] [stderr] 138 | db: &Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `SqliteConnection` in this scope [INFO] [stderr] --> src/services/db.rs:23:20 [INFO] [stderr] | [INFO] [stderr] 23 | db: &Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `SqliteConnection` in this scope [INFO] [stderr] --> src/services.rs:21:20 [INFO] [stderr] | [INFO] [stderr] 21 | db: &Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `SqliteConnection` in this scope [INFO] [stderr] --> src/templates/index.rs:7:41 [INFO] [stderr] | [INFO] [stderr] 7 | IndexTemplate<'a>(db: &'a Arc>) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `messages` in this scope [INFO] [stderr] --> src/templates/index.rs:16:26 [INFO] [stderr] | [INFO] [stderr] 16 | {messages.len()} " sensors" [INFO] [stderr] | ^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find value `messages` in this scope [INFO] [stderr] --> src/templates/index.rs:24:38 [INFO] [stderr] | [INFO] [stderr] 24 | @for message in {messages} { [INFO] [stderr] | ^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0423]: expected value, found module `sensor` [INFO] [stderr] --> src/templates/index.rs:25:44 [INFO] [stderr] | [INFO] [stderr] 25 | {ReadingTemplate { sensor, reading }} [INFO] [stderr] | ^^^^^^ not a value [INFO] [stderr] [INFO] [stderr] error[E0423]: expected value, found module `reading` [INFO] [stderr] --> src/templates/index.rs:25:52 [INFO] [stderr] | [INFO] [stderr] 25 | {ReadingTemplate { sensor, reading }} [INFO] [stderr] | ^^^^^^^ not a value [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `SqliteConnection` in this scope [INFO] [stderr] --> src/web.rs:19:55 [INFO] [stderr] | [INFO] [stderr] 19 | pub fn start_server(settings: Settings, db: Arc>) -> ! { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `SqliteConnection` in this scope [INFO] [stderr] --> src/web.rs:40:25 [INFO] [stderr] | [INFO] [stderr] 40 | fn index(db: &Arc>) -> Response { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `SqliteConnection` in this scope [INFO] [stderr] --> src/web.rs:50:30 [INFO] [stderr] | [INFO] [stderr] 50 | fn get_sensor(db: &Arc>, sensor: &str) -> Response { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `SqliteConnection` in this scope [INFO] [stderr] --> src/web.rs:72:35 [INFO] [stderr] | [INFO] [stderr] 72 | fn get_sensor_json(db: &Arc>, sensor: &str) -> Response { [INFO] [stderr] | ^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0425]: cannot find function `establish_connection` in module `crate::core::persistence` [INFO] [stderr] --> src/main.rs:57:60 [INFO] [stderr] | [INFO] [stderr] 57 | let db = Arc::new(Mutex::new(crate::core::persistence::establish_connection(&opt.db)?)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ not found in `crate::core::persistence` [INFO] [stderr] [INFO] [stderr] error[E0412]: cannot find type `SqliteConnection` in this scope [INFO] [stderr] --> src/main.rs:82:20 [INFO] [stderr] | [INFO] [stderr] 82 | db: &Arc>, [INFO] [stderr] | ^^^^^^^^^^^^^^^^ not found in this scope [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `from_timestamp_millis` found for type `chrono::offset::local::Local` in the current scope [INFO] [stderr] --> src/core/persistence.rs:87:38 [INFO] [stderr] | [INFO] [stderr] 87 | timestamp: Local.from_timestamp_millis(row.get_unwrap("timestamp")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ method not found in `chrono::offset::local::Local` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `rusqlite::error::Error` [INFO] [stderr] --> src/core/persistence.rs:88:71 [INFO] [stderr] | [INFO] [stderr] 88 | value: Value::deserialize(row.get_unwrap("value"))?, [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `rusqlite::error::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: a collection of type `std::vec::Vec<(core::persistence::sensor::Sensor, core::persistence::reading::Reading)>` cannot be built from an iterator over elements of type `std::result::Result<(core::persistence::sensor::Sensor, core::persistence::reading::Reading), rusqlite::error::Error>` [INFO] [stderr] --> src/core/persistence.rs:73:8 [INFO] [stderr] | [INFO] [stderr] 73 | Ok(db [INFO] [stderr] | ________^ [INFO] [stderr] 74 | | .prepare_cached( [INFO] [stderr] 75 | | r#" [INFO] [stderr] 76 | | SELECT sensor, timestamp, value [INFO] [stderr] ... | [INFO] [stderr] 91 | | })? [INFO] [stderr] 92 | | .collect()) [INFO] [stderr] | |__________________^ a collection of type `std::vec::Vec<(core::persistence::sensor::Sensor, core::persistence::reading::Reading)>` cannot be built from `std::iter::Iterator>` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::iter::FromIterator>` is not implemented for `std::vec::Vec<(core::persistence::sensor::Sensor, core::persistence::reading::Reading)>` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `from_timestamp_millis` found for type `chrono::offset::local::Local` in the current scope [INFO] [stderr] --> src/core/persistence.rs:116:34 [INFO] [stderr] | [INFO] [stderr] 116 | timestamp: Local.from_timestamp_millis(row.get_unwrap("timestamp")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ method not found in `chrono::offset::local::Local` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `rusqlite::error::Error` [INFO] [stderr] --> src/core/persistence.rs:117:67 [INFO] [stderr] | [INFO] [stderr] 117 | value: Value::deserialize(row.get_unwrap("value"))?, [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `rusqlite::error::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: a collection of type `std::option::Option` cannot be built from an iterator over elements of type `std::result::Result` [INFO] [stderr] --> src/core/persistence.rs:105:8 [INFO] [stderr] | [INFO] [stderr] 105 | Ok(db [INFO] [stderr] | ________^ [INFO] [stderr] 106 | | .prepare_cached( [INFO] [stderr] 107 | | r#" [INFO] [stderr] 108 | | SELECT timestamp, value [INFO] [stderr] ... | [INFO] [stderr] 119 | | })? [INFO] [stderr] 120 | | .collect()) [INFO] [stderr] | |__________________^ a collection of type `std::option::Option` cannot be built from `std::iter::Iterator>` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::iter::FromIterator>` is not implemented for `std::option::Option` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `from_timestamp_millis` found for type `chrono::offset::local::Local` in the current scope [INFO] [stderr] --> src/core/persistence.rs:87:38 [INFO] [stderr] | [INFO] [stderr] 87 | timestamp: Local.from_timestamp_millis(row.get_unwrap("timestamp")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ method not found in `chrono::offset::local::Local` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `from_timestamp_millis` found for type `chrono::offset::local::Local` in the current scope [INFO] [stderr] --> src/core/persistence.rs:137:34 [INFO] [stderr] | [INFO] [stderr] 137 | timestamp: Local.from_timestamp_millis(row.get_unwrap("timestamp")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ method not found in `chrono::offset::local::Local` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `rusqlite::error::Error` [INFO] [stderr] --> src/core/persistence.rs:88:71 [INFO] [stderr] | [INFO] [stderr] 88 | value: Value::deserialize(row.get_unwrap("value"))?, [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `rusqlite::error::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `rusqlite::error::Error` [INFO] [stderr] --> src/core/persistence.rs:138:67 [INFO] [stderr] | [INFO] [stderr] 138 | value: Value::deserialize(row.get_unwrap("value"))?, [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `rusqlite::error::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: a collection of type `std::vec::Vec` cannot be built from an iterator over elements of type `std::result::Result` [INFO] [stderr] --> src/core/persistence.rs:125:8 [INFO] [stderr] | [INFO] [stderr] 125 | Ok(db [INFO] [stderr] | ________^ [INFO] [stderr] 126 | | .prepare_cached( [INFO] [stderr] 127 | | r#" [INFO] [stderr] 128 | | SELECT timestamp, value [INFO] [stderr] ... | [INFO] [stderr] 140 | | })? [INFO] [stderr] 141 | | .collect()) [INFO] [stderr] | |__________________^ a collection of type `std::vec::Vec` cannot be built from `std::iter::Iterator>` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::iter::FromIterator>` is not implemented for `std::vec::Vec` [INFO] [stderr] [INFO] [stderr] error[E0277]: a collection of type `std::vec::Vec<(core::persistence::sensor::Sensor, core::persistence::reading::Reading)>` cannot be built from an iterator over elements of type `std::result::Result<(core::persistence::sensor::Sensor, core::persistence::reading::Reading), rusqlite::error::Error>` [INFO] [stderr] --> src/core/persistence.rs:73:8 [INFO] [stderr] | [INFO] [stderr] 73 | Ok(db [INFO] [stderr] | ________^ [INFO] [stderr] 74 | | .prepare_cached( [INFO] [stderr] 75 | | r#" [INFO] [stderr] 76 | | SELECT sensor, timestamp, value [INFO] [stderr] ... | [INFO] [stderr] 91 | | })? [INFO] [stderr] 92 | | .collect()) [INFO] [stderr] | |__________________^ a collection of type `std::vec::Vec<(core::persistence::sensor::Sensor, core::persistence::reading::Reading)>` cannot be built from `std::iter::Iterator>` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::iter::FromIterator>` is not implemented for `std::vec::Vec<(core::persistence::sensor::Sensor, core::persistence::reading::Reading)>` [INFO] [stderr] [INFO] [stderr] error[E0609]: no field `connection` on type `rusqlite::Connection` [INFO] [stderr] --> src/core/persistence.rs:162:14 [INFO] [stderr] | [INFO] [stderr] 162 | .connection [INFO] [stderr] | ^^^^^^^^^^ unknown field [INFO] [stderr] [INFO] [stderr] error[E0282]: type annotations needed [INFO] [stderr] --> src/core/persistence.rs:184:30 [INFO] [stderr] | [INFO] [stderr] 179 | let message = Composer::new("test") [INFO] [stderr] | ------- consider giving `message` a type [INFO] [stderr] ... [INFO] [stderr] 184 | upsert_reading(&db, &message.sensor, &message.reading)?; [INFO] [stderr] | ^^^^^^^ cannot infer type [INFO] [stderr] | [INFO] [stderr] = note: type must be known at this point [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `from_timestamp_millis` found for type `chrono::offset::local::Local` in the current scope [INFO] [stderr] --> src/core/persistence.rs:116:34 [INFO] [stderr] | [INFO] [stderr] 116 | timestamp: Local.from_timestamp_millis(row.get_unwrap("timestamp")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ method not found in `chrono::offset::local::Local` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `select_last_reading` found for type `rusqlite::Connection` in the current scope [INFO] [stderr] --> src/core/persistence.rs:202:23 [INFO] [stderr] | [INFO] [stderr] 202 | assert_eq!(db.select_last_reading("test")?, Some(new)); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ method not found in `rusqlite::Connection` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `rusqlite::error::Error` [INFO] [stderr] --> src/core/persistence.rs:117:67 [INFO] [stderr] | [INFO] [stderr] 117 | value: Value::deserialize(row.get_unwrap("value"))?, [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `rusqlite::error::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: a collection of type `std::option::Option` cannot be built from an iterator over elements of type `std::result::Result` [INFO] [stderr] --> src/core/persistence.rs:105:8 [INFO] [stderr] | [INFO] [stderr] 105 | Ok(db [INFO] [stderr] | ________^ [INFO] [stderr] 106 | | .prepare_cached( [INFO] [stderr] 107 | | r#" [INFO] [stderr] 108 | | SELECT timestamp, value [INFO] [stderr] ... | [INFO] [stderr] 119 | | })? [INFO] [stderr] 120 | | .collect()) [INFO] [stderr] | |__________________^ a collection of type `std::option::Option` cannot be built from `std::iter::Iterator>` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::iter::FromIterator>` is not implemented for `std::option::Option` [INFO] [stderr] [INFO] [stderr] error[E0277]: can't compare `(core::persistence::sensor::Sensor, core::persistence::reading::Reading)` with `(&core::persistence::sensor::Sensor, &core::persistence::reading::Reading)` [INFO] [stderr] --> src/core/persistence.rs:214:9 [INFO] [stderr] | [INFO] [stderr] 214 | assert_eq!(select_actuals(&db)?, vec![(&message.sensor, &message.reading)]); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no implementation for `(core::persistence::sensor::Sensor, core::persistence::reading::Reading) == (&core::persistence::sensor::Sensor, &core::persistence::reading::Reading)` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::cmp::PartialEq<(&core::persistence::sensor::Sensor, &core::persistence::reading::Reading)>` is not implemented for `(core::persistence::sensor::Sensor, core::persistence::reading::Reading)` [INFO] [stderr] = note: required because of the requirements on the impl of `std::cmp::PartialEq>` for `std::vec::Vec<(core::persistence::sensor::Sensor, core::persistence::reading::Reading)>` [INFO] [stderr] = note: this error originates in a macro outside of the current crate (in Nightly builds, run with -Z external-macro-backtrace for more info) [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `from_timestamp_millis` found for type `chrono::offset::local::Local` in the current scope [INFO] [stderr] --> src/core/persistence.rs:137:34 [INFO] [stderr] | [INFO] [stderr] 137 | timestamp: Local.from_timestamp_millis(row.get_unwrap("timestamp")), [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ method not found in `chrono::offset::local::Local` [INFO] [stderr] [INFO] [stderr] error[E0277]: `?` couldn't convert the error to `rusqlite::error::Error` [INFO] [stderr] --> src/core/persistence.rs:138:67 [INFO] [stderr] | [INFO] [stderr] 138 | value: Value::deserialize(row.get_unwrap("value"))?, [INFO] [stderr] | ^ the trait `std::convert::From` is not implemented for `rusqlite::error::Error` [INFO] [stderr] | [INFO] [stderr] = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait [INFO] [stderr] = help: the following implementations were found: [INFO] [stderr] > [INFO] [stderr] > [INFO] [stderr] = note: required by `std::convert::From::from` [INFO] [stderr] [INFO] [stderr] error[E0277]: a collection of type `std::vec::Vec` cannot be built from an iterator over elements of type `std::result::Result` [INFO] [stderr] --> src/core/persistence.rs:125:8 [INFO] [stderr] | [INFO] [stderr] 125 | Ok(db [INFO] [stderr] | ________^ [INFO] [stderr] 126 | | .prepare_cached( [INFO] [stderr] 127 | | r#" [INFO] [stderr] 128 | | SELECT timestamp, value [INFO] [stderr] ... | [INFO] [stderr] 140 | | })? [INFO] [stderr] 141 | | .collect()) [INFO] [stderr] | |__________________^ a collection of type `std::vec::Vec` cannot be built from `std::iter::Iterator>` [INFO] [stderr] | [INFO] [stderr] = help: the trait `std::iter::FromIterator>` is not implemented for `std::vec::Vec` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `lock` found for type `std::sync::MutexGuard<'_, rusqlite::Connection>` in the current scope [INFO] [stderr] --> src/core/persistence/thread.rs:31:28 [INFO] [stderr] | [INFO] [stderr] 31 | upsert_reading(&db.lock().unwrap(), &message.sensor, &message.reading)?; [INFO] [stderr] | ^^^^ method not found in `std::sync::MutexGuard<'_, rusqlite::Connection>` [INFO] [stderr] [INFO] [stderr] error[E0599]: no method named `lock` found for type `std::sync::MutexGuard<'_, rusqlite::Connection>` in the current scope [INFO] [stderr] --> src/core/persistence/thread.rs:31:28 [INFO] [stderr] | [INFO] [stderr] 31 | upsert_reading(&db.lock().unwrap(), &message.sensor, &message.reading)?; [INFO] [stderr] | ^^^^ method not found in `std::sync::MutexGuard<'_, rusqlite::Connection>` [INFO] [stderr] [INFO] [stderr] error: aborting due to 26 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0277, E0412, E0423, E0425, E0599. [INFO] [stderr] For more information about an error, try `rustc --explain E0277`. [INFO] [stderr] error: could not compile `my-iot`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: aborting due to 37 previous errors [INFO] [stderr] [INFO] [stderr] Some errors have detailed explanations: E0277, E0282, E0412, E0423, E0425, E0599, E0609. [INFO] [stderr] For more information about an error, try `rustc --explain E0277`. [INFO] [stderr] error: could not compile `my-iot`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "b93c32c3348dea1320ac24d8260b63938eaa3df2eb682bfd00150415d42f6d6d"` [INFO] running `"docker" "rm" "-f" "b93c32c3348dea1320ac24d8260b63938eaa3df2eb682bfd00150415d42f6d6d"` [INFO] [stdout] b93c32c3348dea1320ac24d8260b63938eaa3df2eb682bfd00150415d42f6d6d