[INFO] fetching crate smart-read 0.9.0...
[INFO] testing smart-read-0.9.0 against master#1ef7943ee607160a564655b6596f83670ef95df5 for pr-146098-6
[INFO] extracting crate smart-read 0.9.0 into /workspace/builds/worker-4-tc1/source
[INFO] started tweaking crates.io crate smart-read 0.9.0
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate smart-read 0.9.0
[INFO] tweaked toml for crates.io crate smart-read 0.9.0 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate smart-read 0.9.0 on toolchain 1ef7943ee607160a564655b6596f83670ef95df5
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate smart-read 0.9.0 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" "+1ef7943ee607160a564655b6596f83670ef95df5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 363dc4258d2a8a4cc51b821f7aa96617c7c5d2613aa973a0642b31faca912135
[INFO] running `Command { std: "docker" "start" "-a" "363dc4258d2a8a4cc51b821f7aa96617c7c5d2613aa973a0642b31faca912135", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "363dc4258d2a8a4cc51b821f7aa96617c7c5d2613aa973a0642b31faca912135", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "363dc4258d2a8a4cc51b821f7aa96617c7c5d2613aa973a0642b31faca912135", kill_on_drop: false }`
[INFO] [stdout] 363dc4258d2a8a4cc51b821f7aa96617c7c5d2613aa973a0642b31faca912135
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4e86ae88dabf8ff4c13f284afe0f1809d37d2f91d12a929bd5f8c63656ff7f6c
[INFO] running `Command { std: "docker" "start" "-a" "4e86ae88dabf8ff4c13f284afe0f1809d37d2f91d12a929bd5f8c63656ff7f6c", kill_on_drop: false }`
[INFO] [stderr]    Compiling smart-read v0.9.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the feature `let_chains` has been stable since 1.88.0 and no longer requires an attribute to enable
[INFO] [stdout]    --> src/lib.rs:142:12
[INFO] [stdout]     |
[INFO] [stdout] 142 | #![feature(let_chains)]
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.42s
[INFO] running `Command { std: "docker" "inspect" "4e86ae88dabf8ff4c13f284afe0f1809d37d2f91d12a929bd5f8c63656ff7f6c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4e86ae88dabf8ff4c13f284afe0f1809d37d2f91d12a929bd5f8c63656ff7f6c", kill_on_drop: false }`
[INFO] [stdout] 4e86ae88dabf8ff4c13f284afe0f1809d37d2f91d12a929bd5f8c63656ff7f6c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 1cb2cd14fcf9c8973d3371041ec891c4bca58c154062911c5a784a57e4386033
[INFO] running `Command { std: "docker" "start" "-a" "1cb2cd14fcf9c8973d3371041ec891c4bca58c154062911c5a784a57e4386033", kill_on_drop: false }`
[INFO] [stderr]    Compiling smart-read v0.9.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: the feature `let_chains` has been stable since 1.88.0 and no longer requires an attribute to enable
[INFO] [stdout]    --> src/lib.rs:142:12
[INFO] [stdout]     |
[INFO] [stdout] 142 | #![feature(let_chains)]
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `let_chains` has been stable since 1.88.0 and no longer requires an attribute to enable
[INFO] [stdout]    --> src/lib.rs:142:12
[INFO] [stdout]     |
[INFO] [stdout] 142 | #![feature(let_chains)]
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.41s
[INFO] running `Command { std: "docker" "inspect" "1cb2cd14fcf9c8973d3371041ec891c4bca58c154062911c5a784a57e4386033", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1cb2cd14fcf9c8973d3371041ec891c4bca58c154062911c5a784a57e4386033", kill_on_drop: false }`
[INFO] [stdout] 1cb2cd14fcf9c8973d3371041ec891c4bca58c154062911c5a784a57e4386033
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+1ef7943ee607160a564655b6596f83670ef95df5" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] ab78148fe16981b0bbfc60efec68b1938adad8f08ef4beab9c678d79638468b2
[INFO] running `Command { std: "docker" "start" "-a" "ab78148fe16981b0bbfc60efec68b1938adad8f08ef4beab9c678d79638468b2", kill_on_drop: false }`
[INFO] [stderr] warning: the feature `let_chains` has been stable since 1.88.0 and no longer requires an attribute to enable
[INFO] [stderr]    --> src/lib.rs:142:12
[INFO] [stderr]     |
[INFO] [stderr] 142 | #![feature(let_chains)]
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(stable_features)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `smart-read` (lib) generated 1 warning
[INFO] [stderr] warning: `smart-read` (lib test) generated 1 warning (1 duplicate)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/smart_read-48c69421ca8e5f59)
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests smart_read
[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 7 tests
[INFO] [stdout] test src/list_constraints.rs - list_constraints::InputOption (line 204) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 92) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 38) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 53) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 72) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 18) ... FAILED
[INFO] [stdout] test src/lib.rs - (line 104) ... FAILED
[INFO] [stderr] error: doctest failed, to rerun pass `--doc`
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- src/list_constraints.rs - list_constraints::InputOption (line 204) stdout ----
[INFO] [stdout] error: cannot find macro `prompt` in this scope
[INFO] [stdout]   --> src/list_constraints.rs:222:70
[INFO] [stdout]    |
[INFO] [stdout] 20 | let (_option_index, InputOption {extra_data: index_to_remove, ..}) = prompt!("Choose a color to remove: "; choosable_colors);
[INFO] [stdout]    |                                                                      ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]    |
[INFO] [stdout]  2 + use smart_read::prompt;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0433]: failed to resolve: use of undeclared type `InputOption`
[INFO] [stdout]   --> src/list_constraints.rs:216:8
[INFO] [stdout]    |
[INFO] [stdout] 14 |         Some(InputOption::new(option_number, &[*color], i))
[INFO] [stdout]    |              ^^^^^^^^^^^ use of undeclared type `InputOption`
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  2 + use smart_read::prelude::InputOption;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error[E0422]: cannot find struct, variant or union type `InputOption` in this scope
[INFO] [stdout]   --> src/list_constraints.rs:222:21
[INFO] [stdout]    |
[INFO] [stdout] 20 | let (_option_index, InputOption {extra_data: index_to_remove, ..}) = prompt!("Choose a color to remove: "; choosable_colors);
[INFO] [stdout]    |                     ^^^^^^^^^^^ not found in this scope
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this struct
[INFO] [stdout]    |
[INFO] [stdout]  2 + use smart_read::prelude::InputOption;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0422, E0433.
[INFO] [stdout] For more information about an error, try `rustc --explain E0422`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 92) stdout ----
[INFO] [stdout] error: cannot find macro `prompt` in this scope
[INFO] [stdout]  --> src/lib.rs:95:1
[INFO] [stdout]   |
[INFO] [stdout] 5 | prompt!("continue?"; [true] YesNoInput);
[INFO] [stdout]   | ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]   |
[INFO] [stdout] 2 + use smart_read::prompt;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `prompt` in this scope
[INFO] [stdout]  --> src/lib.rs:94:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | prompt!(messages[i]; UsizeInput);  // request a positive integer for the current prompt
[INFO] [stdout]   | ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]   |
[INFO] [stdout] 2 + use smart_read::prompt;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `read` in this scope
[INFO] [stdout]  --> src/lib.rs:93:1
[INFO] [stdout]   |
[INFO] [stdout] 3 | read!([2] 1..=10);  // take a number from 1 to 10, with 2 as the default
[INFO] [stdout]   | ^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]   |
[INFO] [stdout] 2 + use smart_read::read;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 3 previous errors
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 38) stdout ----
[INFO] [stdout] error: expected one of `!`, `+`, `,`, `::`, or `{`, found keyword `impl`
[INFO] [stdout]  --> src/lib.rs:42:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | impl<F> TryRead for SimpleValidate<F> where F: Fn(&str) -> Result<(), String>
[INFO] [stdout]   |                                                                              - expected one of `!`, `+`, `,`, `::`, or `{`
[INFO] [stdout] 3 | // similar to `SimpleValidate`, but also transforms the output:
[INFO] [stdout] 4 | impl<F, O> TryRead for TransformValidate<F, O> where F: Fn(String) -> Result<O, String>, O: Display
[INFO] [stdout]   | ^^^^ unexpected token
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 53) stdout ----
[INFO] [stdout] error: expected one of `where` or `{`, found keyword `impl`
[INFO] [stdout]  --> src/lib.rs:56:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | impl<Data> TryRead for &[InputOption<Data>]
[INFO] [stdout]   |                                            - expected one of `where` or `{`
[INFO] [stdout] 3 | impl<Data> TryRead for &[InputOption<Data>; N]
[INFO] [stdout]   | ^^^^ unexpected token
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 72) stdout ----
[INFO] [stdout] error: expected one of `(`, `+`, `,`, `::`, `<`, or `{`, found keyword `impl`
[INFO] [stdout]  --> src/lib.rs:74:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | impl<T> TryRead for Range<T>            where T: Display + FromStr + PartialOrd<T>, <T as FromStr>::Err: Display
[INFO] [stdout]   |                                                                                                                 - expected one of `(`, `+`, `,`, `::`, `<`, or `{`
[INFO] [stdout] 2 | impl<T> TryRead for RangeInclusive<T>   where T: Display + FromStr + PartialOrd<T>, <T as FromStr>::Err: Display
[INFO] [stdout]   | ^^^^ unexpected token
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 18) stdout ----
[INFO] [stdout] error: expected one of `where` or `{`, found keyword `impl`
[INFO] [stdout]  --> src/lib.rs:20:1
[INFO] [stdout]   |
[INFO] [stdout] 1 | impl TryRead for ()                  // requests any string from the user
[INFO] [stdout]   |                    - expected one of `where` or `{`
[INFO] [stdout] 2 | impl TryRead for NonEmptyInput       // requests a non-empty string from the user
[INFO] [stdout]   | ^^^^ unexpected token
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] ---- src/lib.rs - (line 104) stdout ----
[INFO] [stdout] error: macros that expand to items must be delimited with braces or followed by a semicolon
[INFO] [stdout]  --> src/lib.rs:106:6
[INFO] [stdout]   |
[INFO] [stdout] 2 | read!()
[INFO] [stdout]   |      ^^
[INFO] [stdout]   |
[INFO] [stdout] help: change the delimiters to curly braces
[INFO] [stdout]   |
[INFO] [stdout] 2 - read!()
[INFO] [stdout] 2 + read!{}
[INFO] [stdout]   |
[INFO] [stdout] help: add a semicolon
[INFO] [stdout]   |
[INFO] [stdout] 2 | read!();
[INFO] [stdout]   |        +
[INFO] [stdout] 
[INFO] [stdout] error: macros that expand to items must be delimited with braces or followed by a semicolon
[INFO] [stdout]  --> src/lib.rs:108:6
[INFO] [stdout]   |
[INFO] [stdout] 4 | read!(())
[INFO] [stdout]   |      ^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: change the delimiters to curly braces
[INFO] [stdout]   |
[INFO] [stdout] 4 - read!(())
[INFO] [stdout] 4 + read!{()}
[INFO] [stdout]   |
[INFO] [stdout] help: add a semicolon
[INFO] [stdout]   |
[INFO] [stdout] 4 | read!(());
[INFO] [stdout]   |          +
[INFO] [stdout] 
[INFO] [stdout] error: macros that expand to items must be delimited with braces or followed by a semicolon
[INFO] [stdout]  --> src/lib.rs:111:6
[INFO] [stdout]   |
[INFO] [stdout] 7 | read!(= 1, 2, 3)
[INFO] [stdout]   |      ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: change the delimiters to curly braces
[INFO] [stdout]   |
[INFO] [stdout] 7 - read!(= 1, 2, 3)
[INFO] [stdout] 7 + read!{= 1, 2, 3}
[INFO] [stdout]   |
[INFO] [stdout] help: add a semicolon
[INFO] [stdout]   |
[INFO] [stdout] 7 | read!(= 1, 2, 3);
[INFO] [stdout]   |                 +
[INFO] [stdout] 
[INFO] [stdout] error: macros that expand to items must be delimited with braces or followed by a semicolon
[INFO] [stdout]  --> src/lib.rs:113:6
[INFO] [stdout]   |
[INFO] [stdout] 9 | read!([1, 2, 3])
[INFO] [stdout]   |      ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: change the delimiters to curly braces
[INFO] [stdout]   |
[INFO] [stdout] 9 - read!([1, 2, 3])
[INFO] [stdout] 9 + read!{[1, 2, 3]}
[INFO] [stdout]   |
[INFO] [stdout] help: add a semicolon
[INFO] [stdout]   |
[INFO] [stdout] 9 | read!([1, 2, 3]);
[INFO] [stdout]   |                 +
[INFO] [stdout] 
[INFO] [stdout] error: macros that expand to items must be delimited with braces or followed by a semicolon
[INFO] [stdout]   --> src/lib.rs:116:6
[INFO] [stdout]    |
[INFO] [stdout] 12 |   read!(=
[INFO] [stdout]    |  ______^
[INFO] [stdout] 13 | |     "1_bulletin"; "1_display_name"; ["1_alt_name_1", ...]; 1_data,
[INFO] [stdout] 14 | |     "2_bulletin"; "2_display_name"; ["2_alt_name_1", ...]; 2_data,
[INFO] [stdout] 15 | |     ...
[INFO] [stdout] 16 | | )
[INFO] [stdout]    | |_^
[INFO] [stdout]    |
[INFO] [stdout] help: change the delimiters to curly braces
[INFO] [stdout]    |
[INFO] [stdout] 12 ~ read!{=
[INFO] [stdout] 13 |     "1_bulletin"; "1_display_name"; ["1_alt_name_1", ...]; 1_data,
[INFO] [stdout] 14 |     "2_bulletin"; "2_display_name"; ["2_alt_name_1", ...]; 2_data,
[INFO] [stdout] 15 |     ...
[INFO] [stdout] 16 + }
[INFO] [stdout]    |
[INFO] [stdout] help: add a semicolon
[INFO] [stdout]    |
[INFO] [stdout] 16 | );
[INFO] [stdout]    |  +
[INFO] [stdout] 
[INFO] [stdout] error: macros that expand to items must be delimited with braces or followed by a semicolon
[INFO] [stdout]   --> src/lib.rs:122:6
[INFO] [stdout]    |
[INFO] [stdout] 18 |   read!([
[INFO] [stdout]    |  ______^
[INFO] [stdout] 19 | |     InputOption::new("1_bulletin", vec!("1_display_name", "1_alt_name_1", ...), 1_data),
[INFO] [stdout] 20 | |     InputOption::new("2_bulletin", vec!("2_display_name", "2_alt_name_1", ...), 2_data),
[INFO] [stdout] 21 | |     ...
[INFO] [stdout] 22 | | ])
[INFO] [stdout]    | |__^
[INFO] [stdout]    |
[INFO] [stdout] help: change the delimiters to curly braces
[INFO] [stdout]    |
[INFO] [stdout] 18 ~ read!{[
[INFO] [stdout] 19 |     InputOption::new("1_bulletin", vec!("1_display_name", "1_alt_name_1", ...), 1_data),
[INFO] [stdout] 20 |     InputOption::new("2_bulletin", vec!("2_display_name", "2_alt_name_1", ...), 2_data),
[INFO] [stdout] 21 |     ...
[INFO] [stdout] 22 ~ ]}
[INFO] [stdout]    |
[INFO] [stdout] help: add a semicolon
[INFO] [stdout]    |
[INFO] [stdout] 22 | ]);
[INFO] [stdout]    |   +
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `read` in this scope
[INFO] [stdout]   --> src/lib.rs:122:1
[INFO] [stdout]    |
[INFO] [stdout] 18 | read!([
[INFO] [stdout]    | ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]    |
[INFO] [stdout]  2 + use smart_read::read;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `read` in this scope
[INFO] [stdout]   --> src/lib.rs:116:1
[INFO] [stdout]    |
[INFO] [stdout] 12 | read!(=
[INFO] [stdout]    | ^^^^
[INFO] [stdout]    |
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]    |
[INFO] [stdout]  2 + use smart_read::read;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `read` in this scope
[INFO] [stdout]  --> src/lib.rs:113:1
[INFO] [stdout]   |
[INFO] [stdout] 9 | read!([1, 2, 3])
[INFO] [stdout]   | ^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]   |
[INFO] [stdout] 2 + use smart_read::read;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `read` in this scope
[INFO] [stdout]  --> src/lib.rs:111:1
[INFO] [stdout]   |
[INFO] [stdout] 7 | read!(= 1, 2, 3)
[INFO] [stdout]   | ^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]   |
[INFO] [stdout] 2 + use smart_read::read;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `read` in this scope
[INFO] [stdout]  --> src/lib.rs:108:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | read!(())
[INFO] [stdout]   | ^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]   |
[INFO] [stdout] 2 + use smart_read::read;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error: cannot find macro `read` in this scope
[INFO] [stdout]  --> src/lib.rs:106:1
[INFO] [stdout]   |
[INFO] [stdout] 2 | read!()
[INFO] [stdout]   | ^^^^
[INFO] [stdout]   |
[INFO] [stdout] help: consider importing this macro
[INFO] [stdout]   |
[INFO] [stdout] 2 + use smart_read::read;
[INFO] [stdout]   |
[INFO] [stdout] 
[INFO] [stdout] error[E0601]: `main` function not found in crate `rust_out`
[INFO] [stdout]   --> src/lib.rs:126:3
[INFO] [stdout]    |
[INFO] [stdout] 22 | ])
[INFO] [stdout]    |   ^ consider adding a `main` function to `src/lib.rs`
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 13 previous errors
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0601`.
[INFO] [stdout] Couldn't compile the test.
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     src/lib.rs - (line 104)
[INFO] [stdout]     src/lib.rs - (line 18)
[INFO] [stdout]     src/lib.rs - (line 38)
[INFO] [stdout]     src/lib.rs - (line 53)
[INFO] [stdout]     src/lib.rs - (line 72)
[INFO] [stdout]     src/lib.rs - (line 92)
[INFO] [stdout]     src/list_constraints.rs - list_constraints::InputOption (line 204)
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 0 passed; 7 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.24s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 0.40s; merged doctests compilation took 0.16s
[INFO] running `Command { std: "docker" "inspect" "ab78148fe16981b0bbfc60efec68b1938adad8f08ef4beab9c678d79638468b2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ab78148fe16981b0bbfc60efec68b1938adad8f08ef4beab9c678d79638468b2", kill_on_drop: false }`
[INFO] [stdout] ab78148fe16981b0bbfc60efec68b1938adad8f08ef4beab9c678d79638468b2
