[INFO] cloning repository https://github.com/elliott-davis/rocket-demo [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/elliott-davis/rocket-demo" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Felliott-davis%2Frocket-demo", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Felliott-davis%2Frocket-demo'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] e5c37b7152ad9e63ed00acde53935ac9eb930e4e [INFO] checking elliott-davis/rocket-demo against master#779e19d8baa3e3625bd4fc5c85cbb2ad47b43155 for pr-147589-1 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Felliott-davis%2Frocket-demo" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/elliott-davis/rocket-demo [INFO] finished tweaking git repo https://github.com/elliott-davis/rocket-demo [INFO] tweaked toml for git repo https://github.com/elliott-davis/rocket-demo written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/elliott-davis/rocket-demo on toolchain 779e19d8baa3e3625bd4fc5c85cbb2ad47b43155 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/elliott-davis/rocket-demo 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" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded devise v0.3.0 [INFO] [stderr] Downloaded rocket_sync_db_pools_codegen v0.1.0-rc.1 [INFO] [stderr] Downloaded migrations_macros v1.4.2 [INFO] [stderr] Downloaded devise_core v0.3.0 [INFO] [stderr] Downloaded migrations_internals v1.4.1 [INFO] [stderr] Downloaded scheduled-thread-pool v0.2.5 [INFO] [stderr] Downloaded ref-cast-impl v1.0.6 [INFO] [stderr] Downloaded ubyte v0.10.1 [INFO] [stderr] Downloaded rocket_sync_db_pools v0.1.0-rc.1 [INFO] [stderr] Downloaded ref-cast v1.0.6 [INFO] [stderr] Downloaded atomic v0.5.0 [INFO] [stderr] Downloaded unchecked-index v0.2.2 [INFO] [stderr] Downloaded multer v2.0.0 [INFO] [stderr] Downloaded r2d2 v0.8.9 [INFO] [stderr] Downloaded generator v0.7.0 [INFO] [stderr] Downloaded state v0.5.2 [INFO] [stderr] Downloaded cookie v0.15.0 [INFO] [stderr] Downloaded postgres v0.19.1 [INFO] [stderr] Downloaded inlinable_string v0.1.14 [INFO] [stderr] Downloaded uncased v0.9.6 [INFO] [stderr] Downloaded devise_codegen v0.3.0 [INFO] [stderr] Downloaded twoway v0.2.2 [INFO] [stderr] Downloaded spin v0.9.1 [INFO] [stderr] Downloaded figment v0.10.6 [INFO] [stderr] Downloaded derive_more v0.99.14 [INFO] [stderr] Downloaded loom v0.5.1 [INFO] [stderr] Downloaded rocket_codegen v0.5.0-rc.1 [INFO] [stderr] Downloaded rocket_http v0.5.0-rc.1 [INFO] [stderr] Downloaded diesel v1.4.7 [INFO] [stderr] Downloaded rocket v0.5.0-rc.1 [INFO] [stderr] Downloaded tokio v1.8.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] bd8a5348b63ac8001ff7878e881200ade90c3e09e7a668fcef1b9d2f3f3ea07b [INFO] running `Command { std: "docker" "start" "-a" "bd8a5348b63ac8001ff7878e881200ade90c3e09e7a668fcef1b9d2f3f3ea07b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "bd8a5348b63ac8001ff7878e881200ade90c3e09e7a668fcef1b9d2f3f3ea07b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bd8a5348b63ac8001ff7878e881200ade90c3e09e7a668fcef1b9d2f3f3ea07b", kill_on_drop: false }` [INFO] [stdout] bd8a5348b63ac8001ff7878e881200ade90c3e09e7a668fcef1b9d2f3f3ea07b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+779e19d8baa3e3625bd4fc5c85cbb2ad47b43155" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 7cb14726a102ad89cb95a30f80429e09024e8ff4ba920bb91cf7921af7b0bde6 [INFO] running `Command { std: "docker" "start" "-a" "7cb14726a102ad89cb95a30f80429e09024e8ff4ba920bb91cf7921af7b0bde6", kill_on_drop: false }` [INFO] [stderr] Compiling syn v1.0.73 [INFO] [stderr] Compiling serde v1.0.126 [INFO] [stderr] Compiling tokio v1.8.0 [INFO] [stderr] Compiling libc v0.2.97 [INFO] [stderr] Checking pin-project-lite v0.2.7 [INFO] [stderr] Compiling log v0.4.14 [INFO] [stderr] Compiling standback v0.2.17 [INFO] [stderr] Compiling instant v0.1.9 [INFO] [stderr] Compiling indexmap v1.7.0 [INFO] [stderr] Compiling smallvec v1.6.1 [INFO] [stderr] Compiling lock_api v0.4.4 [INFO] [stderr] Compiling bitflags v1.2.1 [INFO] [stderr] Checking mio v0.7.13 [INFO] [stderr] Compiling const_fn v0.4.8 [INFO] [stderr] Compiling memchr v2.4.0 [INFO] [stderr] Compiling time v0.2.27 [INFO] [stderr] Compiling pq-sys v0.4.6 [INFO] [stderr] Compiling bytes v1.0.1 [INFO] [stderr] Compiling futures-core v0.3.15 [INFO] [stderr] Compiling uncased v0.9.6 [INFO] [stderr] Compiling futures-sink v0.3.15 [INFO] [stderr] Compiling cookie v0.15.0 [INFO] [stderr] Compiling ref-cast v1.0.6 [INFO] [stderr] Compiling once_cell v1.8.0 [INFO] [stderr] Compiling itoa v0.4.7 [INFO] [stderr] Compiling futures-channel v0.3.15 [INFO] [stderr] Compiling tracing-core v0.1.18 [INFO] [stderr] Compiling futures-task v0.3.15 [INFO] [stderr] Compiling proc-macro-nested v0.1.7 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Compiling futures-io v0.3.15 [INFO] [stderr] Compiling hashbrown v0.11.2 [INFO] [stderr] Compiling slab v0.4.3 [INFO] [stderr] Compiling try-lock v0.2.3 [INFO] [stderr] Checking subtle v2.4.1 [INFO] [stderr] Compiling http v0.2.4 [INFO] [stderr] Compiling want v0.3.0 [INFO] [stderr] Checking tracing v0.1.26 [INFO] [stderr] Checking scheduled-thread-pool v0.2.5 [INFO] [stderr] Checking crypto-mac v0.10.1 [INFO] [stderr] Compiling httparse v1.4.1 [INFO] [stderr] Compiling tower-service v0.3.1 [INFO] [stderr] Compiling httpdate v1.0.1 [INFO] [stderr] Compiling percent-encoding v2.1.0 [INFO] [stderr] Compiling inlinable_string v0.1.14 [INFO] [stderr] Compiling encoding_rs v0.8.28 [INFO] [stderr] Checking yansi v0.5.0 [INFO] [stderr] Checking hmac v0.10.1 [INFO] [stderr] Checking r2d2 v0.8.9 [INFO] [stderr] Checking stringprep v0.1.2 [INFO] [stderr] Compiling stable-pattern v0.1.0 [INFO] [stderr] Compiling parking_lot_core v0.8.3 [INFO] [stderr] Compiling num_cpus v1.13.0 [INFO] [stderr] Compiling signal-hook-registry v1.4.0 [INFO] [stderr] Compiling socket2 v0.4.0 [INFO] [stderr] Checking http-body v0.4.2 [INFO] [stderr] Compiling atomic v0.5.0 [INFO] [stderr] Compiling parking_lot v0.11.1 [INFO] [stderr] Compiling multer v2.0.0 [INFO] [stderr] Compiling figment v0.10.6 [INFO] [stderr] Compiling state v0.5.2 [INFO] [stderr] Compiling mime v0.3.16 [INFO] [stderr] Checking unchecked-index v0.2.2 [INFO] [stderr] Compiling byteorder v1.4.3 [INFO] [stderr] Checking siphasher v0.3.6 [INFO] [stderr] Compiling either v1.6.1 [INFO] [stderr] Compiling convert_case v0.4.0 [INFO] [stderr] Checking postgres-protocol v0.6.1 [INFO] [stderr] Checking phf_shared v0.8.0 [INFO] [stderr] Checking num-integer v0.1.44 [INFO] [stderr] Checking twoway v0.2.2 [INFO] [stderr] Compiling rocket v0.5.0-rc.1 [INFO] [stderr] Checking spin v0.9.1 [INFO] [stderr] Checking tempfile v3.2.0 [INFO] [stderr] Checking phf v0.8.0 [INFO] [stderr] Checking atty v0.2.14 [INFO] [stderr] Checking chrono v0.4.19 [INFO] [stderr] Checking postgres-types v0.2.1 [INFO] [stderr] Compiling proc-macro2-diagnostics v0.9.1 [INFO] [stderr] Compiling devise_core v0.3.0 [INFO] [stderr] Compiling serde_derive v1.0.126 [INFO] [stderr] Compiling tokio-macros v1.2.0 [INFO] [stderr] Compiling futures-macro v0.3.15 [INFO] [stderr] Compiling time-macros-impl v0.1.2 [INFO] [stderr] Compiling pear_codegen v0.2.3 [INFO] [stderr] Compiling ref-cast-impl v1.0.6 [INFO] [stderr] Compiling diesel_derives v1.4.1 [INFO] [stderr] Compiling async-trait v0.1.50 [INFO] [stderr] Compiling derive_more v0.99.14 [INFO] [stderr] Compiling async-stream-impl v0.3.2 [INFO] [stderr] Compiling devise_codegen v0.3.0 [INFO] [stderr] Checking futures-util v0.3.15 [INFO] [stderr] Checking async-stream v0.3.2 [INFO] [stderr] Compiling time-macros v0.1.1 [INFO] [stderr] Compiling pear v0.2.3 [INFO] [stderr] Compiling devise v0.3.0 [INFO] [stderr] Compiling rocket_sync_db_pools_codegen v0.1.0-rc.1 [INFO] [stderr] Compiling diesel v1.4.7 [INFO] [stderr] Checking futures-executor v0.3.15 [INFO] [stderr] Checking futures v0.3.15 [INFO] [stderr] Checking tokio-util v0.6.7 [INFO] [stderr] Checking tokio-stream v0.1.6 [INFO] [stderr] Checking tokio-postgres v0.7.2 [INFO] [stderr] Checking toml v0.5.8 [INFO] [stderr] Checking ubyte v0.10.1 [INFO] [stderr] Checking serde_json v1.0.64 [INFO] [stderr] Checking postgres v0.19.1 [INFO] [stderr] Checking h2 v0.3.3 [INFO] [stderr] Checking hyper v0.14.9 [INFO] [stderr] Checking rocket_http v0.5.0-rc.1 [INFO] [stderr] Checking migrations_internals v1.4.1 [INFO] [stderr] Compiling rocket_codegen v0.5.0-rc.1 [INFO] [stderr] Compiling migrations_macros v1.4.2 [INFO] [stderr] Checking diesel_migrations v1.4.0 [INFO] [stderr] Checking rocket_sync_db_pools v0.1.0-rc.1 [INFO] [stderr] Checking rocket-demo v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/main.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | #[macro_use] extern crate rocket_sync_db_pools; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Value` and `json` [INFO] [stdout] --> src/main.rs:9:33 [INFO] [stdout] | [INFO] [stdout] 9 | use rocket::serde::json::{Json, Value, json}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `diesel::QueryResult` [INFO] [stdout] --> src/main.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use diesel::QueryResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `#[macro_use]` import [INFO] [stdout] --> src/main.rs:2:1 [INFO] [stdout] | [INFO] [stdout] 2 | #[macro_use] extern crate rocket_sync_db_pools; [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Value` and `json` [INFO] [stdout] --> src/main.rs:9:33 [INFO] [stdout] | [INFO] [stdout] 9 | use rocket::serde::json::{Json, Value, json}; [INFO] [stdout] | ^^^^^ ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `diesel::QueryResult` [INFO] [stdout] --> src/main.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 15 | use diesel::QueryResult; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `listPosts` should have a snake case name [INFO] [stdout] --> src/main.rs:28:10 [INFO] [stdout] | [INFO] [stdout] 28 | async fn listPosts(conn: DbConn) -> Result>> { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `list_posts` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `newPost` should have a snake case name [INFO] [stdout] --> src/main.rs:35:10 [INFO] [stdout] | [INFO] [stdout] 35 | async fn newPost(post: Json, conn: DbConn) -> Result> { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `new_post` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `getPost` should have a snake case name [INFO] [stdout] --> src/main.rs:42:10 [INFO] [stdout] | [INFO] [stdout] 42 | async fn getPost(id: i32, conn:DbConn) -> Result> { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `get_post` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `deletePost` should have a snake case name [INFO] [stdout] --> src/main.rs:49:10 [INFO] [stdout] | [INFO] [stdout] 49 | async fn deletePost(id: i32, conn:DbConn) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `delete_post` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | / rocket::build() [INFO] [stdout] 58 | | .attach(DbConn::fairing()) [INFO] [stdout] 59 | | .attach(AdHoc::on_ignite("Run Migrations", run_migrations)) [INFO] [stdout] 60 | | .mount("/", routes![index, listPosts, newPost, getPost, deletePost]) [INFO] [stdout] 61 | | .launch() [INFO] [stdout] 62 | | .await; [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)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 57 | let _ = rocket::build() [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/post.rs:7:48 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, Clone, Deserialize, Serialize, Queryable, Insertable)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Queryable` is not local [INFO] [stdout] | move the `impl` block outside of this function `_impl_queryable_for_post` [INFO] [stdout] ... [INFO] [stdout] 10 | pub struct Post { [INFO] [stdout] | ---- `Post` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Queryable` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Queryable` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Queryable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/post.rs:7:59 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, Clone, Deserialize, Serialize, Queryable, Insertable)] [INFO] [stdout] | ^--------- [INFO] [stdout] | | [INFO] [stdout] | `Insertable` is not local [INFO] [stdout] | `table` is not local [INFO] [stdout] | move the `impl` block outside of this function `_impl_insertable_for_post` [INFO] [stdout] ... [INFO] [stdout] 10 | pub struct Post { [INFO] [stdout] | ---- `Post` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Insertable` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Insertable` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/post.rs:7:59 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, Clone, Deserialize, Serialize, Queryable, Insertable)] [INFO] [stdout] | -^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Insertable` is not local [INFO] [stdout] | `table` is not local [INFO] [stdout] | move the `impl` block outside of this function `_impl_insertable_for_post` [INFO] [stdout] ... [INFO] [stdout] 10 | pub struct Post { [INFO] [stdout] | ---- `Post` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Insertable` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Insertable` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/post.rs:7:59 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, Clone, Deserialize, Serialize, Queryable, Insertable)] [INFO] [stdout] | ^--------- [INFO] [stdout] | | [INFO] [stdout] | `UndecoratedInsertRecord` is not local [INFO] [stdout] | `table` is not local [INFO] [stdout] | move the `impl` block outside of this function `_impl_insertable_for_post` [INFO] [stdout] ... [INFO] [stdout] 10 | pub struct Post { [INFO] [stdout] | ---- `Post` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Insertable` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Insertable` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/post.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | / table! { [INFO] [stdout] 20 | | posts (id) { [INFO] [stdout] 21 | | id -> Nullable, [INFO] [stdout] 22 | | title -> Text, [INFO] [stdout] ... | [INFO] [stdout] 26 | | } [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | `table` is not local [INFO] [stdout] | |_`QueryId` is not local [INFO] [stdout] | move the `impl` block outside of this function `_impl_query_id_for_table` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `QueryId` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `QueryId` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the derive macro `QueryId` which comes from the expansion of the macro `table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/post.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | / table! { [INFO] [stdout] 20 | | posts (id) { [INFO] [stdout] 21 | | id -> Nullable, [INFO] [stdout] | | -- `id` is not local [INFO] [stdout] 22 | | title -> Text, [INFO] [stdout] ... | [INFO] [stdout] 26 | | } [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |_`QueryId` is not local [INFO] [stdout] | move the `impl` block outside of this function `_impl_query_id_for_id` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `QueryId` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `QueryId` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the derive macro `QueryId` which comes from the expansion of the macro `table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/post.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | / table! { [INFO] [stdout] 20 | | posts (id) { [INFO] [stdout] 21 | | id -> Nullable, [INFO] [stdout] 22 | | title -> Text, [INFO] [stdout] | | ----- `title` is not local [INFO] [stdout] ... | [INFO] [stdout] 26 | | } [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |_`QueryId` is not local [INFO] [stdout] | move the `impl` block outside of this function `_impl_query_id_for_title` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `QueryId` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `QueryId` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the derive macro `QueryId` which comes from the expansion of the macro `table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/post.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | / table! { [INFO] [stdout] 20 | | posts (id) { [INFO] [stdout] 21 | | id -> Nullable, [INFO] [stdout] 22 | | title -> Text, [INFO] [stdout] 23 | | body -> Text, [INFO] [stdout] | | ---- `body` is not local [INFO] [stdout] ... | [INFO] [stdout] 26 | | } [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |_`QueryId` is not local [INFO] [stdout] | move the `impl` block outside of this function `_impl_query_id_for_body` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `QueryId` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `QueryId` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the derive macro `QueryId` which comes from the expansion of the macro `table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/post.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | / table! { [INFO] [stdout] 20 | | posts (id) { [INFO] [stdout] 21 | | id -> Nullable, [INFO] [stdout] 22 | | title -> Text, [INFO] [stdout] 23 | | body -> Text, [INFO] [stdout] 24 | | published -> Bool, [INFO] [stdout] | | --------- `published` is not local [INFO] [stdout] 25 | | } [INFO] [stdout] 26 | | } [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |_`QueryId` is not local [INFO] [stdout] | move the `impl` block outside of this function `_impl_query_id_for_published` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `QueryId` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `QueryId` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the derive macro `QueryId` which comes from the expansion of the macro `table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `listPosts` should have a snake case name [INFO] [stdout] --> src/main.rs:28:10 [INFO] [stdout] | [INFO] [stdout] 28 | async fn listPosts(conn: DbConn) -> Result>> { [INFO] [stdout] | ^^^^^^^^^ help: convert the identifier to snake case: `list_posts` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(non_snake_case)]` (part of `#[warn(nonstandard_style)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `newPost` should have a snake case name [INFO] [stdout] --> src/main.rs:35:10 [INFO] [stdout] | [INFO] [stdout] 35 | async fn newPost(post: Json, conn: DbConn) -> Result> { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `new_post` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `getPost` should have a snake case name [INFO] [stdout] --> src/main.rs:42:10 [INFO] [stdout] | [INFO] [stdout] 42 | async fn getPost(id: i32, conn:DbConn) -> Result> { [INFO] [stdout] | ^^^^^^^ help: convert the identifier to snake case: `get_post` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `deletePost` should have a snake case name [INFO] [stdout] --> src/main.rs:49:10 [INFO] [stdout] | [INFO] [stdout] 49 | async fn deletePost(id: i32, conn:DbConn) -> Result<()> { [INFO] [stdout] | ^^^^^^^^^^ help: convert the identifier to snake case: `delete_post` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused `std::result::Result` that must be used [INFO] [stdout] --> src/main.rs:57:5 [INFO] [stdout] | [INFO] [stdout] 57 | / rocket::build() [INFO] [stdout] 58 | | .attach(DbConn::fairing()) [INFO] [stdout] 59 | | .attach(AdHoc::on_ignite("Run Migrations", run_migrations)) [INFO] [stdout] 60 | | .mount("/", routes![index, listPosts, newPost, getPost, deletePost]) [INFO] [stdout] 61 | | .launch() [INFO] [stdout] 62 | | .await; [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)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] help: use `let _ = ...` to ignore the resulting value [INFO] [stdout] | [INFO] [stdout] 57 | let _ = rocket::build() [INFO] [stdout] | +++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/post.rs:7:48 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, Clone, Deserialize, Serialize, Queryable, Insertable)] [INFO] [stdout] | ^-------- [INFO] [stdout] | | [INFO] [stdout] | `Queryable` is not local [INFO] [stdout] | move the `impl` block outside of this function `_impl_queryable_for_post` [INFO] [stdout] ... [INFO] [stdout] 10 | pub struct Post { [INFO] [stdout] | ---- `Post` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Queryable` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Queryable` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: `#[warn(non_local_definitions)]` on by default [INFO] [stdout] = note: this warning originates in the derive macro `Queryable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/post.rs:7:59 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, Clone, Deserialize, Serialize, Queryable, Insertable)] [INFO] [stdout] | ^--------- [INFO] [stdout] | | [INFO] [stdout] | `Insertable` is not local [INFO] [stdout] | `table` is not local [INFO] [stdout] | move the `impl` block outside of this function `_impl_insertable_for_post` [INFO] [stdout] ... [INFO] [stdout] 10 | pub struct Post { [INFO] [stdout] | ---- `Post` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Insertable` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Insertable` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/post.rs:7:59 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, Clone, Deserialize, Serialize, Queryable, Insertable)] [INFO] [stdout] | -^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `Insertable` is not local [INFO] [stdout] | `table` is not local [INFO] [stdout] | move the `impl` block outside of this function `_impl_insertable_for_post` [INFO] [stdout] ... [INFO] [stdout] 10 | pub struct Post { [INFO] [stdout] | ---- `Post` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Insertable` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Insertable` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/post.rs:7:59 [INFO] [stdout] | [INFO] [stdout] 7 | #[derive(Debug, Clone, Deserialize, Serialize, Queryable, Insertable)] [INFO] [stdout] | ^--------- [INFO] [stdout] | | [INFO] [stdout] | `UndecoratedInsertRecord` is not local [INFO] [stdout] | `table` is not local [INFO] [stdout] | move the `impl` block outside of this function `_impl_insertable_for_post` [INFO] [stdout] ... [INFO] [stdout] 10 | pub struct Post { [INFO] [stdout] | ---- `Post` is not local [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `Insertable` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `Insertable` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the derive macro `Insertable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/post.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | / table! { [INFO] [stdout] 20 | | posts (id) { [INFO] [stdout] 21 | | id -> Nullable, [INFO] [stdout] 22 | | title -> Text, [INFO] [stdout] ... | [INFO] [stdout] 26 | | } [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | | `table` is not local [INFO] [stdout] | |_`QueryId` is not local [INFO] [stdout] | move the `impl` block outside of this function `_impl_query_id_for_table` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `QueryId` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `QueryId` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the derive macro `QueryId` which comes from the expansion of the macro `table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/post.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | / table! { [INFO] [stdout] 20 | | posts (id) { [INFO] [stdout] 21 | | id -> Nullable, [INFO] [stdout] | | -- `id` is not local [INFO] [stdout] 22 | | title -> Text, [INFO] [stdout] ... | [INFO] [stdout] 26 | | } [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |_`QueryId` is not local [INFO] [stdout] | move the `impl` block outside of this function `_impl_query_id_for_id` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `QueryId` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `QueryId` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the derive macro `QueryId` which comes from the expansion of the macro `table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/post.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | / table! { [INFO] [stdout] 20 | | posts (id) { [INFO] [stdout] 21 | | id -> Nullable, [INFO] [stdout] 22 | | title -> Text, [INFO] [stdout] | | ----- `title` is not local [INFO] [stdout] ... | [INFO] [stdout] 26 | | } [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |_`QueryId` is not local [INFO] [stdout] | move the `impl` block outside of this function `_impl_query_id_for_title` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `QueryId` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `QueryId` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the derive macro `QueryId` which comes from the expansion of the macro `table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/post.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | / table! { [INFO] [stdout] 20 | | posts (id) { [INFO] [stdout] 21 | | id -> Nullable, [INFO] [stdout] 22 | | title -> Text, [INFO] [stdout] 23 | | body -> Text, [INFO] [stdout] | | ---- `body` is not local [INFO] [stdout] ... | [INFO] [stdout] 26 | | } [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |_`QueryId` is not local [INFO] [stdout] | move the `impl` block outside of this function `_impl_query_id_for_body` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `QueryId` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `QueryId` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the derive macro `QueryId` which comes from the expansion of the macro `table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: non-local `impl` definition, `impl` blocks should be written at the same level as their item [INFO] [stdout] --> src/post.rs:19:1 [INFO] [stdout] | [INFO] [stdout] 19 | / table! { [INFO] [stdout] 20 | | posts (id) { [INFO] [stdout] 21 | | id -> Nullable, [INFO] [stdout] 22 | | title -> Text, [INFO] [stdout] 23 | | body -> Text, [INFO] [stdout] 24 | | published -> Bool, [INFO] [stdout] | | --------- `published` is not local [INFO] [stdout] 25 | | } [INFO] [stdout] 26 | | } [INFO] [stdout] | | ^ [INFO] [stdout] | | | [INFO] [stdout] | |_`QueryId` is not local [INFO] [stdout] | move the `impl` block outside of this function `_impl_query_id_for_published` [INFO] [stdout] | [INFO] [stdout] = note: the derive macro `QueryId` defines the non-local `impl`, and may need to be changed [INFO] [stdout] = note: the derive macro `QueryId` may come from an old version of the `diesel_derives` crate, try updating your dependency with `cargo update -p diesel_derives` [INFO] [stdout] = note: an `impl` is never scoped, even when it is nested inside an item, as it may impact type checking outside of that item, which can be the case if neither the trait or the self type are at the same nesting level as the `impl` [INFO] [stdout] = note: this warning originates in the derive macro `QueryId` which comes from the expansion of the macro `table` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 12s [INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: ubyte v0.10.1 [INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 3` [INFO] running `Command { std: "docker" "inspect" "7cb14726a102ad89cb95a30f80429e09024e8ff4ba920bb91cf7921af7b0bde6", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7cb14726a102ad89cb95a30f80429e09024e8ff4ba920bb91cf7921af7b0bde6", kill_on_drop: false }` [INFO] [stdout] 7cb14726a102ad89cb95a30f80429e09024e8ff4ba920bb91cf7921af7b0bde6