[INFO] fetching crate recital 0.3.0...
[INFO] testing recital-0.3.0 against beta-2021-08-01 for beta-1.55-1
[INFO] extracting crate recital 0.3.0 into /workspace/builds/worker-91/source
[INFO] validating manifest of crates.io crate recital 0.3.0 on toolchain beta-2021-08-01
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate recital 0.3.0
[INFO] finished tweaking crates.io crate recital 0.3.0
[INFO] tweaked toml for crates.io crate recital 0.3.0 written to /workspace/builds/worker-91/source/Cargo.toml
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+beta-2021-08-01" "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-91/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-91/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" "+beta-2021-08-01" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 34bfbba129dc5811824f55e652dbd6604431083c43e404599c104d90876d4960
[INFO] running `Command { std: "docker" "start" "-a" "34bfbba129dc5811824f55e652dbd6604431083c43e404599c104d90876d4960", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "34bfbba129dc5811824f55e652dbd6604431083c43e404599c104d90876d4960", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "34bfbba129dc5811824f55e652dbd6604431083c43e404599c104d90876d4960", kill_on_drop: false }`
[INFO] [stdout] 34bfbba129dc5811824f55e652dbd6604431083c43e404599c104d90876d4960
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-91/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-91/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=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" "+beta-2021-08-01" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 5756011ade4fd45fd73dde02bde2668cd838cb1bdecaa04b0d8794f2c6470bc6
[INFO] running `Command { std: "docker" "start" "-a" "5756011ade4fd45fd73dde02bde2668cd838cb1bdecaa04b0d8794f2c6470bc6", kill_on_drop: false }`
[INFO] [stderr]    Compiling nom v1.2.4
[INFO] [stderr]    Compiling recital v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/parser.rs:38:1
[INFO] [stdout]    |
[INFO] [stdout] 38 | /// Parse a string as an `Identifier`.
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/parser.rs:54:1
[INFO] [stdout]    |
[INFO] [stdout] 54 | /// Parses a string of pre-release identifiers into a vector of `Identifier`s.
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/parser.rs:61:1
[INFO] [stdout]    |
[INFO] [stdout] 61 | /// Parses a string of build identifiers into a vector of `Identifier`s.
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/parser.rs:68:1
[INFO] [stdout]    |
[INFO] [stdout] 68 | /// Optionally parse pre-release and build identifiers.
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/parser.rs:75:1
[INFO] [stdout]    |
[INFO] [stdout] 75 | /// Parses a numeric string as a `u64`.
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/parser.rs:85:1
[INFO] [stdout]    |
[INFO] [stdout] 85 | /// Parses a numeric string preceded by a dot (.) as u64.
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/parser.rs:92:1
[INFO] [stdout]    |
[INFO] [stdout] 92 | /// Parse a string as a `Version`.
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Alpha`, `Number`
[INFO] [stdout]   --> src/version.rs:32:24
[INFO] [stdout]    |
[INFO] [stdout] 32 | use self::Identifier::{Alpha, Number};
[INFO] [stdout]    |                        ^^^^^  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/version.rs:215:9
[INFO] [stdout]     |
[INFO] [stdout] 215 |         try!(write!(f, "{}.{}.{}", self.major, self.minor, self.patch));
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/version.rs:232:13
[INFO] [stdout]     |
[INFO] [stdout] 232 |             try!(write!(f, "-{}", join!(self.pre)));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/version.rs:236:13
[INFO] [stdout]     |
[INFO] [stdout] 236 |             try!(write!(f, "+{}", join!(self.build)));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolve.rs:92:17
[INFO] [stdout]    |
[INFO] [stdout] 92 |     And(Vec<Box<Constraint>>),
[INFO] [stdout]    |                 ^^^^^^^^^^ help: use `dyn`: `dyn Constraint`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolve.rs:95:16
[INFO] [stdout]    |
[INFO] [stdout] 95 |     Or(Vec<Box<Constraint>>),
[INFO] [stdout]    |                ^^^^^^^^^^ help: use `dyn`: `dyn Constraint`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 13 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 1.52s
[INFO] running `Command { std: "docker" "inspect" "5756011ade4fd45fd73dde02bde2668cd838cb1bdecaa04b0d8794f2c6470bc6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5756011ade4fd45fd73dde02bde2668cd838cb1bdecaa04b0d8794f2c6470bc6", kill_on_drop: false }`
[INFO] [stdout] 5756011ade4fd45fd73dde02bde2668cd838cb1bdecaa04b0d8794f2c6470bc6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-91/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-91/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=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" "+beta-2021-08-01" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b892868e124d231d90c42d12ba36bc55d5741cec640bbf0bd7ae9a9452985994
[INFO] running `Command { std: "docker" "start" "-a" "b892868e124d231d90c42d12ba36bc55d5741cec640bbf0bd7ae9a9452985994", kill_on_drop: false }`
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/parser.rs:38:1
[INFO] [stdout]    |
[INFO] [stdout] 38 | /// Parse a string as an `Identifier`.
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/parser.rs:54:1
[INFO] [stdout]    |
[INFO] [stdout] 54 | /// Parses a string of pre-release identifiers into a vector of `Identifier`s.
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/parser.rs:61:1
[INFO] [stdout]    |
[INFO] [stdout] 61 | /// Parses a string of build identifiers into a vector of `Identifier`s.
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/parser.rs:68:1
[INFO] [stdout]    |
[INFO] [stdout] 68 | /// Optionally parse pre-release and build identifiers.
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/parser.rs:75:1
[INFO] [stdout]    |
[INFO] [stdout] 75 | /// Parses a numeric string as a `u64`.
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/parser.rs:85:1
[INFO] [stdout]    |
[INFO] [stdout] 85 | /// Parses a numeric string preceded by a dot (.) as u64.
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/parser.rs:92:1
[INFO] [stdout]    |
[INFO] [stdout] 92 | /// Parse a string as a `Version`.
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Alpha`, `Number`
[INFO] [stdout]   --> src/version.rs:32:24
[INFO] [stdout]    |
[INFO] [stdout] 32 | use self::Identifier::{Alpha, Number};
[INFO] [stdout]    |                        ^^^^^  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/version.rs:215:9
[INFO] [stdout]     |
[INFO] [stdout] 215 |         try!(write!(f, "{}.{}.{}", self.major, self.minor, self.patch));
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/version.rs:232:13
[INFO] [stdout]     |
[INFO] [stdout] 232 |             try!(write!(f, "-{}", join!(self.pre)));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/version.rs:236:13
[INFO] [stdout]     |
[INFO] [stdout] 236 |             try!(write!(f, "+{}", join!(self.build)));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolve.rs:92:17
[INFO] [stdout]    |
[INFO] [stdout] 92 |     And(Vec<Box<Constraint>>),
[INFO] [stdout]    |                 ^^^^^^^^^^ help: use `dyn`: `dyn Constraint`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolve.rs:95:16
[INFO] [stdout]    |
[INFO] [stdout] 95 |     Or(Vec<Box<Constraint>>),
[INFO] [stdout]    |                ^^^^^^^^^^ help: use `dyn`: `dyn Constraint`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 13 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling recital v0.3.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/parser.rs:38:1
[INFO] [stdout]    |
[INFO] [stdout] 38 | /// Parse a string as an `Identifier`.
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/parser.rs:54:1
[INFO] [stdout]    |
[INFO] [stdout] 54 | /// Parses a string of pre-release identifiers into a vector of `Identifier`s.
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/parser.rs:61:1
[INFO] [stdout]    |
[INFO] [stdout] 61 | /// Parses a string of build identifiers into a vector of `Identifier`s.
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/parser.rs:68:1
[INFO] [stdout]    |
[INFO] [stdout] 68 | /// Optionally parse pre-release and build identifiers.
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/parser.rs:75:1
[INFO] [stdout]    |
[INFO] [stdout] 75 | /// Parses a numeric string as a `u64`.
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/parser.rs:85:1
[INFO] [stdout]    |
[INFO] [stdout] 85 | /// Parses a numeric string preceded by a dot (.) as u64.
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/parser.rs:92:1
[INFO] [stdout]    |
[INFO] [stdout] 92 | /// Parse a string as a `Version`.
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stdout]    |
[INFO] [stdout]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Alpha`, `Number`
[INFO] [stdout]   --> src/version.rs:32:24
[INFO] [stdout]    |
[INFO] [stdout] 32 | use self::Identifier::{Alpha, Number};
[INFO] [stdout]    |                        ^^^^^  ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/version.rs:215:9
[INFO] [stdout]     |
[INFO] [stdout] 215 |         try!(write!(f, "{}.{}.{}", self.major, self.minor, self.patch));
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/version.rs:232:13
[INFO] [stdout]     |
[INFO] [stdout] 232 |             try!(write!(f, "-{}", join!(self.pre)));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/version.rs:236:13
[INFO] [stdout]     |
[INFO] [stdout] 236 |             try!(write!(f, "+{}", join!(self.build)));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolve.rs:92:17
[INFO] [stdout]    |
[INFO] [stdout] 92 |     And(Vec<Box<Constraint>>),
[INFO] [stdout]    |                 ^^^^^^^^^^ help: use `dyn`: `dyn Constraint`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/resolve.rs:95:16
[INFO] [stdout]    |
[INFO] [stdout] 95 |     Or(Vec<Box<Constraint>>),
[INFO] [stdout]    |                ^^^^^^^^^^ help: use `dyn`: `dyn Constraint`
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/resolve.rs:156:45
[INFO] [stdout]     |
[INFO] [stdout] 156 |               let mut constraints = Vec::<Box<$crate::resolve::Constraint>>::new();
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::resolve::Constraint`
[INFO] [stdout] ...
[INFO] [stdout] 318 |           let a = constraints!(And,
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 319 | |                              GreaterThanOrEqualTo(version!(1, 1, 0)),
[INFO] [stdout] 320 | |                              LessThan(version!(1, 2, 0)));
[INFO] [stdout]     | |_________________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/resolve.rs:156:45
[INFO] [stdout]     |
[INFO] [stdout] 156 |               let mut constraints = Vec::<Box<$crate::resolve::Constraint>>::new();
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::resolve::Constraint`
[INFO] [stdout] ...
[INFO] [stdout] 328 |           let a = constraints!(Or,
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 329 | |                              Exactly(version!(1, 1, 0)),
[INFO] [stdout] 330 | |                              Exactly(version!(1, 2, 0)));
[INFO] [stdout]     | |________________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/resolve.rs:156:45
[INFO] [stdout]     |
[INFO] [stdout] 156 |               let mut constraints = Vec::<Box<$crate::resolve::Constraint>>::new();
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::resolve::Constraint`
[INFO] [stdout] ...
[INFO] [stdout] 338 |           let a = constraints!(And,
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 339 | |                              GreaterThanOrEqualTo(version!(1, 2, 1)),
[INFO] [stdout] 340 | |                              LessThan(version!(1, 5, 0)));
[INFO] [stdout]     | |_________________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/resolve.rs:156:45
[INFO] [stdout]     |
[INFO] [stdout] 156 |               let mut constraints = Vec::<Box<$crate::resolve::Constraint>>::new();
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::resolve::Constraint`
[INFO] [stdout] ...
[INFO] [stdout] 342 |           let b = constraints!(And,
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 343 | |                              GreaterThan(version!(1, 5, 0)),
[INFO] [stdout] 344 | |                              LessThan(version!(2, 0, 0)));
[INFO] [stdout]     | |_________________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/resolve.rs:156:45
[INFO] [stdout]     |
[INFO] [stdout] 156 |             let mut constraints = Vec::<Box<$crate::resolve::Constraint>>::new();
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::resolve::Constraint`
[INFO] [stdout] ...
[INFO] [stdout] 346 |         let c = constraints!(Or, a, b);
[INFO] [stdout]     |                 ---------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/resolve.rs:156:45
[INFO] [stdout]     |
[INFO] [stdout] 156 |               let mut constraints = Vec::<Box<$crate::resolve::Constraint>>::new();
[INFO] [stdout]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::resolve::Constraint`
[INFO] [stdout] ...
[INFO] [stdout] 355 |           let c = constraints!(And,
[INFO] [stdout]     |  _________________-
[INFO] [stdout] 356 | |                              GreaterThan(version!(1, 2, 1)),
[INFO] [stdout] 357 | |                              LessThan(version!(2, 0, 0)));
[INFO] [stdout]     | |_________________________________________________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stdout]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 19 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 2.66s
[INFO] running `Command { std: "docker" "inspect" "b892868e124d231d90c42d12ba36bc55d5741cec640bbf0bd7ae9a9452985994", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b892868e124d231d90c42d12ba36bc55d5741cec640bbf0bd7ae9a9452985994", kill_on_drop: false }`
[INFO] [stdout] b892868e124d231d90c42d12ba36bc55d5741cec640bbf0bd7ae9a9452985994
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-91/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-91/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=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" "+beta-2021-08-01" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] dd67f22f9498415b718c418b65c03feebf13c66f5809ead56ea5943cf67f80c9
[INFO] running `Command { std: "docker" "start" "-a" "dd67f22f9498415b718c418b65c03feebf13c66f5809ead56ea5943cf67f80c9", kill_on_drop: false }`
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/parser.rs:38:1
[INFO] [stderr]    |
[INFO] [stderr] 38 | /// Parse a string as an `Identifier`.
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stderr]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/parser.rs:54:1
[INFO] [stderr]    |
[INFO] [stderr] 54 | /// Parses a string of pre-release identifiers into a vector of `Identifier`s.
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]    |
[INFO] [stderr]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/parser.rs:61:1
[INFO] [stderr]    |
[INFO] [stderr] 61 | /// Parses a string of build identifiers into a vector of `Identifier`s.
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]    |
[INFO] [stderr]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/parser.rs:68:1
[INFO] [stderr]    |
[INFO] [stderr] 68 | /// Optionally parse pre-release and build identifiers.
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]    |
[INFO] [stderr]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/parser.rs:75:1
[INFO] [stderr]    |
[INFO] [stderr] 75 | /// Parses a numeric string as a `u64`.
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]    |
[INFO] [stderr]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/parser.rs:85:1
[INFO] [stderr]    |
[INFO] [stderr] 85 | /// Parses a numeric string preceded by a dot (.) as u64.
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]    |
[INFO] [stderr]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused doc comment
[INFO] [stderr]   --> src/parser.rs:92:1
[INFO] [stderr]    |
[INFO] [stderr] 92 | /// Parse a string as a `Version`.
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ rustdoc does not generate documentation for macro invocations
[INFO] [stderr]    |
[INFO] [stderr]    = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Alpha`, `Number`
[INFO] [stderr]   --> src/version.rs:32:24
[INFO] [stderr]    |
[INFO] [stderr] 32 | use self::Identifier::{Alpha, Number};
[INFO] [stderr]    |                        ^^^^^  ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/version.rs:215:9
[INFO] [stderr]     |
[INFO] [stderr] 215 |         try!(write!(f, "{}.{}.{}", self.major, self.minor, self.patch));
[INFO] [stderr]     |         ^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/version.rs:232:13
[INFO] [stderr]     |
[INFO] [stderr] 232 |             try!(write!(f, "-{}", join!(self.pre)));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]    --> src/version.rs:236:13
[INFO] [stderr]     |
[INFO] [stderr] 236 |             try!(write!(f, "+{}", join!(self.build)));
[INFO] [stderr]     |             ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/resolve.rs:92:17
[INFO] [stderr]    |
[INFO] [stderr] 92 |     And(Vec<Box<Constraint>>),
[INFO] [stderr]    |                 ^^^^^^^^^^ help: use `dyn`: `dyn Constraint`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/resolve.rs:95:16
[INFO] [stderr]    |
[INFO] [stderr] 95 |     Or(Vec<Box<Constraint>>),
[INFO] [stderr]    |                ^^^^^^^^^^ help: use `dyn`: `dyn Constraint`
[INFO] [stderr]    |
[INFO] [stderr]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]    = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr] 
[INFO] [stderr] warning: `recital` (lib) generated 13 warnings
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/resolve.rs:156:45
[INFO] [stderr]     |
[INFO] [stderr] 156 |               let mut constraints = Vec::<Box<$crate::resolve::Constraint>>::new();
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::resolve::Constraint`
[INFO] [stderr] ...
[INFO] [stderr] 318 |           let a = constraints!(And,
[INFO] [stderr]     |  _________________-
[INFO] [stderr] 319 | |                              GreaterThanOrEqualTo(version!(1, 1, 0)),
[INFO] [stderr] 320 | |                              LessThan(version!(1, 2, 0)));
[INFO] [stderr]     | |_________________________________________________________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/resolve.rs:156:45
[INFO] [stderr]     |
[INFO] [stderr] 156 |               let mut constraints = Vec::<Box<$crate::resolve::Constraint>>::new();
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::resolve::Constraint`
[INFO] [stderr] ...
[INFO] [stderr] 328 |           let a = constraints!(Or,
[INFO] [stderr]     |  _________________-
[INFO] [stderr] 329 | |                              Exactly(version!(1, 1, 0)),
[INFO] [stderr] 330 | |                              Exactly(version!(1, 2, 0)));
[INFO] [stderr]     | |________________________________________________________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/resolve.rs:156:45
[INFO] [stderr]     |
[INFO] [stderr] 156 |               let mut constraints = Vec::<Box<$crate::resolve::Constraint>>::new();
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::resolve::Constraint`
[INFO] [stderr] ...
[INFO] [stderr] 338 |           let a = constraints!(And,
[INFO] [stderr]     |  _________________-
[INFO] [stderr] 339 | |                              GreaterThanOrEqualTo(version!(1, 2, 1)),
[INFO] [stderr] 340 | |                              LessThan(version!(1, 5, 0)));
[INFO] [stderr]     | |_________________________________________________________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/resolve.rs:156:45
[INFO] [stderr]     |
[INFO] [stderr] 156 |               let mut constraints = Vec::<Box<$crate::resolve::Constraint>>::new();
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::resolve::Constraint`
[INFO] [stderr] ...
[INFO] [stderr] 342 |           let b = constraints!(And,
[INFO] [stderr]     |  _________________-
[INFO] [stderr] 343 | |                              GreaterThan(version!(1, 5, 0)),
[INFO] [stderr] 344 | |                              LessThan(version!(2, 0, 0)));
[INFO] [stderr]     | |_________________________________________________________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/resolve.rs:156:45
[INFO] [stderr]     |
[INFO] [stderr] 156 |             let mut constraints = Vec::<Box<$crate::resolve::Constraint>>::new();
[INFO] [stderr]     |                                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::resolve::Constraint`
[INFO] [stderr] ...
[INFO] [stderr] 346 |         let c = constraints!(Or, a, b);
[INFO] [stderr]     |                 ---------------------- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]    --> src/resolve.rs:156:45
[INFO] [stderr]     |
[INFO] [stderr] 156 |               let mut constraints = Vec::<Box<$crate::resolve::Constraint>>::new();
[INFO] [stderr]     |                                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn $crate::resolve::Constraint`
[INFO] [stderr] ...
[INFO] [stderr] 355 |           let c = constraints!(And,
[INFO] [stderr]     |  _________________-
[INFO] [stderr] 356 | |                              GreaterThan(version!(1, 2, 1)),
[INFO] [stderr] 357 | |                              LessThan(version!(2, 0, 0)));
[INFO] [stderr]     | |_________________________________________________________- in this macro invocation
[INFO] [stderr]     |
[INFO] [stderr]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stderr]     = note: for more information, see issue #80165 <https://github.com/rust-lang/rust/issues/80165>
[INFO] [stderr]     = note: this warning originates in the macro `constraints` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stderr] 
[INFO] [stderr] warning: `recital` (lib test) generated 19 warnings (13 duplicates)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.04s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/recital-2e79ef0caf5910ec)
[INFO] [stdout] running 31 tests
[INFO] [stderr]    Doc-tests recital
[INFO] [stdout] test parser::test::test_build ... ok
[INFO] [stdout] test parser::test::test_extensions ... ok
[INFO] [stdout] test parser::test::test_from_str ... ok
[INFO] [stdout] test parser::test::test_identifiers ... ok
[INFO] [stdout] test parser::test::test_is_id_char ... ok
[INFO] [stdout] test parser::test::test_next_number ... ok
[INFO] [stdout] test parser::test::test_number ... ok
[INFO] [stdout] test parser::test::test_parse_ids ... ok
[INFO] [stdout] test parser::test::test_prerelease ... ok
[INFO] [stdout] test parser::test::test_version ... ok
[INFO] [stdout] test resolve::tests::test_and ... ok
[INFO] [stdout] test resolve::tests::test_exact ... ok
[INFO] [stdout] test resolve::tests::test_exactly_not ... ok
[INFO] [stdout] test resolve::tests::test_greater_than ... ok
[INFO] [stdout] test resolve::tests::test_greater_than_or_equal_to ... ok
[INFO] [stdout] test resolve::tests::test_less_than ... ok
[INFO] [stdout] test resolve::tests::test_less_than_or_equal_to ... ok
[INFO] [stdout] test resolve::tests::test_nested ... ok
[INFO] [stdout] test resolve::tests::test_or ... ok
[INFO] [stdout] test resolve::tests::test_resolve ... ok
[INFO] [stdout] test version::tests::test_identifier_display ... ok
[INFO] [stdout] test version::tests::test_version_clear_build ... ok
[INFO] [stdout] test version::tests::test_version_clear_identifiers ... ok
[INFO] [stdout] test version::tests::test_version_clear_pre ... ok
[INFO] [stdout] test version::tests::test_version_display ... ok
[INFO] [stdout] test version::tests::test_version_cmp_spec ... ok
[INFO] [stdout] test version::tests::test_version_increment_major ... ok
[INFO] [stdout] test version::tests::test_version_increment_minor ... ok
[INFO] [stdout] test version::tests::test_version_default ... ok
[INFO] [stdout] test version::tests::test_version_increment_patch ... ok
[INFO] [stdout] test version::tests::test_version_is_stable ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 31 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test src/lib.rs - (line 25) ... ok
[INFO] [stdout] test src/version.rs - id (line 116) ... ok
[INFO] [stdout] test src/lib.rs - (line 48) ... ok
[INFO] [stdout] test src/resolve.rs - resolve (line 9) ... ok
[INFO] [stdout] test src/version.rs - version::Version (line 190) ... ok
[INFO] [stdout] test src/lib.rs - (line 55) ... ok
[INFO] [stdout] test src/resolve.rs - resolve::Operation (line 173) ... ok
[INFO] [stdout] test src/resolve.rs - constraints (line 126) ... ok
[INFO] [stdout] test src/resolve.rs - resolve::resolve (line 234) ... ok
[INFO] [stdout] test src/lib.rs - (line 85) ... ok
[INFO] [stdout] test src/version.rs - version (line 356) ... ok
[INFO] [stdout] test src/resolve.rs - resolve::Constraints (line 69) ... ok
[INFO] [stdout] test src/version.rs - version (line 370) ... ok
[INFO] [stdout] test src/parser.rs - parser::Version (line 115) ... ok
[INFO] [stdout] test src/lib.rs - (line 36) ... ok
[INFO] [stdout] test src/resolve.rs - resolve (line 24) ... ok
[INFO] [stdout] test src/version.rs - version (line 7) ... ok
[INFO] [stdout] test src/resolve.rs - constraints (line 141) ... ok
[INFO] [stdout] test src/version.rs - id (line 127) ... ok
[INFO] [stdout] test src/version.rs - version (line 23) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.74s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "dd67f22f9498415b718c418b65c03feebf13c66f5809ead56ea5943cf67f80c9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "dd67f22f9498415b718c418b65c03feebf13c66f5809ead56ea5943cf67f80c9", kill_on_drop: false }`
[INFO] [stdout] dd67f22f9498415b718c418b65c03feebf13c66f5809ead56ea5943cf67f80c9
