[INFO] fetching crate fnum 0.0.1...
[INFO] testing fnum-0.0.1 against try#bd7d74411512a3dd3b35d2f699c51dd2557c7e7e+cargoflags=-Zbuild-dir-new-layout for pr-149852-1
[INFO] extracting crate fnum 0.0.1 into /workspace/builds/worker-1-tc2/source
[INFO] started tweaking crates.io crate fnum 0.0.1
[INFO] finished tweaking crates.io crate fnum 0.0.1
[INFO] tweaked toml for crates.io crate fnum 0.0.1 written to /workspace/builds/worker-1-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate fnum 0.0.1 on toolchain bd7d74411512a3dd3b35d2f699c51dd2557c7e7e
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate fnum 0.0.1 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 025ea4dad3c35d21b46ec8cba4409089d68b2ceba19ab2376fb9dcc1af7100c9
[INFO] running `Command { std: "docker" "start" "-a" "025ea4dad3c35d21b46ec8cba4409089d68b2ceba19ab2376fb9dcc1af7100c9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "025ea4dad3c35d21b46ec8cba4409089d68b2ceba19ab2376fb9dcc1af7100c9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "025ea4dad3c35d21b46ec8cba4409089d68b2ceba19ab2376fb9dcc1af7100c9", kill_on_drop: false }`
[INFO] [stdout] 025ea4dad3c35d21b46ec8cba4409089d68b2ceba19ab2376fb9dcc1af7100c9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "build" "--frozen" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 7b92c89987937e47259277b82a7843dfe62e56c877d016a4cff24ceed6d553e0
[INFO] running `Command { std: "docker" "start" "-a" "7b92c89987937e47259277b82a7843dfe62e56c877d016a4cff24ceed6d553e0", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.24
[INFO] [stderr]    Compiling unicode-xid v0.2.1
[INFO] [stderr]    Compiling syn v1.0.56
[INFO] [stderr]    Compiling once_cell v1.5.2
[INFO] [stderr]    Compiling quote v1.0.8
[INFO] [stderr]    Compiling fnum-derive v0.0.1
[INFO] [stderr]    Compiling fnum v0.0.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.65s
[INFO] running `Command { std: "docker" "inspect" "7b92c89987937e47259277b82a7843dfe62e56c877d016a4cff24ceed6d553e0", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7b92c89987937e47259277b82a7843dfe62e56c877d016a4cff24ceed6d553e0", kill_on_drop: false }`
[INFO] [stdout] 7b92c89987937e47259277b82a7843dfe62e56c877d016a4cff24ceed6d553e0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "--no-run" "--message-format=json" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] 38b010fcc461eea6ad34d805bb525f3ff7f27ca53dfa997ccf21a6972f812b1f
[INFO] running `Command { std: "docker" "start" "-a" "38b010fcc461eea6ad34d805bb525f3ff7f27ca53dfa997ccf21a6972f812b1f", kill_on_drop: false }`
[INFO] [stderr]    Compiling fnum v0.0.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> examples/impl.rs:27:26
[INFO] [stdout]    |
[INFO] [stdout] 27 |             0 => Enum::A(std::mem::MaybeUninit::uninit().assume_init()),
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          this code causes undefined behavior when executed
[INFO] [stdout]    |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]   --> examples/impl.rs:28:26
[INFO] [stdout]    |
[INFO] [stdout] 28 |             1 => Enum::B(std::mem::MaybeUninit::uninit().assume_init()),
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          this code causes undefined behavior when executed
[INFO] [stdout]    |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]   --> examples/impl.rs:29:26
[INFO] [stdout]    |
[INFO] [stdout] 29 |             2 => Enum::C(std::mem::MaybeUninit::uninit().assume_init(), std::mem::MaybeUninit::uninit().assume_init()),
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          this code causes undefined behavior when executed
[INFO] [stdout]    |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> examples/impl.rs:29:73
[INFO] [stdout]    |
[INFO] [stdout] 29 |             2 => Enum::C(std::mem::MaybeUninit::uninit().assume_init(), std::mem::MaybeUninit::uninit().assume_init()),
[INFO] [stdout]    |                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                                         |
[INFO] [stdout]    |                                                                         this code causes undefined behavior when executed
[INFO] [stdout]    |                                                                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u64` does not permit being left uninitialized
[INFO] [stdout]   --> examples/impl.rs:30:26
[INFO] [stdout]    |
[INFO] [stdout] 30 |             3 => Enum::D(std::mem::MaybeUninit::uninit().assume_init(), std::mem::MaybeUninit::uninit().assume_init()),
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          this code causes undefined behavior when executed
[INFO] [stdout]    |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the type `u32` does not permit being left uninitialized
[INFO] [stdout]   --> examples/impl.rs:30:73
[INFO] [stdout]    |
[INFO] [stdout] 30 |             3 => Enum::D(std::mem::MaybeUninit::uninit().assume_init(), std::mem::MaybeUninit::uninit().assume_init()),
[INFO] [stdout]    |                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |                                                                         |
[INFO] [stdout]    |                                                                         this code causes undefined behavior when executed
[INFO] [stdout]    |                                                                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stdout]    |
[INFO] [stdout]    = note: integers must be initialized
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.57s
[INFO] running `Command { std: "docker" "inspect" "38b010fcc461eea6ad34d805bb525f3ff7f27ca53dfa997ccf21a6972f812b1f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "38b010fcc461eea6ad34d805bb525f3ff7f27ca53dfa997ccf21a6972f812b1f", kill_on_drop: false }`
[INFO] [stdout] 38b010fcc461eea6ad34d805bb525f3ff7f27ca53dfa997ccf21a6972f812b1f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/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:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+bd7d74411512a3dd3b35d2f699c51dd2557c7e7e" "test" "--frozen" "-Zbuild-dir-new-layout", kill_on_drop: false }`
[INFO] [stdout] d73ef333ff88ae19ff8e303cb04064e6420c7c49a1c2e01dfc26184061cf4901
[INFO] running `Command { std: "docker" "start" "-a" "d73ef333ff88ae19ff8e303cb04064e6420c7c49a1c2e01dfc26184061cf4901", kill_on_drop: false }`
[INFO] [stderr] warning: the type `u64` does not permit being left uninitialized
[INFO] [stderr]   --> examples/impl.rs:27:26
[INFO] [stderr]    |
[INFO] [stderr] 27 |             0 => Enum::A(std::mem::MaybeUninit::uninit().assume_init()),
[INFO] [stderr]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                          |
[INFO] [stderr]    |                          this code causes undefined behavior when executed
[INFO] [stderr]    |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr]    = note: integers must be initialized
[INFO] [stderr]    = note: `#[warn(invalid_value)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u32` does not permit being left uninitialized
[INFO] [stderr]   --> examples/impl.rs:28:26
[INFO] [stderr]    |
[INFO] [stderr] 28 |             1 => Enum::B(std::mem::MaybeUninit::uninit().assume_init()),
[INFO] [stderr]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                          |
[INFO] [stderr]    |                          this code causes undefined behavior when executed
[INFO] [stderr]    |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr]    = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u32` does not permit being left uninitialized
[INFO] [stderr]   --> examples/impl.rs:29:26
[INFO] [stderr]    |
[INFO] [stderr] 29 |             2 => Enum::C(std::mem::MaybeUninit::uninit().assume_init(), std::mem::MaybeUninit::uninit().assume_init()),
[INFO] [stderr]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                          |
[INFO] [stderr]    |                          this code causes undefined behavior when executed
[INFO] [stderr]    |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr]    = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u64` does not permit being left uninitialized
[INFO] [stderr]   --> examples/impl.rs:29:73
[INFO] [stderr]    |
[INFO] [stderr] 29 |             2 => Enum::C(std::mem::MaybeUninit::uninit().assume_init(), std::mem::MaybeUninit::uninit().assume_init()),
[INFO] [stderr]    |                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                                                                         |
[INFO] [stderr]    |                                                                         this code causes undefined behavior when executed
[INFO] [stderr]    |                                                                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr]    = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u64` does not permit being left uninitialized
[INFO] [stderr]   --> examples/impl.rs:30:26
[INFO] [stderr]    |
[INFO] [stderr] 30 |             3 => Enum::D(std::mem::MaybeUninit::uninit().assume_init(), std::mem::MaybeUninit::uninit().assume_init()),
[INFO] [stderr]    |                          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                          |
[INFO] [stderr]    |                          this code causes undefined behavior when executed
[INFO] [stderr]    |                          help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr]    = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: the type `u32` does not permit being left uninitialized
[INFO] [stderr]   --> examples/impl.rs:30:73
[INFO] [stderr]    |
[INFO] [stderr] 30 |             3 => Enum::D(std::mem::MaybeUninit::uninit().assume_init(), std::mem::MaybeUninit::uninit().assume_init()),
[INFO] [stderr]    |                                                                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |                                                                         |
[INFO] [stderr]    |                                                                         this code causes undefined behavior when executed
[INFO] [stderr]    |                                                                         help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
[INFO] [stderr]    |
[INFO] [stderr]    = note: integers must be initialized
[INFO] [stderr] 
[INFO] [stderr] warning: `fnum` (example "impl") generated 6 warnings
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.05s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/fnum/8a1b8dcac58b444d/deps/fnum-8a1b8dcac58b444d)
[INFO] [stdout] 
[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] [stderr]    Doc-tests fnum
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test src/lib.rs - Fnum::variant_index (line 37) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 4) ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/lib.rs - Fnum::variant_index (line 37) stdout ----
[INFO] [stdout] error: cannot find derive macro `Fnum` in this scope
[INFO] [stdout]   --> src/lib.rs:38:10
[INFO] [stdout]    |
[INFO] [stdout] 38 | #[derive(Fnum)]
[INFO] [stdout]    |          ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing one of these derive macros
[INFO] [stdout]    |
[INFO] [stdout] 37 + use fnum::Fnum;
[INFO] [stdout]    |
[INFO] [stdout] 37 + use fnum_derive::Fnum;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no variant or associated item named `First` found for enum `MyEnum` in the current scope
[INFO] [stdout]   --> src/lib.rs:44:20
[INFO] [stdout]    |
[INFO] [stdout] 39 | enum MyEnum {
[INFO] [stdout]    | ----------- variant or associated item `First` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 44 | assert_eq!(MyEnum::First.variant_index(), 0);
[INFO] [stdout]    |                    ^^^^^ variant or associated item not found in `MyEnum`
[INFO] [stdout]    |
[INFO] [stdout] help: there is a variant with a similar name (notice the capitalization)
[INFO] [stdout]    |
[INFO] [stdout] 44 - assert_eq!(MyEnum::First.variant_index(), 0);
[INFO] [stdout] 44 + assert_eq!(MyEnum::FIrst.variant_index(), 0);
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: no method named `variant_index` found for enum `MyEnum` in the current scope
[INFO] [stdout]   --> src/lib.rs:45:27
[INFO] [stdout]    |
[INFO] [stdout] 39 | enum MyEnum {
[INFO] [stdout]    | ----------- method `variant_index` not found for this enum
[INFO] [stdout] ...
[INFO] [stdout] 45 | assert_eq!(MyEnum::Second.variant_index(), 1);
[INFO] [stdout]    |                           ^^^^^^^^^^^^^ method not found in `MyEnum`
[INFO] [stdout]    |
[INFO] [stdout]    = help: items from traits can only be used if the trait is implemented and in scope
[INFO] [stdout]    = note: the following trait defines an item `variant_index`, perhaps you need to implement it:
[INFO] [stdout]            candidate #1: `fnum::Fnum`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0599`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 4) stdout ----
[INFO] [stdout] Test executable failed (exit status: 101).
[INFO] [stdout] 
[INFO] [stdout] stderr:
[INFO] [stdout] 
[INFO] [stdout] thread 'main' (44) panicked at src/lib.rs:20:1:
[INFO] [stdout] assertion `left == right` failed
[INFO] [stdout]   left: 28
[INFO] [stdout]  right: 24
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x57ff713d4a52 - std[840933623431fd06]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x57ff713d4a52 - std[840933623431fd06]::backtrace_rs::backtrace::trace_unsynchronized::<std[840933623431fd06]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x57ff713d4a52 - std[840933623431fd06]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x57ff713d4a52 - <<std[840933623431fd06]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[8f93d80df273fe75]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x57ff713e57aa - <core[8f93d80df273fe75]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x57ff713e57aa - core[8f93d80df273fe75]::fmt::write
[INFO] [stdout]    6:     0x57ff713d8786 - std[840933623431fd06]::io::default_write_fmt::<std[840933623431fd06]::sys::stdio::unix::Stderr>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x57ff713d8786 - <std[840933623431fd06]::sys::stdio::unix::Stderr as std[840933623431fd06]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x57ff713bf91f - <std[840933623431fd06]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x57ff713bf91f - std[840933623431fd06]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x57ff713d0b71 - std[840933623431fd06]::panicking::default_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:319:9
[INFO] [stdout]   11:     0x57ff713d0d2b - std[840933623431fd06]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:825:13
[INFO] [stdout]   12:     0x57ff713bf9d8 - std[840933623431fd06]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:698:13
[INFO] [stdout]   13:     0x57ff713b76a9 - std[840933623431fd06]::sys::backtrace::__rust_end_short_backtrace::<std[840933623431fd06]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   14:     0x57ff713c01fd - __rustc[5b4a0c6d8cc4a177]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:689:5
[INFO] [stdout]   15:     0x57ff713e5e3c - core[8f93d80df273fe75]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:80:14
[INFO] [stdout]   16:     0x57ff713e5cf3 - core[8f93d80df273fe75]::panicking::assert_failed_inner
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:439:17
[INFO] [stdout]   17:     0x57ff713e391a - core[8f93d80df273fe75]::panicking::assert_failed::<usize, usize>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/panicking.rs:394:5
[INFO] [stdout]   18:     0x57ff713a85b7 - rust_out[c8cdd22bfd421af4]::main::_doctest_main_src_lib_rs_4_0
[INFO] [stdout]   19:     0x57ff713a8326 - rust_out[c8cdd22bfd421af4]::main
[INFO] [stdout]   20:     0x57ff713a8a43 - <fn() as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   21:     0x57ff713a7556 - std[840933623431fd06]::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()>
[INFO] [stdout]   22:     0x57ff713a79c9 - std[840933623431fd06]::rt::lang_start::<()>::{closure#0}
[INFO] [stdout]   23:     0x57ff713d0166 - <&dyn core[8f93d80df273fe75]::ops::function::Fn<(), Output = i32> + core[8f93d80df273fe75]::panic::unwind_safe::RefUnwindSafe + core[8f93d80df273fe75]::marker::Sync as core[8f93d80df273fe75]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/core/src/ops/function.rs:287:21
[INFO] [stdout]   24:     0x57ff713d0166 - std[840933623431fd06]::panicking::catch_unwind::do_call::<&dyn core[8f93d80df273fe75]::ops::function::Fn<(), Output = i32> + core[8f93d80df273fe75]::panic::unwind_safe::RefUnwindSafe + core[8f93d80df273fe75]::marker::Sync, i32>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   25:     0x57ff713d0166 - std[840933623431fd06]::panicking::catch_unwind::<i32, &dyn core[8f93d80df273fe75]::ops::function::Fn<(), Output = i32> + core[8f93d80df273fe75]::panic::unwind_safe::RefUnwindSafe + core[8f93d80df273fe75]::marker::Sync>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   26:     0x57ff713d0166 - std[840933623431fd06]::panic::catch_unwind::<&dyn core[8f93d80df273fe75]::ops::function::Fn<(), Output = i32> + core[8f93d80df273fe75]::panic::unwind_safe::RefUnwindSafe + core[8f93d80df273fe75]::marker::Sync, i32>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   27:     0x57ff713d0166 - std[840933623431fd06]::rt::lang_start_internal::{closure#0}
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/rt.rs:175:24
[INFO] [stdout]   28:     0x57ff713d0166 - std[840933623431fd06]::panicking::catch_unwind::do_call::<std[840933623431fd06]::rt::lang_start_internal::{closure#0}, isize>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:581:40
[INFO] [stdout]   29:     0x57ff713d0166 - std[840933623431fd06]::panicking::catch_unwind::<isize, std[840933623431fd06]::rt::lang_start_internal::{closure#0}>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panicking.rs:544:19
[INFO] [stdout]   30:     0x57ff713d0166 - std[840933623431fd06]::panic::catch_unwind::<std[840933623431fd06]::rt::lang_start_internal::{closure#0}, isize>
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/panic.rs:359:14
[INFO] [stdout]   31:     0x57ff713d0166 - std[840933623431fd06]::rt::lang_start_internal
[INFO] [stdout]                                at /rustc/bd7d74411512a3dd3b35d2f699c51dd2557c7e7e/library/std/src/rt.rs:171:5
[INFO] [stdout]   32:     0x57ff713a73c1 - std[840933623431fd06]::rt::lang_start::<()>
[INFO] [stdout]   33:     0x57ff713a8b65 - main
[INFO] [stdout]   34:     0x71d3ff5791ca - <unknown>
[INFO] [stdout]   35:     0x71d3ff57928b - __libc_start_main
[INFO] [stdout]   36:     0x57ff713a7135 - _start
[INFO] [stdout]   37:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/lib.rs - (line 4)
[INFO] [stdout]     src/lib.rs - Fnum::variant_index (line 37)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.28s
[INFO] [stdout] 
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] running `Command { std: "docker" "inspect" "d73ef333ff88ae19ff8e303cb04064e6420c7c49a1c2e01dfc26184061cf4901", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d73ef333ff88ae19ff8e303cb04064e6420c7c49a1c2e01dfc26184061cf4901", kill_on_drop: false }`
[INFO] [stdout] d73ef333ff88ae19ff8e303cb04064e6420c7c49a1c2e01dfc26184061cf4901
