[INFO] cloning repository https://github.com/strax/baseplate
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/strax/baseplate" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstrax%2Fbaseplate", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstrax%2Fbaseplate'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8284457fc6e837a239b59b100ff251063a16ba33
[INFO] documenting strax/baseplate against 1.54.0 for beta-1.55-rustdoc-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fstrax%2Fbaseplate" "/workspace/builds/worker-3/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/strax/baseplate on toolchain 1.54.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/strax/baseplate
[INFO] finished tweaking git repo https://github.com/strax/baseplate
[INFO] tweaked toml for git repo https://github.com/strax/baseplate written to /workspace/builds/worker-3/source/Cargo.toml
[INFO] crate git repo https://github.com/strax/baseplate already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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" "+1.54.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 48c173fda41ca44aa321d10de2ebb933d2ef593837255d0072df890cb386eba4
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "48c173fda41ca44aa321d10de2ebb933d2ef593837255d0072df890cb386eba4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "48c173fda41ca44aa321d10de2ebb933d2ef593837255d0072df890cb386eba4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "48c173fda41ca44aa321d10de2ebb933d2ef593837255d0072df890cb386eba4", kill_on_drop: false }`
[INFO] [stdout] 48c173fda41ca44aa321d10de2ebb933d2ef593837255d0072df890cb386eba4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3/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" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "doc" "--frozen" "--no-deps" "--document-private-items" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c5fa686257200fd607de85d23712c48258e6b95cddba54965a4feb0d13f9e53a
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "c5fa686257200fd607de85d23712c48258e6b95cddba54965a4feb0d13f9e53a", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.62
[INFO] [stderr]    Compiling log v0.4.8
[INFO] [stderr]     Checking futures-sink-preview v0.3.0-alpha.19
[INFO] [stderr]     Checking futures-io-preview v0.3.0-alpha.19
[INFO] [stderr]    Compiling winapi v0.3.8
[INFO] [stderr]     Checking downcast-rs v1.1.0
[INFO] [stderr]     Checking pretty-hex v0.1.1
[INFO] [stderr]     Checking mint v0.5.3
[INFO] [stderr]    Compiling libloading v0.5.2
[INFO] [stderr]    Compiling num-complex v0.2.3
[INFO] [stderr]    Compiling num-rational v0.2.2
[INFO] [stderr]    Compiling bzip2-sys v0.1.7
[INFO] [stderr]    Compiling minimp3-sys v0.3.1
[INFO] [stderr]    Compiling bincode v1.2.0
[INFO] [stderr]    Compiling rand v0.6.5
[INFO] [stderr]    Compiling num-iter v0.1.39
[INFO] [stderr]    Compiling x11-dl v2.18.4
[INFO] [stderr]    Compiling alsa-sys v0.1.2
[INFO] [stderr]    Compiling libudev-sys v0.1.4
[INFO] [stderr]     Checking async-macros v1.0.0
[INFO] [stderr]    Compiling serde v1.0.101
[INFO] [stderr]    Compiling bitflags v1.2.0
[INFO] [stderr]     Checking async-task v1.0.0
[INFO] [stderr]     Checking futures-channel-preview v0.3.0-alpha.19
[INFO] [stderr]     Checking toml v0.5.3
[INFO] [stderr]     Checking stb_truetype v0.3.0
[INFO] [stderr]     Checking jpeg-decoder v0.1.16
[INFO] [stderr]     Checking draw_state v0.8.0
[INFO] [stderr]     Checking approx v0.3.2
[INFO] [stderr]     Checking line_drawing v0.7.0
[INFO] [stderr]     Checking lewton v0.9.4
[INFO] [stderr]     Checking png v0.15.0
[INFO] [stderr]    Compiling syn v1.0.5
[INFO] [stderr]    Compiling pulldown-cmark v0.2.0
[INFO] [stderr]     Checking sid v0.5.2
[INFO] [stderr]    Compiling snafu-derive v0.5.0
[INFO] [stderr]     Checking kv-log-macro v1.0.4
[INFO] [stderr]     Checking gfx_core v0.9.2
[INFO] [stderr]     Checking euclid v0.19.9
[INFO] [stderr]     Checking tiff v0.3.1
[INFO] [stderr]    Compiling gl_generator v0.11.0
[INFO] [stderr]     Checking dlib v0.4.1
[INFO] [stderr]     Checking num_cpus v1.10.1
[INFO] [stderr]     Checking nix v0.14.1
[INFO] [stderr]     Checking getrandom v0.1.12
[INFO] [stderr]     Checking iovec v0.1.4
[INFO] [stderr]     Checking rand v0.4.6
[INFO] [stderr]    Compiling backtrace-sys v0.1.31
[INFO] [stderr]     Checking memmap v0.7.0
[INFO] [stderr]     Checking net2 v0.2.33
[INFO] [stderr]     Checking time v0.1.42
[INFO] [stderr]     Checking shared_library v0.1.9
[INFO] [stderr]     Checking rand_os v0.1.3
[INFO] [stderr]     Checking slice-deque v0.2.4
[INFO] [stderr]     Checking nix v0.11.1
[INFO] [stderr]     Checking dirs-sys v0.3.4
[INFO] [stderr]     Checking atty v0.2.13
[INFO] [stderr]     Checking wayland-sys v0.21.13
[INFO] [stderr]    Compiling backtrace v0.3.38
[INFO] [stderr]     Checking bytes v0.4.12
[INFO] [stderr]     Checking lyon_geom v0.12.7
[INFO] [stderr]     Checking alga v0.9.1
[INFO] [stderr]     Checking rand_core v0.5.1
[INFO] [stderr]     Checking image v0.22.3
[INFO] [stderr]     Checking chrono v0.4.9
[INFO] [stderr]     Checking osmesa-sys v0.1.2
[INFO] [stderr]     Checking mio v0.6.19
[INFO] [stderr]     Checking bzip2 v0.3.3
[INFO] [stderr]    Compiling tempdir v0.3.7
[INFO] [stderr]     Checking cpal v0.8.2
[INFO] [stderr]     Checking directories v2.0.2
[INFO] [stderr]     Checking env_logger v0.7.0
[INFO] [stderr]     Checking cgmath v0.16.1
[INFO] [stderr]     Checking minimp3 v0.3.3
[INFO] [stderr]    Compiling error-chain v0.12.1
[INFO] [stderr]     Checking rand_chacha v0.2.1
[INFO] [stderr]     Checking gfx v0.18.2
[INFO] [stderr]     Checking lyon_path v0.13.2
[INFO] [stderr]     Checking zip v0.5.3
[INFO] [stderr]    Compiling glutin_egl_sys v0.1.3
[INFO] [stderr]    Compiling gfx_gl v0.6.0
[INFO] [stderr]    Compiling glutin_glx_sys v0.1.5
[INFO] [stderr]     Checking mio-uds v0.6.7
[INFO] [stderr]     Checking rand v0.7.2
[INFO] [stderr]    Compiling semver v0.9.0
[INFO] [stderr]    Compiling serde_json v1.0.41
[INFO] [stderr]     Checking nalgebra v0.18.1
[INFO] [stderr]     Checking lyon_algorithms v0.13.4
[INFO] [stderr]     Checking lyon_tessellation v0.13.5
[INFO] [stderr]    Compiling rustc_version v0.2.3
[INFO] [stderr]     Checking lyon v0.13.5
[INFO] [stderr]     Checking winconsole v0.10.0
[INFO] [stderr]    Compiling memoffset v0.5.1
[INFO] [stderr]    Compiling parking_lot_core v0.6.2
[INFO] [stderr]    Compiling parking_lot v0.9.0
[INFO] [stderr]     Checking wayland-commons v0.21.13
[INFO] [stderr]     Checking twox-hash v1.5.0
[INFO] [stderr]     Checking colored v1.8.0
[INFO] [stderr]     Checking fern v0.5.8
[INFO] [stderr]     Checking gilrs-core v0.2.4
[INFO] [stderr]     Checking wayland-client v0.21.13
[INFO] [stderr]     Checking crossbeam-epoch v0.7.2
[INFO] [stderr]     Checking snafu v0.5.0
[INFO] [stderr]     Checking gilrs v0.7.2
[INFO] [stderr]     Checking crossbeam-deque v0.7.1
[INFO] [stderr]     Checking rusttype v0.8.1
[INFO] [stderr]     Checking wayland-protocols v0.21.13
[INFO] [stderr]     Checking rusttype v0.7.9
[INFO] [stderr]     Checking glyph_brush_layout v0.1.8
[INFO] [stderr]     Checking andrew v0.2.1
[INFO] [stderr]     Checking glyph_brush v0.6.0
[INFO] [stderr]    Compiling proc-macro-hack v0.5.10
[INFO] [stderr]    Compiling serde_derive v1.0.101
[INFO] [stderr]     Checking glyph_brush v0.5.4
[INFO] [stderr]     Checking smithay-client-toolkit v0.4.6
[INFO] [stderr]     Checking gfx_device_gl v0.16.2
[INFO] [stderr]    Compiling futures-select-macro-preview v0.3.0-alpha.19
[INFO] [stderr]    Compiling futures-join-macro-preview v0.3.0-alpha.19
[INFO] [stderr]    Compiling paste-impl v0.1.6
[INFO] [stderr]     Checking winit v0.19.3
[INFO] [stderr]     Checking paste v0.1.6
[INFO] [stderr]     Checking futures-util-preview v0.3.0-alpha.19
[INFO] [stderr]     Checking glutin v0.20.1
[INFO] [stderr]     Checking gfx_window_glutin v0.30.0
[INFO] [stderr]     Checking futures-executor-preview v0.3.0-alpha.19
[INFO] [stderr]     Checking futures-timer v0.4.0
[INFO] [stderr]     Checking broadcaster v0.2.6
[INFO] [stderr]     Checking futures-timer v1.0.2
[INFO] [stderr]     Checking futures-preview v0.3.0-alpha.19
[INFO] [stderr]     Checking async-std v0.99.9
[INFO] [stderr]    Compiling cargo_metadata v0.6.4
[INFO] [stderr]     Checking shared v0.1.0 (/opt/rustwide/workdir/shared)
[INFO] [stderr]  Documenting shared v0.1.0 (/opt/rustwide/workdir/shared)
[INFO] [stdout] note: trace_macro
[INFO] [stdout]   --> shared/src/packet.rs:85:30
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let message_length = read!(u32, cur)? as usize;
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expanding `read! { u32, cur }`
[INFO] [stdout]    = note: to `{
[INFO] [stdout]                ensure_size! (std :: mem :: size_of :: < u32 > (), cur) ; paste :: expr!
[INFO] [stdout]                { Ok(cur.[< get_ u32 _be >] ()) }
[INFO] [stdout]            }`
[INFO] [stdout]    = note: expanding `ensure_size! { std :: mem :: size_of :: < u32 > (), cur }`
[INFO] [stdout]    = note: to `{
[INFO] [stdout]                let expected = std::mem::size_of::<u32>() ; let actual = cur.remaining() ;
[INFO] [stdout]                ensure! (actual >= expected, InvalidLength { expected, actual }) ;
[INFO] [stdout]            }`
[INFO] [stdout]    = note: expanding `ensure! { actual >= expected, InvalidLength { expected, actual } }`
[INFO] [stdout]    = note: to `if! actual >= expected { return InvalidLength{expected, actual,}.fail() ; }`
[INFO] [stdout]    = note: expanding `expr! { Ok(cur.[< get_ u32 _be >] ()) }`
[INFO] [stdout]    = note: to `{
[INFO] [stdout]                #[derive($crate :: proc_macro_hack_expr)] enum ProcMacroHack
[INFO] [stdout]                { Value = (stringify! { Ok(cur.[< get_ u32 _be >] ()) }, 0).1, }
[INFO] [stdout]                proc_macro_call! ()
[INFO] [stdout]            }`
[INFO] [stdout]    = note: expanding `proc_macro_call! {  }`
[INFO] [stdout]    = note: to `{ Ok(cur.get_u32_be()) }`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] note: trace_macro
[INFO] [stdout]   --> shared/src/packet.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 | /         ensure!(
[INFO] [stdout] 92 | |             received_checksum == computed_checksum,
[INFO] [stdout] 93 | |             InvalidChecksum {
[INFO] [stdout] 94 | |                 received: received_checksum,
[INFO] [stdout] 95 | |                 computed: computed_checksum
[INFO] [stdout] 96 | |             }
[INFO] [stdout] 97 | |         );
[INFO] [stdout]    | |__________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expanding `ensure! { received_checksum == computed_checksum, InvalidChecksum
[INFO] [stdout]            { received : received_checksum, computed : computed_checksum } }`
[INFO] [stdout]    = note: to `if! received_checksum == computed_checksum
[INFO] [stdout]            {
[INFO] [stdout]                return
[INFO] [stdout]                InvalidChecksum{received: received_checksum, computed: computed_checksum,}.fail()
[INFO] [stdout]                ;
[INFO] [stdout]            }`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] note: trace_macro
[INFO] [stdout]   --> shared/src/packet.rs:86:45
[INFO] [stdout]    |
[INFO] [stdout] 86 |         let timestamp = Utc.timestamp_nanos(read!(i64, cur)?);
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expanding `read! { i64, cur }`
[INFO] [stdout]    = note: to `{
[INFO] [stdout]                ensure_size! (std :: mem :: size_of :: < i64 > (), cur) ; paste :: expr!
[INFO] [stdout]                { Ok(cur.[< get_ i64 _be >] ()) }
[INFO] [stdout]            }`
[INFO] [stdout]    = note: expanding `ensure_size! { std :: mem :: size_of :: < i64 > (), cur }`
[INFO] [stdout]    = note: to `{
[INFO] [stdout]                let expected = std::mem::size_of::<i64>() ; let actual = cur.remaining() ;
[INFO] [stdout]                ensure! (actual >= expected, InvalidLength { expected, actual }) ;
[INFO] [stdout]            }`
[INFO] [stdout]    = note: expanding `ensure! { actual >= expected, InvalidLength { expected, actual } }`
[INFO] [stdout]    = note: to `if! actual >= expected { return InvalidLength{expected, actual,}.fail() ; }`
[INFO] [stdout]    = note: expanding `expr! { Ok(cur.[< get_ i64 _be >] ()) }`
[INFO] [stdout]    = note: to `{
[INFO] [stdout]                #[derive($crate :: proc_macro_hack_expr)] enum ProcMacroHack
[INFO] [stdout]                { Value = (stringify! { Ok(cur.[< get_ i64 _be >] ()) }, 0).1, }
[INFO] [stdout]                proc_macro_call! ()
[INFO] [stdout]            }`
[INFO] [stdout]    = note: expanding `proc_macro_call! {  }`
[INFO] [stdout]    = note: to `{ Ok(cur.get_i64_be()) }`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] note: trace_macro
[INFO] [stdout]   --> shared/src/packet.rs:83:31
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let sequence_number = read!(u32, cur)?;
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expanding `read! { u32, cur }`
[INFO] [stdout]    = note: to `{
[INFO] [stdout]                ensure_size! (std :: mem :: size_of :: < u32 > (), cur) ; paste :: expr!
[INFO] [stdout]                { Ok(cur.[< get_ u32 _be >] ()) }
[INFO] [stdout]            }`
[INFO] [stdout]    = note: expanding `ensure_size! { std :: mem :: size_of :: < u32 > (), cur }`
[INFO] [stdout]    = note: to `{
[INFO] [stdout]                let expected = std::mem::size_of::<u32>() ; let actual = cur.remaining() ;
[INFO] [stdout]                ensure! (actual >= expected, InvalidLength { expected, actual }) ;
[INFO] [stdout]            }`
[INFO] [stdout]    = note: expanding `ensure! { actual >= expected, InvalidLength { expected, actual } }`
[INFO] [stdout]    = note: to `if! actual >= expected { return InvalidLength{expected, actual,}.fail() ; }`
[INFO] [stdout]    = note: expanding `expr! { Ok(cur.[< get_ u32 _be >] ()) }`
[INFO] [stdout]    = note: to `{
[INFO] [stdout]                #[derive($crate :: proc_macro_hack_expr)] enum ProcMacroHack
[INFO] [stdout]                { Value = (stringify! { Ok(cur.[< get_ u32 _be >] ()) }, 0).1, }
[INFO] [stdout]                proc_macro_call! ()
[INFO] [stdout]            }`
[INFO] [stdout]    = note: expanding `proc_macro_call! {  }`
[INFO] [stdout]    = note: to `{ Ok(cur.get_u32_be()) }`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] note: trace_macro
[INFO] [stdout]   --> shared/src/packet.rs:84:33
[INFO] [stdout]    |
[INFO] [stdout] 84 |         let received_checksum = read!(u32, cur)?;
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expanding `read! { u32, cur }`
[INFO] [stdout]    = note: to `{
[INFO] [stdout]                ensure_size! (std :: mem :: size_of :: < u32 > (), cur) ; paste :: expr!
[INFO] [stdout]                { Ok(cur.[< get_ u32 _be >] ()) }
[INFO] [stdout]            }`
[INFO] [stdout]    = note: expanding `ensure_size! { std :: mem :: size_of :: < u32 > (), cur }`
[INFO] [stdout]    = note: to `{
[INFO] [stdout]                let expected = std::mem::size_of::<u32>() ; let actual = cur.remaining() ;
[INFO] [stdout]                ensure! (actual >= expected, InvalidLength { expected, actual }) ;
[INFO] [stdout]            }`
[INFO] [stdout]    = note: expanding `ensure! { actual >= expected, InvalidLength { expected, actual } }`
[INFO] [stdout]    = note: to `if! actual >= expected { return InvalidLength{expected, actual,}.fail() ; }`
[INFO] [stdout]    = note: expanding `expr! { Ok(cur.[< get_ u32 _be >] ()) }`
[INFO] [stdout]    = note: to `{
[INFO] [stdout]                #[derive($crate :: proc_macro_hack_expr)] enum ProcMacroHack
[INFO] [stdout]                { Value = (stringify! { Ok(cur.[< get_ u32 _be >] ()) }, 0).1, }
[INFO] [stdout]                proc_macro_call! ()
[INFO] [stdout]            }`
[INFO] [stdout]    = note: expanding `proc_macro_call! {  }`
[INFO] [stdout]    = note: to `{ Ok(cur.get_u32_be()) }`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] note: trace_macro
[INFO] [stdout]   --> shared/src/packet.rs:85:30
[INFO] [stdout]    |
[INFO] [stdout] 85 |         let message_length = read!(u32, cur)? as usize;
[INFO] [stdout]    |                              ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expanding `read! { u32, cur }`
[INFO] [stdout]    = note: to `{
[INFO] [stdout]                ensure_size! (std :: mem :: size_of :: < u32 > (), cur) ; paste :: expr!
[INFO] [stdout]                { Ok(cur.[< get_ u32 _be >] ()) }
[INFO] [stdout]            }`
[INFO] [stdout]    = note: expanding `ensure_size! { std :: mem :: size_of :: < u32 > (), cur }`
[INFO] [stdout]    = note: to `{
[INFO] [stdout]                let expected = std::mem::size_of::<u32>() ; let actual = cur.remaining() ;
[INFO] [stdout]                ensure! (actual >= expected, InvalidLength { expected, actual }) ;
[INFO] [stdout]            }`
[INFO] [stdout]    = note: expanding `ensure! { actual >= expected, InvalidLength { expected, actual } }`
[INFO] [stdout]    = note: to `if! actual >= expected { return InvalidLength{expected, actual,}.fail() ; }`
[INFO] [stdout]    = note: expanding `expr! { Ok(cur.[< get_ u32 _be >] ()) }`
[INFO] [stdout]    = note: to `{
[INFO] [stdout]                #[derive($crate :: proc_macro_hack_expr)] enum ProcMacroHack
[INFO] [stdout]                { Value = (stringify! { Ok(cur.[< get_ u32 _be >] ()) }, 0).1, }
[INFO] [stdout]                proc_macro_call! ()
[INFO] [stdout]            }`
[INFO] [stdout]    = note: expanding `proc_macro_call! {  }`
[INFO] [stdout]    = note: to `{ Ok(cur.get_u32_be()) }`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] note: trace_macro
[INFO] [stdout]   --> shared/src/packet.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 | /         ensure!(
[INFO] [stdout] 92 | |             received_checksum == computed_checksum,
[INFO] [stdout] 93 | |             InvalidChecksum {
[INFO] [stdout] 94 | |                 received: received_checksum,
[INFO] [stdout] 95 | |                 computed: computed_checksum
[INFO] [stdout] 96 | |             }
[INFO] [stdout] 97 | |         );
[INFO] [stdout]    | |__________^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expanding `ensure! { received_checksum == computed_checksum, InvalidChecksum
[INFO] [stdout]            { received : received_checksum, computed : computed_checksum } }`
[INFO] [stdout]    = note: to `if! received_checksum == computed_checksum
[INFO] [stdout]            {
[INFO] [stdout]                return
[INFO] [stdout]                InvalidChecksum{received: received_checksum, computed: computed_checksum,}.fail()
[INFO] [stdout]                ;
[INFO] [stdout]            }`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] note: trace_macro
[INFO] [stdout]   --> shared/src/packet.rs:86:45
[INFO] [stdout]    |
[INFO] [stdout] 86 |         let timestamp = Utc.timestamp_nanos(read!(i64, cur)?);
[INFO] [stdout]    |                                             ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expanding `read! { i64, cur }`
[INFO] [stdout]    = note: to `{
[INFO] [stdout]                ensure_size! (std :: mem :: size_of :: < i64 > (), cur) ; paste :: expr!
[INFO] [stdout]                { Ok(cur.[< get_ i64 _be >] ()) }
[INFO] [stdout]            }`
[INFO] [stdout]    = note: expanding `ensure_size! { std :: mem :: size_of :: < i64 > (), cur }`
[INFO] [stdout]    = note: to `{
[INFO] [stdout]                let expected = std::mem::size_of::<i64>() ; let actual = cur.remaining() ;
[INFO] [stdout]                ensure! (actual >= expected, InvalidLength { expected, actual }) ;
[INFO] [stdout]            }`
[INFO] [stdout]    = note: expanding `ensure! { actual >= expected, InvalidLength { expected, actual } }`
[INFO] [stdout]    = note: to `if! actual >= expected { return InvalidLength{expected, actual,}.fail() ; }`
[INFO] [stdout]    = note: expanding `expr! { Ok(cur.[< get_ i64 _be >] ()) }`
[INFO] [stdout]    = note: to `{
[INFO] [stdout]                #[derive($crate :: proc_macro_hack_expr)] enum ProcMacroHack
[INFO] [stdout]                { Value = (stringify! { Ok(cur.[< get_ i64 _be >] ()) }, 0).1, }
[INFO] [stdout]                proc_macro_call! ()
[INFO] [stdout]            }`
[INFO] [stdout]    = note: expanding `proc_macro_call! {  }`
[INFO] [stdout]    = note: to `{ Ok(cur.get_i64_be()) }`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] note: trace_macro
[INFO] [stdout]   --> shared/src/packet.rs:83:31
[INFO] [stdout]    |
[INFO] [stdout] 83 |         let sequence_number = read!(u32, cur)?;
[INFO] [stdout]    |                               ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expanding `read! { u32, cur }`
[INFO] [stdout]    = note: to `{
[INFO] [stdout]                ensure_size! (std :: mem :: size_of :: < u32 > (), cur) ; paste :: expr!
[INFO] [stdout]                { Ok(cur.[< get_ u32 _be >] ()) }
[INFO] [stdout]            }`
[INFO] [stdout]    = note: expanding `ensure_size! { std :: mem :: size_of :: < u32 > (), cur }`
[INFO] [stdout]    = note: to `{
[INFO] [stdout]                let expected = std::mem::size_of::<u32>() ; let actual = cur.remaining() ;
[INFO] [stdout]                ensure! (actual >= expected, InvalidLength { expected, actual }) ;
[INFO] [stdout]            }`
[INFO] [stdout]    = note: expanding `ensure! { actual >= expected, InvalidLength { expected, actual } }`
[INFO] [stdout]    = note: to `if! actual >= expected { return InvalidLength{expected, actual,}.fail() ; }`
[INFO] [stdout]    = note: expanding `expr! { Ok(cur.[< get_ u32 _be >] ()) }`
[INFO] [stdout]    = note: to `{
[INFO] [stdout]                #[derive($crate :: proc_macro_hack_expr)] enum ProcMacroHack
[INFO] [stdout]                { Value = (stringify! { Ok(cur.[< get_ u32 _be >] ()) }, 0).1, }
[INFO] [stdout]                proc_macro_call! ()
[INFO] [stdout]            }`
[INFO] [stdout]    = note: expanding `proc_macro_call! {  }`
[INFO] [stdout]    = note: to `{ Ok(cur.get_u32_be()) }`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] note: trace_macro
[INFO] [stdout]   --> shared/src/packet.rs:84:33
[INFO] [stdout]    |
[INFO] [stdout] 84 |         let received_checksum = read!(u32, cur)?;
[INFO] [stdout]    |                                 ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: expanding `read! { u32, cur }`
[INFO] [stdout]    = note: to `{
[INFO] [stdout]                ensure_size! (std :: mem :: size_of :: < u32 > (), cur) ; paste :: expr!
[INFO] [stdout]                { Ok(cur.[< get_ u32 _be >] ()) }
[INFO] [stdout]            }`
[INFO] [stdout]    = note: expanding `ensure_size! { std :: mem :: size_of :: < u32 > (), cur }`
[INFO] [stdout]    = note: to `{
[INFO] [stdout]                let expected = std::mem::size_of::<u32>() ; let actual = cur.remaining() ;
[INFO] [stdout]                ensure! (actual >= expected, InvalidLength { expected, actual }) ;
[INFO] [stdout]            }`
[INFO] [stdout]    = note: expanding `ensure! { actual >= expected, InvalidLength { expected, actual } }`
[INFO] [stdout]    = note: to `if! actual >= expected { return InvalidLength{expected, actual,}.fail() ; }`
[INFO] [stdout]    = note: expanding `expr! { Ok(cur.[< get_ u32 _be >] ()) }`
[INFO] [stdout]    = note: to `{
[INFO] [stdout]                #[derive($crate :: proc_macro_hack_expr)] enum ProcMacroHack
[INFO] [stdout]                { Value = (stringify! { Ok(cur.[< get_ u32 _be >] ()) }, 0).1, }
[INFO] [stdout]                proc_macro_call! ()
[INFO] [stdout]            }`
[INFO] [stdout]    = note: expanding `proc_macro_call! {  }`
[INFO] [stdout]    = note: to `{ Ok(cur.get_u32_be()) }`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]  --> shared/src/lib.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(trace_macros)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0554]: `#![feature]` may not be used on the stable release channel
[INFO] [stdout]  --> shared/src/lib.rs:1:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(trace_macros)]
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: Compilation failed, aborting rustdoc
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0554`.
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::hexdump`
[INFO] [stdout]  --> shared/src/packet.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use super::hexdump;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ByteOrder`, `LittleEndian as LE`, `Reader`, `Writer`
[INFO] [stdout]  --> shared/src/packet.rs:2:26
[INFO] [stdout]   |
[INFO] [stdout] 2 | use bytes::{Buf, BufMut, ByteOrder, Bytes, BytesMut, LittleEndian as LE, Reader, Writer};
[INFO] [stdout]   |                          ^^^^^^^^^                   ^^^^^^^^^^^^^^^^^^  ^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `pretty_hex::*`
[INFO] [stdout]  --> shared/src/packet.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use pretty_hex::*;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not document `shared`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `rustdoc --edition=2018 --crate-type lib --crate-name shared shared/src/lib.rs -o /opt/rustwide/target/doc --error-format=json --json=diagnostic-rendered-ansi --document-private-items -L dependency=/opt/rustwide/target/debug/deps --extern bincode=/opt/rustwide/target/debug/deps/libbincode-1c84cf2f312e4d0b.rmeta --extern bytes=/opt/rustwide/target/debug/deps/libbytes-3d4a798afca34cd1.rmeta --extern chrono=/opt/rustwide/target/debug/deps/libchrono-da81ed1fb701cc82.rmeta --extern crc=/opt/rustwide/target/debug/deps/libcrc-d6022a81f1e1338a.rmeta --extern fern=/opt/rustwide/target/debug/deps/libfern-468204105149619a.rmeta --extern log=/opt/rustwide/target/debug/deps/liblog-b09ad02db399754e.rmeta --extern paste=/opt/rustwide/target/debug/deps/libpaste-555480580b5d0002.rmeta --extern pretty_hex=/opt/rustwide/target/debug/deps/libpretty_hex-7afdb1f4c0ff1c20.rmeta --extern serde=/opt/rustwide/target/debug/deps/libserde-fe51ea7ed41026df.rmeta --extern serde_derive=/opt/rustwide/target/debug/deps/libserde_derive-c18ba04569a8ffee.so --extern snafu=/opt/rustwide/target/debug/deps/libsnafu-004a3cd9626e1714.rmeta --cap-lints=warn --crate-version 0.1.0` (exit status: 1)
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> shared/src/packet.rs:9:23
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::io::{Cursor, Write};
[INFO] [stdout]   |                       ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error; 4 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0554`.
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "c5fa686257200fd607de85d23712c48258e6b95cddba54965a4feb0d13f9e53a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c5fa686257200fd607de85d23712c48258e6b95cddba54965a4feb0d13f9e53a", kill_on_drop: false }`
[INFO] [stdout] c5fa686257200fd607de85d23712c48258e6b95cddba54965a4feb0d13f9e53a
