[INFO] fetching crate secop-derive 0.1.3...
[INFO] testing secop-derive-0.1.3 against master#2fd6efc32704647e64d3d646d21c4c68eae100e4 for pr-149852-1
[INFO] extracting crate secop-derive 0.1.3 into /workspace/builds/worker-6-tc1/source
[INFO] started tweaking crates.io crate secop-derive 0.1.3
[INFO] finished tweaking crates.io crate secop-derive 0.1.3
[INFO] tweaked toml for crates.io crate secop-derive 0.1.3 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate secop-derive 0.1.3 on toolchain 2fd6efc32704647e64d3d646d21c4c68eae100e4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]      Locking 12 packages to latest compatible versions
[INFO] [stderr]       Adding darling v0.13.4 (available: v0.23.0)
[INFO] [stderr]       Adding syn v1.0.109 (available: v2.0.114)
[INFO] [stderr]       Adding synstructure v0.12.6 (available: v0.13.2)
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4579c824a021d5ff5d9a515899ae143468011b8cf071efa8a3bb820777f5a535
[INFO] running `Command { std: "docker" "start" "-a" "4579c824a021d5ff5d9a515899ae143468011b8cf071efa8a3bb820777f5a535", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4579c824a021d5ff5d9a515899ae143468011b8cf071efa8a3bb820777f5a535", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4579c824a021d5ff5d9a515899ae143468011b8cf071efa8a3bb820777f5a535", kill_on_drop: false }`
[INFO] [stdout] 4579c824a021d5ff5d9a515899ae143468011b8cf071efa8a3bb820777f5a535
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c0e0916279cd2d987d5a29bcf497a0ec045e340aab2be2d763e551839f8f9f71
[INFO] running `Command { std: "docker" "start" "-a" "c0e0916279cd2d987d5a29bcf497a0ec045e340aab2be2d763e551839f8f9f71", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]    Compiling darling_core v0.13.4
[INFO] [stderr]    Compiling synstructure v0.12.6
[INFO] [stderr]    Compiling darling_macro v0.13.4
[INFO] [stderr]    Compiling darling v0.13.4
[INFO] [stderr]    Compiling secop-derive v0.1.3 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 8.68s
[INFO] running `Command { std: "docker" "inspect" "c0e0916279cd2d987d5a29bcf497a0ec045e340aab2be2d763e551839f8f9f71", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c0e0916279cd2d987d5a29bcf497a0ec045e340aab2be2d763e551839f8f9f71", kill_on_drop: false }`
[INFO] [stdout] c0e0916279cd2d987d5a29bcf497a0ec045e340aab2be2d763e551839f8f9f71
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7d2d50d6aaf31a2c5a6ff13a8e4106ea6deed47d4a507693ddb5666bb3a0b214
[INFO] running `Command { std: "docker" "start" "-a" "7d2d50d6aaf31a2c5a6ff13a8e4106ea6deed47d4a507693ddb5666bb3a0b214", kill_on_drop: false }`
[INFO] [stderr]    Compiling secop-derive v0.1.3 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.40s
[INFO] running `Command { std: "docker" "inspect" "7d2d50d6aaf31a2c5a6ff13a8e4106ea6deed47d4a507693ddb5666bb3a0b214", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7d2d50d6aaf31a2c5a6ff13a8e4106ea6deed47d4a507693ddb5666bb3a0b214", kill_on_drop: false }`
[INFO] [stdout] 7d2d50d6aaf31a2c5a6ff13a8e4106ea6deed47d4a507693ddb5666bb3a0b214
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 06704cef01ec929d728d56100a819b1cac579b3a67b1b2093a196a47c30c7f56
[INFO] running `Command { std: "docker" "start" "-a" "06704cef01ec929d728d56100a819b1cac579b3a67b1b2093a196a47c30c7f56", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.03s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/secop_derive-7dd7c079a1f201fc)
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests secop_derive
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test src/typedesc.rs - typedesc (line 41) ... FAILED
[INFO] [stdout] test src/module.rs - module (line 60) ... FAILED
[INFO] [stdout] test src/typedesc.rs - typedesc (line 54) ... FAILED
[INFO] [stdout] test src/typedesc.rs - typedesc (line 72) ... FAILED
[INFO] [stdout] test src/module.rs - module (line 38) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/typedesc.rs - typedesc (line 41) stdout ----
[INFO] [stdout] error: cannot find derive macro `TypeDesc` in this scope
[INFO] [stdout]   --> src/typedesc.rs:42:10
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[derive(TypeDesc, Clone, PartialEq)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout] 41 + use secop_derive::TypeDesc;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/module.rs - module (line 60) stdout ----
[INFO] [stdout] error: unexpected token: `...`
[INFO] [stdout]   --> src/module.rs:65:26
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let connection = ...;
[INFO] [stdout]    |                          ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `..` for an exclusive range
[INFO] [stdout]    |
[INFO] [stdout] 65 -         let connection = ...;
[INFO] [stdout] 65 +         let connection = ..;
[INFO] [stdout]    |
[INFO] [stdout] help: or `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout] 65 -         let connection = ...;
[INFO] [stdout] 65 +         let connection = ..=;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0586]: inclusive range with no end
[INFO] [stdout]   --> src/module.rs:65:26
[INFO] [stdout]    |
[INFO] [stdout] 65 |         let connection = ...;
[INFO] [stdout]    |                          ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: inclusive ranges must be bounded at the end (`..=b` or `a..=b`)
[INFO] [stdout] help: use `..` instead
[INFO] [stdout]    |
[INFO] [stdout] 65 -         let connection = ...;
[INFO] [stdout] 65 +         let connection = ..;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: unexpected token: `...`
[INFO] [stdout]   --> src/module.rs:74:47
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn read_value(&mut self) -> Result<f64> { ... }
[INFO] [stdout]    |                                               ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `..` for an exclusive range
[INFO] [stdout]    |
[INFO] [stdout] 74 -     fn read_value(&mut self) -> Result<f64> { ... }
[INFO] [stdout] 74 +     fn read_value(&mut self) -> Result<f64> { .. }
[INFO] [stdout]    |
[INFO] [stdout] help: or `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout] 74 -     fn read_value(&mut self) -> Result<f64> { ... }
[INFO] [stdout] 74 +     fn read_value(&mut self) -> Result<f64> { ..= }
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0586]: inclusive range with no end
[INFO] [stdout]   --> src/module.rs:74:47
[INFO] [stdout]    |
[INFO] [stdout] 74 |     fn read_value(&mut self) -> Result<f64> { ... }
[INFO] [stdout]    |                                               ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: inclusive ranges must be bounded at the end (`..=b` or `a..=b`)
[INFO] [stdout] help: use `..` instead
[INFO] [stdout]    |
[INFO] [stdout] 74 -     fn read_value(&mut self) -> Result<f64> { ... }
[INFO] [stdout] 74 +     fn read_value(&mut self) -> Result<f64> { .. }
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: unexpected token: `...`
[INFO] [stdout]   --> src/module.rs:75:58
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn write_target(&mut self, tgt: f64) -> Result<()> { ... }
[INFO] [stdout]    |                                                          ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `..` for an exclusive range
[INFO] [stdout]    |
[INFO] [stdout] 75 -     fn write_target(&mut self, tgt: f64) -> Result<()> { ... }
[INFO] [stdout] 75 +     fn write_target(&mut self, tgt: f64) -> Result<()> { .. }
[INFO] [stdout]    |
[INFO] [stdout] help: or `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout] 75 -     fn write_target(&mut self, tgt: f64) -> Result<()> { ... }
[INFO] [stdout] 75 +     fn write_target(&mut self, tgt: f64) -> Result<()> { ..= }
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0586]: inclusive range with no end
[INFO] [stdout]   --> src/module.rs:75:58
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn write_target(&mut self, tgt: f64) -> Result<()> { ... }
[INFO] [stdout]    |                                                          ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: inclusive ranges must be bounded at the end (`..=b` or `a..=b`)
[INFO] [stdout] help: use `..` instead
[INFO] [stdout]    |
[INFO] [stdout] 75 -     fn write_target(&mut self, tgt: f64) -> Result<()> { ... }
[INFO] [stdout] 75 +     fn write_target(&mut self, tgt: f64) -> Result<()> { .. }
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: unexpected token: `...`
[INFO] [stdout]   --> src/module.rs:76:52
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn do_stop(&mut self, arg: ()) -> Result<()> { ... }
[INFO] [stdout]    |                                                    ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `..` for an exclusive range
[INFO] [stdout]    |
[INFO] [stdout] 76 -     fn do_stop(&mut self, arg: ()) -> Result<()> { ... }
[INFO] [stdout] 76 +     fn do_stop(&mut self, arg: ()) -> Result<()> { .. }
[INFO] [stdout]    |
[INFO] [stdout] help: or `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout] 76 -     fn do_stop(&mut self, arg: ()) -> Result<()> { ... }
[INFO] [stdout] 76 +     fn do_stop(&mut self, arg: ()) -> Result<()> { ..= }
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0586]: inclusive range with no end
[INFO] [stdout]   --> src/module.rs:76:52
[INFO] [stdout]    |
[INFO] [stdout] 76 |     fn do_stop(&mut self, arg: ()) -> Result<()> { ... }
[INFO] [stdout]    |                                                    ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: inclusive ranges must be bounded at the end (`..=b` or `a..=b`)
[INFO] [stdout] help: use `..` instead
[INFO] [stdout]    |
[INFO] [stdout] 76 -     fn do_stop(&mut self, arg: ()) -> Result<()> { ... }
[INFO] [stdout] 76 +     fn do_stop(&mut self, arg: ()) -> Result<()> { .. }
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0405]: cannot find trait `Module` in this scope
[INFO] [stdout]   --> src/module.rs:61:6
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl Module for Motor {
[INFO] [stdout]    |      ^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Motor` in this scope
[INFO] [stdout]   --> src/module.rs:61:17
[INFO] [stdout]    |
[INFO] [stdout] 61 | impl Module for Motor {
[INFO] [stdout]    |                 ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `ModInternals` in this scope
[INFO] [stdout]   --> src/module.rs:62:26
[INFO] [stdout]    |
[INFO] [stdout] 62 |     fn create(internals: ModInternals) -> Self {
[INFO] [stdout]    |                          ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `Motor` in this scope
[INFO] [stdout]   --> src/module.rs:66:9
[INFO] [stdout]    |
[INFO] [stdout] 66 |         Motor { internals, connection }
[INFO] [stdout]    |         ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Motor` in this scope
[INFO] [stdout]   --> src/module.rs:72:6
[INFO] [stdout]    |
[INFO] [stdout] 72 | impl Motor {
[INFO] [stdout]    |      ^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 13 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0405, E0422, E0425, E0586.
[INFO] [stdout] For more information about an error, try `rustc --explain E0405`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/typedesc.rs - typedesc (line 54) stdout ----
[INFO] [stdout] error: expected identifier, found `...`
[INFO] [stdout]   --> src/typedesc.rs:56:21
[INFO] [stdout]    |
[INFO] [stdout] 56 | struct Controller { ... }
[INFO] [stdout]    |        ----------   ^^^ expected identifier
[INFO] [stdout]    |        |
[INFO] [stdout]    |        while parsing this struct
[INFO] [stdout] 
[INFO] [stdout] error: unexpected token: `...`
[INFO] [stdout]   --> src/typedesc.rs:59:47
[INFO] [stdout]    |
[INFO] [stdout] 59 |     fn read_mode(&mut self) -> Result<Mode> { ... }
[INFO] [stdout]    |                                               ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `..` for an exclusive range
[INFO] [stdout]    |
[INFO] [stdout] 59 -     fn read_mode(&mut self) -> Result<Mode> { ... }
[INFO] [stdout] 59 +     fn read_mode(&mut self) -> Result<Mode> { .. }
[INFO] [stdout]    |
[INFO] [stdout] help: or `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout] 59 -     fn read_mode(&mut self) -> Result<Mode> { ... }
[INFO] [stdout] 59 +     fn read_mode(&mut self) -> Result<Mode> { ..= }
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0586]: inclusive range with no end
[INFO] [stdout]   --> src/typedesc.rs:59:47
[INFO] [stdout]    |
[INFO] [stdout] 59 |     fn read_mode(&mut self) -> Result<Mode> { ... }
[INFO] [stdout]    |                                               ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: inclusive ranges must be bounded at the end (`..=b` or `a..=b`)
[INFO] [stdout] help: use `..` instead
[INFO] [stdout]    |
[INFO] [stdout] 59 -     fn read_mode(&mut self) -> Result<Mode> { ... }
[INFO] [stdout] 59 +     fn read_mode(&mut self) -> Result<Mode> { .. }
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: unexpected token: `...`
[INFO] [stdout]   --> src/typedesc.rs:60:58
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn write_mode(&mut self, mode: Mode) -> Result<()> { ... }
[INFO] [stdout]    |                                                          ^^^
[INFO] [stdout]    |
[INFO] [stdout] help: use `..` for an exclusive range
[INFO] [stdout]    |
[INFO] [stdout] 60 -     fn write_mode(&mut self, mode: Mode) -> Result<()> { ... }
[INFO] [stdout] 60 +     fn write_mode(&mut self, mode: Mode) -> Result<()> { .. }
[INFO] [stdout]    |
[INFO] [stdout] help: or `..=` for an inclusive range
[INFO] [stdout]    |
[INFO] [stdout] 60 -     fn write_mode(&mut self, mode: Mode) -> Result<()> { ... }
[INFO] [stdout] 60 +     fn write_mode(&mut self, mode: Mode) -> Result<()> { ..= }
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0586]: inclusive range with no end
[INFO] [stdout]   --> src/typedesc.rs:60:58
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn write_mode(&mut self, mode: Mode) -> Result<()> { ... }
[INFO] [stdout]    |                                                          ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: inclusive ranges must be bounded at the end (`..=b` or `a..=b`)
[INFO] [stdout] help: use `..` instead
[INFO] [stdout]    |
[INFO] [stdout] 60 -     fn write_mode(&mut self, mode: Mode) -> Result<()> { ... }
[INFO] [stdout] 60 +     fn write_mode(&mut self, mode: Mode) -> Result<()> { .. }
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `param` in this scope
[INFO] [stdout]   --> src/typedesc.rs:55:3
[INFO] [stdout]    |
[INFO] [stdout] 55 | #[param(name="mode", datatype="ModeType", default="Mode::PID")]
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Mode` in this scope
[INFO] [stdout]   --> src/typedesc.rs:59:39
[INFO] [stdout]    |
[INFO] [stdout] 59 |     fn read_mode(&mut self) -> Result<Mode> { ... }
[INFO] [stdout]    |                                       ^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: you might be missing a type parameter
[INFO] [stdout]    |
[INFO] [stdout] 58 | impl<Mode> Controller {
[INFO] [stdout]    |     ++++++
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `Mode` in this scope
[INFO] [stdout]   --> src/typedesc.rs:60:36
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn write_mode(&mut self, mode: Mode) -> Result<()> { ... }
[INFO] [stdout]    |                                    ^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: enum takes 2 generic arguments but 1 generic argument was supplied
[INFO] [stdout]   --> src/typedesc.rs:59:32
[INFO] [stdout]    |
[INFO] [stdout] 59 |     fn read_mode(&mut self) -> Result<Mode> { ... }
[INFO] [stdout]    |                                ^^^^^^ ---- supplied 1 generic argument
[INFO] [stdout]    |                                |
[INFO] [stdout]    |                                expected 2 generic arguments
[INFO] [stdout]    |
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 59 |     fn read_mode(&mut self) -> Result<Mode, E> { ... }
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: enum takes 2 generic arguments but 1 generic argument was supplied
[INFO] [stdout]   --> src/typedesc.rs:60:45
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn write_mode(&mut self, mode: Mode) -> Result<()> { ... }
[INFO] [stdout]    |                                             ^^^^^^ -- supplied 1 generic argument
[INFO] [stdout]    |                                             |
[INFO] [stdout]    |                                             expected 2 generic arguments
[INFO] [stdout]    |
[INFO] [stdout] help: add missing generic argument
[INFO] [stdout]    |
[INFO] [stdout] 60 |     fn write_mode(&mut self, mode: Mode) -> Result<(), E> { ... }
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 10 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0425, E0586.
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/typedesc.rs - typedesc (line 72) stdout ----
[INFO] [stdout] error: cannot find derive macro `TypeDesc` in this scope
[INFO] [stdout]   --> src/typedesc.rs:73:10
[INFO] [stdout]    |
[INFO] [stdout] 73 | #[derive(TypeDesc, Clone, PartialEq)]
[INFO] [stdout]    |          ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout] 72 + use secop_derive::TypeDesc;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `datatype` in this scope
[INFO] [stdout]   --> src/typedesc.rs:75:7
[INFO] [stdout]    |
[INFO] [stdout] 75 |     #[datatype="DoubleFrom(0.0)"]
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `datatype` in this scope
[INFO] [stdout]   --> src/typedesc.rs:77:7
[INFO] [stdout]    |
[INFO] [stdout] 77 |     #[datatype="DoubleFrom(0.0)"]
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `datatype` in this scope
[INFO] [stdout]   --> src/typedesc.rs:79:7
[INFO] [stdout]    |
[INFO] [stdout] 79 |     #[datatype="DoubleFrom(0.0)"]
[INFO] [stdout]    |       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/module.rs - module (line 38) stdout ----
[INFO] [stdout] error: cannot find derive macro `ModuleBase` in this scope
[INFO] [stdout]   --> src/module.rs:39:10
[INFO] [stdout]    |
[INFO] [stdout] 39 | #[derive(ModuleBase)]
[INFO] [stdout]    |          ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this derive macro
[INFO] [stdout]    |
[INFO] [stdout] 38 + use secop_derive::ModuleBase;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `param` in this scope
[INFO] [stdout]   --> src/module.rs:40:3
[INFO] [stdout]    |
[INFO] [stdout] 40 | #[param(name="status", datatype="StatusType", readonly=True)]
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `param` in this scope
[INFO] [stdout]   --> src/module.rs:41:3
[INFO] [stdout]    |
[INFO] [stdout] 41 | #[param(name="value", datatype="Double", readonly=True)]
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `param` in this scope
[INFO] [stdout]   --> src/module.rs:42:3
[INFO] [stdout]    |
[INFO] [stdout] 42 | #[param(name="target", datatype="Double")]
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `param` in this scope
[INFO] [stdout]   --> src/module.rs:43:3
[INFO] [stdout]    |
[INFO] [stdout] 43 | #[param(name="speed", datatype="DoubleFrom(0.0)", default="1.0")]
[INFO] [stdout]    |   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] error: cannot find attribute `command` in this scope
[INFO] [stdout]   --> src/module.rs:44:3
[INFO] [stdout]    |
[INFO] [stdout] 44 | #[command(name="stop", argtype="Null", restype="Null")]
[INFO] [stdout]    |   ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `ModInternals` in this scope
[INFO] [stdout]   --> src/module.rs:47:16
[INFO] [stdout]    |
[INFO] [stdout] 47 |     internals: ModInternals,
[INFO] [stdout]    |                ^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `MotorParamCache` in this scope
[INFO] [stdout]   --> src/module.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 |     cache: MotorParamCache,
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error[E0425]: cannot find type `SerialPort` in this scope
[INFO] [stdout]   --> src/module.rs:50:17
[INFO] [stdout]    |
[INFO] [stdout] 50 |     connection: SerialPort,
[INFO] [stdout]    |                 ^^^^^^^^^^ not found in this scope
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 9 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0425`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/module.rs - module (line 38)
[INFO] [stdout]     src/module.rs - module (line 60)
[INFO] [stdout]     src/typedesc.rs - typedesc (line 41)
[INFO] [stdout]     src/typedesc.rs - typedesc (line 54)
[INFO] [stdout]     src/typedesc.rs - typedesc (line 72)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 5 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.32s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "06704cef01ec929d728d56100a819b1cac579b3a67b1b2093a196a47c30c7f56", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "06704cef01ec929d728d56100a819b1cac579b3a67b1b2093a196a47c30c7f56", kill_on_drop: false }`
[INFO] [stdout] 06704cef01ec929d728d56100a819b1cac579b3a67b1b2093a196a47c30c7f56
