[INFO] cloning repository https://github.com/dready/ttrack-server-rust [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/dready/ttrack-server-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdready%2Fttrack-server-rust", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdready%2Fttrack-server-rust'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 5d92b4f9e42f7fc8f1fc74f194c7973e3f8122a4 [INFO] checking dready/ttrack-server-rust against try#3d9fdbff4f377de96b3a51174e7a64086bee9a5c for pr-81477 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fdready%2Fttrack-server-rust" "/workspace/builds/worker-15/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-15/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/dready/ttrack-server-rust on toolchain 3d9fdbff4f377de96b3a51174e7a64086bee9a5c [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+3d9fdbff4f377de96b3a51174e7a64086bee9a5c" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/dready/ttrack-server-rust [INFO] finished tweaking git repo https://github.com/dready/ttrack-server-rust [INFO] tweaked toml for git repo https://github.com/dready/ttrack-server-rust written to /workspace/builds/worker-15/source/Cargo.toml [INFO] crate git repo https://github.com/dready/ttrack-server-rust already has a lockfile, it will not be regenerated [INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+3d9fdbff4f377de96b3a51174e7a64086bee9a5c" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded fallible-iterator v0.1.5 [INFO] [stderr] Downloaded failure_derive v0.1.2 [INFO] [stderr] Downloaded serde_urlencoded v0.5.3 [INFO] [stderr] Downloaded resolv-conf v0.6.1 [INFO] [stderr] Downloaded trust-dns-proto v0.4.0 [INFO] [stderr] Downloaded actix_derive v0.3.0 [INFO] [stderr] Downloaded flate2 v1.0.2 [INFO] [stderr] Downloaded postgres-derive v0.3.3 [INFO] [stderr] Downloaded actix-web v0.7.8 [INFO] [stderr] Downloaded crossbeam-channel v0.2.5 [INFO] [stderr] Downloaded actix v0.7.4 [INFO] [stderr] Downloaded postgres-shared v0.4.2 [INFO] [stderr] Downloaded lazycell v1.1.0 [INFO] [stderr] Downloaded postgres v0.15.2 [INFO] [stderr] Downloaded digest v0.7.5 [INFO] [stderr] Downloaded trust-dns-resolver v0.9.1 [INFO] [stderr] Downloaded ipconfig v0.1.7 [INFO] [stderr] Downloaded synstructure v0.9.0 [INFO] [stderr] Downloaded serde v1.0.79 [INFO] [stderr] Downloaded serde_json v1.0.28 [INFO] [stderr] Downloaded failure v0.1.2 [INFO] [stderr] Downloaded postgres-protocol v0.3.2 [INFO] [stderr] Downloaded serde_derive v1.0.79 [INFO] [stderr] Downloaded r2d2_postgres v0.14.0 [INFO] [stderr] Downloaded syn v0.15.4 [INFO] [stderr] Downloaded tokio-signal v0.2.5 [INFO] [stderr] Downloaded http v0.1.12 [INFO] [stderr] Downloaded crossbeam-epoch v0.6.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-15/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-15/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+3d9fdbff4f377de96b3a51174e7a64086bee9a5c" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] c98e98a5aa1d9925cb5eaa177795f39d6f3e14771bc33c2b5b924b90afc60022 [INFO] running `Command { std: "docker" "start" "-a" "c98e98a5aa1d9925cb5eaa177795f39d6f3e14771bc33c2b5b924b90afc60022", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "c98e98a5aa1d9925cb5eaa177795f39d6f3e14771bc33c2b5b924b90afc60022", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "c98e98a5aa1d9925cb5eaa177795f39d6f3e14771bc33c2b5b924b90afc60022", kill_on_drop: false }` [INFO] [stdout] c98e98a5aa1d9925cb5eaa177795f39d6f3e14771bc33c2b5b924b90afc60022 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-15/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-15/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" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+3d9fdbff4f377de96b3a51174e7a64086bee9a5c" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 4e52cdfcc0ba6bd7527345881a458fbbc8a0881a70bfa3a5c6a49816941eb1c2 [INFO] running `Command { std: "docker" "start" "-a" "4e52cdfcc0ba6bd7527345881a458fbbc8a0881a70bfa3a5c6a49816941eb1c2", kill_on_drop: false }` [INFO] [stderr] Checking libc v0.2.43 [INFO] [stderr] Compiling cc v1.0.25 [INFO] [stderr] Checking futures v0.1.24 [INFO] [stderr] Checking scopeguard v0.3.3 [INFO] [stderr] Checking rand_core v0.2.1 [INFO] [stderr] Compiling unicode-xid v0.1.0 [INFO] [stderr] Checking matches v0.1.8 [INFO] [stderr] Checking stable_deref_trait v1.1.1 [INFO] [stderr] Compiling winapi-build v0.1.1 [INFO] [stderr] Checking lazycell v1.1.0 [INFO] [stderr] Compiling typenum v1.10.0 [INFO] [stderr] Checking nodrop v0.1.12 [INFO] [stderr] Checking memoffset v0.2.1 [INFO] [stderr] Checking rustc-demangle v0.1.9 [INFO] [stderr] Checking winapi v0.2.8 [INFO] [stderr] Checking percent-encoding v1.0.1 [INFO] [stderr] Checking quick-error v1.2.2 [INFO] [stderr] Checking constant_time_eq v0.1.3 [INFO] [stderr] Checking byte-tools v0.2.0 [INFO] [stderr] Compiling serde v1.0.79 [INFO] [stderr] Checking safemem v0.2.0 [INFO] [stderr] Checking itoa v0.4.3 [INFO] [stderr] Compiling failure_derive v0.1.2 [INFO] [stderr] Checking linked-hash-map v0.4.2 [INFO] [stderr] Checking md5 v0.3.8 [INFO] [stderr] Compiling regex v1.0.5 [INFO] [stderr] Checking ucd-util v0.1.1 [INFO] [stderr] Checking fallible-iterator v0.1.5 [INFO] [stderr] Checking untrusted v0.6.2 [INFO] [stderr] Checking hex v0.2.0 [INFO] [stderr] Checking utf8-ranges v1.0.1 [INFO] [stderr] Checking antidote v1.0.0 [INFO] [stderr] Checking safemem v0.3.0 [INFO] [stderr] Checking bitflags v1.0.4 [INFO] [stderr] Checking dtoa v0.4.3 [INFO] [stderr] Checking language-tags v0.2.2 [INFO] [stderr] Checking sha1 v0.6.0 [INFO] [stderr] Checking termcolor v1.0.4 [INFO] [stderr] Checking log v0.4.5 [INFO] [stderr] Compiling actix-web v0.7.8 [INFO] [stderr] Compiling proc-macro2 v0.3.8 [INFO] [stderr] Checking owning_ref v0.3.3 [INFO] [stderr] Checking base64 v0.6.0 [INFO] [stderr] Checking arrayvec v0.4.7 [INFO] [stderr] Checking unicode-bidi v0.3.4 [INFO] [stderr] Checking smallvec v0.6.5 [INFO] [stderr] Compiling proc-macro2 v0.4.19 [INFO] [stderr] Checking base64 v0.9.3 [INFO] [stderr] Checking regex-syntax v0.6.2 [INFO] [stderr] Compiling parking_lot_core v0.3.1 [INFO] [stderr] Checking humantime v1.1.1 [INFO] [stderr] Checking thread_local v0.3.6 [INFO] [stderr] Checking block-buffer v0.3.3 [INFO] [stderr] Compiling phf_shared v0.7.23 [INFO] [stderr] Checking mime v0.3.9 [INFO] [stderr] Checking lru-cache v0.1.1 [INFO] [stderr] Checking scheduled-thread-pool v0.2.0 [INFO] [stderr] Checking lock_api v0.1.3 [INFO] [stderr] Compiling dbghelp-sys v0.2.0 [INFO] [stderr] Compiling kernel32-sys v0.2.2 [INFO] [stderr] Compiling rand v0.5.5 [INFO] [stderr] Checking phf v0.7.23 [INFO] [stderr] Checking idna v0.1.5 [INFO] [stderr] Checking stringprep v0.1.2 [INFO] [stderr] Checking iovec v0.1.2 [INFO] [stderr] Checking num_cpus v1.8.0 [INFO] [stderr] Checking net2 v0.2.33 [INFO] [stderr] Checking rand v0.4.3 [INFO] [stderr] Checking socket2 v0.3.8 [INFO] [stderr] Checking memchr v2.0.2 [INFO] [stderr] Checking memchr v1.0.2 [INFO] [stderr] Checking hostname v0.1.5 [INFO] [stderr] Checking time v0.1.40 [INFO] [stderr] Checking atty v0.2.11 [INFO] [stderr] Checking r2d2 v0.8.2 [INFO] [stderr] Checking crossbeam-epoch v0.5.2 [INFO] [stderr] Checking crossbeam-epoch v0.6.0 [INFO] [stderr] Compiling backtrace v0.2.3 [INFO] [stderr] Checking resolv-conf v0.6.1 [INFO] [stderr] Checking bytes v0.4.10 [INFO] [stderr] Compiling quote v0.5.2 [INFO] [stderr] Checking aho-corasick v0.6.8 [INFO] [stderr] Compiling quote v0.6.8 [INFO] [stderr] Checking mio v0.6.16 [INFO] [stderr] Checking crossbeam-deque v0.6.1 [INFO] [stderr] Compiling syn v0.13.11 [INFO] [stderr] Compiling backtrace-sys v0.1.24 [INFO] [stderr] Compiling miniz-sys v0.1.10 [INFO] [stderr] Compiling brotli-sys v0.3.2 [INFO] [stderr] Compiling ring v0.13.2 [INFO] [stderr] Compiling syn v0.14.9 [INFO] [stderr] Compiling syn v0.15.4 [INFO] [stderr] Checking http v0.1.12 [INFO] [stdout] error: Trailing semicolon in macro [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:1208:41 [INFO] [stdout] | [INFO] [stdout] 1208 | tap!($i, $name: call!($f) => $e); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1503:5 [INFO] [stdout] | [INFO] [stdout] 1503 | / named!(trailer_expr(allow_struct: bool, allow_block: bool) -> Expr, do_parse!( [INFO] [stdout] 1504 | | mut e: call!(atom_expr, allow_struct, allow_block) >> [INFO] [stdout] 1505 | | many0!(alt!( [INFO] [stdout] 1506 | | tap!(args: and_call => { [INFO] [stdout] ... | [INFO] [stdout] 1524 | | (e) [INFO] [stdout] 1525 | | )); [INFO] [stdout] | |_______- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `tap` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: Trailing semicolon in macro [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:1208:41 [INFO] [stdout] | [INFO] [stdout] 1208 | tap!($i, $name: call!($f) => $e); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1503:5 [INFO] [stdout] | [INFO] [stdout] 1503 | / named!(trailer_expr(allow_struct: bool, allow_block: bool) -> Expr, do_parse!( [INFO] [stdout] 1504 | | mut e: call!(atom_expr, allow_struct, allow_block) >> [INFO] [stdout] 1505 | | many0!(alt!( [INFO] [stdout] 1506 | | tap!(args: and_call => { [INFO] [stdout] ... | [INFO] [stdout] 1524 | | (e) [INFO] [stdout] 1525 | | )); [INFO] [stdout] | |_______- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `tap` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: Trailing semicolon in macro [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:1349:31 [INFO] [stdout] | [INFO] [stdout] 1349 | parens!($i, call!($f)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/expr.rs:1701:5 [INFO] [stdout] | [INFO] [stdout] 1701 | / named!(and_call -> (token::Paren, Punctuated), [INFO] [stdout] 1702 | | parens!(Punctuated::parse_terminated)); [INFO] [stdout] | |__________________________________________________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `parens` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: Trailing semicolon in macro [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:1421:31 [INFO] [stdout] | [INFO] [stdout] 1421 | braces!($i, call!($f)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/derive.rs:155:5 [INFO] [stdout] | [INFO] [stdout] 155 | / named!(data_enum -> (Option, token::Brace, Punctuated), do_parse!( [INFO] [stdout] 156 | | wh: option!(syn!(WhereClause)) >> [INFO] [stdout] 157 | | data: braces!(Punctuated::parse_terminated) >> [INFO] [stdout] 158 | | (wh, data.0, data.1) [INFO] [stdout] 159 | | )); [INFO] [stdout] | |_______- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `braces` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: Trailing semicolon in macro [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:1349:31 [INFO] [stdout] | [INFO] [stdout] 1349 | parens!($i, call!($f)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/ty.rs:438:9 [INFO] [stdout] | [INFO] [stdout] 438 | / named!(parse -> Self, do_parse!( [INFO] [stdout] 439 | | data: parens!(Punctuated::parse_terminated) >> [INFO] [stdout] 440 | | (TypeTuple { [INFO] [stdout] 441 | | paren_token: data.0, [INFO] [stdout] 442 | | elems: data.1, [INFO] [stdout] 443 | | }) [INFO] [stdout] 444 | | )); [INFO] [stdout] | |___________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `parens` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: Trailing semicolon in macro [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/parsers.rs:1349:31 [INFO] [stdout] | [INFO] [stdout] 1349 | parens!($i, call!($f)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.13.11/src/path.rs:296:9 [INFO] [stdout] | [INFO] [stdout] 296 | / named!(parse -> Self, do_parse!( [INFO] [stdout] 297 | | data: parens!(Punctuated::parse_terminated) >> [INFO] [stdout] 298 | | output: call!(ReturnType::without_plus) >> [INFO] [stdout] 299 | | (ParenthesizedGenericArguments { [INFO] [stdout] ... | [INFO] [stdout] 303 | | }) [INFO] [stdout] 304 | | )); [INFO] [stdout] | |___________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `parens` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: Trailing semicolon in macro [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/parsers.rs:1200:41 [INFO] [stdout] | [INFO] [stdout] 1200 | tap!($i, $name: call!($f) => $e); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/expr.rs:1468:5 [INFO] [stdout] | [INFO] [stdout] 1468 | / named!(trailer_expr(allow_struct: bool, allow_block: bool) -> Expr, do_parse!( [INFO] [stdout] 1469 | | mut e: call!(atom_expr, allow_struct, allow_block) >> [INFO] [stdout] 1470 | | outer_attrs: value!({ [INFO] [stdout] 1471 | | let mut attrs = e.replace_attrs(Vec::new()); [INFO] [stdout] ... | [INFO] [stdout] 1526 | | }) [INFO] [stdout] 1527 | | )); [INFO] [stdout] | |_______- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `tap` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: Trailing semicolon in macro [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/parsers.rs:1200:41 [INFO] [stdout] | [INFO] [stdout] 1200 | tap!($i, $name: call!($f) => $e); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/expr.rs:1468:5 [INFO] [stdout] | [INFO] [stdout] 1468 | / named!(trailer_expr(allow_struct: bool, allow_block: bool) -> Expr, do_parse!( [INFO] [stdout] 1469 | | mut e: call!(atom_expr, allow_struct, allow_block) >> [INFO] [stdout] 1470 | | outer_attrs: value!({ [INFO] [stdout] 1471 | | let mut attrs = e.replace_attrs(Vec::new()); [INFO] [stdout] ... | [INFO] [stdout] 1526 | | }) [INFO] [stdout] 1527 | | )); [INFO] [stdout] | |_______- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `tap` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: Trailing semicolon in macro [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/parsers.rs:1200:41 [INFO] [stdout] | [INFO] [stdout] 1200 | tap!($i, $name: call!($f) => $e); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/expr.rs:1468:5 [INFO] [stdout] | [INFO] [stdout] 1468 | / named!(trailer_expr(allow_struct: bool, allow_block: bool) -> Expr, do_parse!( [INFO] [stdout] 1469 | | mut e: call!(atom_expr, allow_struct, allow_block) >> [INFO] [stdout] 1470 | | outer_attrs: value!({ [INFO] [stdout] 1471 | | let mut attrs = e.replace_attrs(Vec::new()); [INFO] [stdout] ... | [INFO] [stdout] 1526 | | }) [INFO] [stdout] 1527 | | )); [INFO] [stdout] | |_______- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `tap` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: Trailing semicolon in macro [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/parsers.rs:1200:41 [INFO] [stdout] | [INFO] [stdout] 1200 | tap!($i, $name: call!($f) => $e); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/expr.rs:1468:5 [INFO] [stdout] | [INFO] [stdout] 1468 | / named!(trailer_expr(allow_struct: bool, allow_block: bool) -> Expr, do_parse!( [INFO] [stdout] 1469 | | mut e: call!(atom_expr, allow_struct, allow_block) >> [INFO] [stdout] 1470 | | outer_attrs: value!({ [INFO] [stdout] 1471 | | let mut attrs = e.replace_attrs(Vec::new()); [INFO] [stdout] ... | [INFO] [stdout] 1526 | | }) [INFO] [stdout] 1527 | | )); [INFO] [stdout] | |_______- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `tap` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: Trailing semicolon in macro [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/parsers.rs:1341:31 [INFO] [stdout] | [INFO] [stdout] 1341 | parens!($i, call!($f)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/expr.rs:1785:5 [INFO] [stdout] | [INFO] [stdout] 1785 | / named!(and_call -> (token::Paren, Punctuated), [INFO] [stdout] 1786 | | parens!(Punctuated::parse_terminated) [INFO] [stdout] 1787 | | ); [INFO] [stdout] | |______- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `parens` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: Trailing semicolon in macro [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/parsers.rs:1341:31 [INFO] [stdout] | [INFO] [stdout] 1341 | parens!($i, call!($f)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/expr.rs:1790:5 [INFO] [stdout] | [INFO] [stdout] 1790 | / named!(and_method_call -> ExprMethodCall, do_parse!( [INFO] [stdout] 1791 | | dot: punct!(.) >> [INFO] [stdout] 1792 | | method: syn!(Ident) >> [INFO] [stdout] 1793 | | turbofish: option!(tuple!( [INFO] [stdout] ... | [INFO] [stdout] 1819 | | }) [INFO] [stdout] 1820 | | )); [INFO] [stdout] | |_______- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `parens` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: Trailing semicolon in macro [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/parsers.rs:1413:31 [INFO] [stdout] | [INFO] [stdout] 1413 | braces!($i, call!($f)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/expr.rs:1858:9 [INFO] [stdout] | [INFO] [stdout] 1858 | / named!(parse -> Self, do_parse!( [INFO] [stdout] 1859 | | if_: keyword!(if) >> [INFO] [stdout] 1860 | | let_: keyword!(let) >> [INFO] [stdout] 1861 | | pats: call!(Punctuated::parse_separated_nonempty) >> [INFO] [stdout] ... | [INFO] [stdout] 1878 | | }) [INFO] [stdout] 1879 | | )); [INFO] [stdout] | |___________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `braces` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: Trailing semicolon in macro [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/parsers.rs:1129:31 [INFO] [stdout] | [INFO] [stdout] 1129 | option!($i, call!($f)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/expr.rs:1858:9 [INFO] [stdout] | [INFO] [stdout] 1858 | / named!(parse -> Self, do_parse!( [INFO] [stdout] 1859 | | if_: keyword!(if) >> [INFO] [stdout] 1860 | | let_: keyword!(let) >> [INFO] [stdout] 1861 | | pats: call!(Punctuated::parse_separated_nonempty) >> [INFO] [stdout] ... | [INFO] [stdout] 1878 | | }) [INFO] [stdout] 1879 | | )); [INFO] [stdout] | |___________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `option` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: Trailing semicolon in macro [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/parsers.rs:1413:31 [INFO] [stdout] | [INFO] [stdout] 1413 | braces!($i, call!($f)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/expr.rs:1888:9 [INFO] [stdout] | [INFO] [stdout] 1888 | / named!(parse -> Self, do_parse!( [INFO] [stdout] 1889 | | if_: keyword!(if) >> [INFO] [stdout] 1890 | | cond: expr_no_struct >> [INFO] [stdout] 1891 | | then_block: braces!(Block::parse_within) >> [INFO] [stdout] ... | [INFO] [stdout] 1902 | | }) [INFO] [stdout] 1903 | | )); [INFO] [stdout] | |___________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `braces` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: Trailing semicolon in macro [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/parsers.rs:1129:31 [INFO] [stdout] | [INFO] [stdout] 1129 | option!($i, call!($f)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/expr.rs:1888:9 [INFO] [stdout] | [INFO] [stdout] 1888 | / named!(parse -> Self, do_parse!( [INFO] [stdout] 1889 | | if_: keyword!(if) >> [INFO] [stdout] 1890 | | cond: expr_no_struct >> [INFO] [stdout] 1891 | | then_block: braces!(Block::parse_within) >> [INFO] [stdout] ... | [INFO] [stdout] 1902 | | }) [INFO] [stdout] 1903 | | )); [INFO] [stdout] | |___________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `option` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: Trailing semicolon in macro [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/parsers.rs:1413:31 [INFO] [stdout] | [INFO] [stdout] 1413 | braces!($i, call!($f)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/expr.rs:1911:5 [INFO] [stdout] | [INFO] [stdout] 1911 | / named!(else_block -> (Token![else], Box), do_parse!( [INFO] [stdout] 1912 | | else_: keyword!(else) >> [INFO] [stdout] 1913 | | expr: alt!( [INFO] [stdout] 1914 | | syn!(ExprIf) => { Expr::If } [INFO] [stdout] ... | [INFO] [stdout] 1929 | | (else_, Box::new(expr)) [INFO] [stdout] 1930 | | )); [INFO] [stdout] | |_______- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `braces` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking rand v0.3.22 [INFO] [stderr] Checking uuid v0.6.5 [INFO] [stdout] error: Trailing semicolon in macro [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/parsers.rs:1413:31 [INFO] [stdout] | [INFO] [stdout] 1413 | braces!($i, call!($f)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/expr.rs:2534:9 [INFO] [stdout] | [INFO] [stdout] 2534 | / named!(parse -> Self, do_parse!( [INFO] [stdout] 2535 | | stmts: braces!(Block::parse_within) >> [INFO] [stdout] 2536 | | (Block { [INFO] [stdout] 2537 | | brace_token: stmts.0, [INFO] [stdout] 2538 | | stmts: stmts.1, [INFO] [stdout] 2539 | | }) [INFO] [stdout] 2540 | | )); [INFO] [stdout] | |___________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `braces` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: Trailing semicolon in macro [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/parsers.rs:1413:31 [INFO] [stdout] | [INFO] [stdout] 1413 | braces!($i, call!($f)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/item.rs:891:5 [INFO] [stdout] | [INFO] [stdout] 891 | / impl_synom!(UseGroup "use group" do_parse!( [INFO] [stdout] 892 | | list: braces!(Punctuated::parse_terminated) >> [INFO] [stdout] 893 | | (UseGroup { [INFO] [stdout] 894 | | brace_token: list.0, [INFO] [stdout] 895 | | items: list.1, [INFO] [stdout] 896 | | }) [INFO] [stdout] 897 | | )); [INFO] [stdout] | |_______- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `braces` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking url v1.7.1 [INFO] [stdout] error: Trailing semicolon in macro [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/parsers.rs:1341:31 [INFO] [stdout] | [INFO] [stdout] 1341 | parens!($i, call!($f)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/item.rs:947:5 [INFO] [stdout] | [INFO] [stdout] 947 | / impl_synom!(ItemFn "fn item" do_parse!( [INFO] [stdout] 948 | | outer_attrs: many0!(Attribute::parse_outer) >> [INFO] [stdout] 949 | | vis: syn!(Visibility) >> [INFO] [stdout] 950 | | constness: option!(keyword!(const)) >> [INFO] [stdout] ... | [INFO] [stdout] 989 | | }) [INFO] [stdout] 990 | | )); [INFO] [stdout] | |_______- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `parens` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: Trailing semicolon in macro [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/parsers.rs:1341:31 [INFO] [stdout] | [INFO] [stdout] 1341 | parens!($i, call!($f)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/item.rs:992:5 [INFO] [stdout] | [INFO] [stdout] 992 | / named!(unstable_async_fn -> ItemVerbatim, do_parse!( [INFO] [stdout] 993 | | begin: call!(verbatim::grab_cursor) >> [INFO] [stdout] 994 | | many0!(Attribute::parse_outer) >> [INFO] [stdout] 995 | | syn!(Visibility) >> [INFO] [stdout] ... | [INFO] [stdout] 1013 | | }) [INFO] [stdout] 1014 | | )); [INFO] [stdout] | |_______- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `parens` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: Trailing semicolon in macro [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/parsers.rs:1341:31 [INFO] [stdout] | [INFO] [stdout] 1341 | parens!($i, call!($f)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/item.rs:1355:5 [INFO] [stdout] | [INFO] [stdout] 1355 | / impl_synom!(TraitItemMethod "method trait item" do_parse!( [INFO] [stdout] 1356 | | outer_attrs: many0!(Attribute::parse_outer) >> [INFO] [stdout] 1357 | | constness: option!(keyword!(const)) >> [INFO] [stdout] 1358 | | unsafety: option!(keyword!(unsafe)) >> [INFO] [stdout] ... | [INFO] [stdout] 1407 | | }) [INFO] [stdout] 1408 | | )); [INFO] [stdout] | |_______- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `parens` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: Trailing semicolon in macro [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/parsers.rs:1341:31 [INFO] [stdout] | [INFO] [stdout] 1341 | parens!($i, call!($f)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/item.rs:1532:5 [INFO] [stdout] | [INFO] [stdout] 1532 | / impl_synom!(ImplItemMethod "method in impl block" do_parse!( [INFO] [stdout] 1533 | | outer_attrs: many0!(Attribute::parse_outer) >> [INFO] [stdout] 1534 | | vis: syn!(Visibility) >> [INFO] [stdout] 1535 | | defaultness: option!(keyword!(default)) >> [INFO] [stdout] ... | [INFO] [stdout] 1578 | | }) [INFO] [stdout] 1579 | | )); [INFO] [stdout] | |_______- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `parens` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: Trailing semicolon in macro [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/parsers.rs:1341:31 [INFO] [stdout] | [INFO] [stdout] 1341 | parens!($i, call!($f)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/item.rs:1581:5 [INFO] [stdout] | [INFO] [stdout] 1581 | / named!(unstable_async_method -> ImplItemVerbatim, do_parse!( [INFO] [stdout] 1582 | | begin: call!(verbatim::grab_cursor) >> [INFO] [stdout] 1583 | | many0!(Attribute::parse_outer) >> [INFO] [stdout] 1584 | | syn!(Visibility) >> [INFO] [stdout] ... | [INFO] [stdout] 1603 | | }) [INFO] [stdout] 1604 | | )); [INFO] [stdout] | |_______- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `parens` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: Trailing semicolon in macro [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/parsers.rs:1413:31 [INFO] [stdout] | [INFO] [stdout] 1413 | braces!($i, call!($f)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/derive.rs:181:5 [INFO] [stdout] | [INFO] [stdout] 181 | / named!(data_enum -> (Option, token::Brace, Punctuated), do_parse!( [INFO] [stdout] 182 | | wh: option!(syn!(WhereClause)) >> [INFO] [stdout] 183 | | data: braces!(Punctuated::parse_terminated) >> [INFO] [stdout] 184 | | (wh, data.0, data.1) [INFO] [stdout] 185 | | )); [INFO] [stdout] | |_______- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `braces` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking tokio-executor v0.1.4 [INFO] [stderr] Checking tokio-io v0.1.8 [INFO] [stderr] Checking futures-cpupool v0.1.8 [INFO] [stdout] error: Trailing semicolon in macro [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/parsers.rs:1341:31 [INFO] [stdout] | [INFO] [stdout] 1341 | parens!($i, call!($f)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/ty.rs:439:9 [INFO] [stdout] | [INFO] [stdout] 439 | / named!(parse -> Self, do_parse!( [INFO] [stdout] 440 | | data: parens!(Punctuated::parse_terminated) >> [INFO] [stdout] 441 | | (TypeTuple { [INFO] [stdout] 442 | | paren_token: data.0, [INFO] [stdout] 443 | | elems: data.1, [INFO] [stdout] 444 | | }) [INFO] [stdout] 445 | | )); [INFO] [stdout] | |___________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `parens` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: Trailing semicolon in macro [INFO] [stdout] --> /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/parsers.rs:1341:31 [INFO] [stdout] | [INFO] [stdout] 1341 | parens!($i, call!($f)); [INFO] [stdout] | ^ [INFO] [stdout] | [INFO] [stdout] ::: /opt/rustwide/cargo-home/registry/src/github.com-1ecc6299db9ec823/syn-0.14.9/src/path.rs:298:9 [INFO] [stdout] | [INFO] [stdout] 298 | / named!(parse -> Self, do_parse!( [INFO] [stdout] 299 | | data: parens!(Punctuated::parse_terminated) >> [INFO] [stdout] 300 | | output: call!(ReturnType::without_plus) >> [INFO] [stdout] 301 | | (ParenthesizedGenericArguments { [INFO] [stdout] ... | [INFO] [stdout] 305 | | }) [INFO] [stdout] 306 | | )); [INFO] [stdout] | |___________- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `parens` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking generic-array v0.9.0 [INFO] [stderr] Checking mio-uds v0.6.7 [INFO] [stderr] Checking tokio-timer v0.2.6 [INFO] [stderr] Checking tokio-current-thread v0.1.1 [INFO] [stderr] Compiling phf_generator v0.7.23 [INFO] [stderr] Checking tokio-threadpool v0.1.6 [INFO] [stderr] Checking digest v0.7.5 [INFO] [stderr] Checking crypto-mac v0.5.2 [INFO] [stderr] Checking sha2 v0.7.1 [INFO] [stderr] Compiling phf_codegen v0.7.23 [INFO] [stderr] Checking hmac v0.5.0 [INFO] [stdout] error: aborting due to 6 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `syn` [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error: aborting due to 21 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: build failed [INFO] running `Command { std: "docker" "inspect" "4e52cdfcc0ba6bd7527345881a458fbbc8a0881a70bfa3a5c6a49816941eb1c2", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4e52cdfcc0ba6bd7527345881a458fbbc8a0881a70bfa3a5c6a49816941eb1c2", kill_on_drop: false }` [INFO] [stdout] 4e52cdfcc0ba6bd7527345881a458fbbc8a0881a70bfa3a5c6a49816941eb1c2