[INFO] cloning repository https://github.com/killercup/trpl-ebook
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/killercup/trpl-ebook" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkillercup%2Ftrpl-ebook", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkillercup%2Ftrpl-ebook'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f612176b8de6326239b5181cdf48988948e0fea7
[INFO] testing killercup/trpl-ebook against 1.75.0 for beta-1.76-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkillercup%2Ftrpl-ebook" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/killercup/trpl-ebook on toolchain 1.75.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.75.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/killercup/trpl-ebook
[INFO] finished tweaking git repo https://github.com/killercup/trpl-ebook
[INFO] tweaked toml for git repo https://github.com/killercup/trpl-ebook written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] crate git repo https://github.com/killercup/trpl-ebook 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" "+1.75.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating git repository `https://github.com/Manishearth/rust-clippy.git`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded regex-syntax v0.3.5
[INFO] [stderr]   Downloaded regex v0.1.77
[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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] d58e027e7bb61555c7dc0e5381caf2779013261d57a22df1b3257f9fdeca208d
[INFO] running `Command { std: "docker" "start" "-a" "d58e027e7bb61555c7dc0e5381caf2779013261d57a22df1b3257f9fdeca208d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d58e027e7bb61555c7dc0e5381caf2779013261d57a22df1b3257f9fdeca208d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d58e027e7bb61555c7dc0e5381caf2779013261d57a22df1b3257f9fdeca208d", kill_on_drop: false }`
[INFO] [stdout] d58e027e7bb61555c7dc0e5381caf2779013261d57a22df1b3257f9fdeca208d
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3934738f9f4e75a8c76a6d898e37960885c2dd057407c460f02dff513958a731
[INFO] running `Command { std: "docker" "start" "-a" "3934738f9f4e75a8c76a6d898e37960885c2dd057407c460f02dff513958a731", kill_on_drop: false }`
[INFO] [stderr]    Compiling winapi-build v0.1.1
[INFO] [stderr]    Compiling libc v0.2.16
[INFO] [stderr]    Compiling winapi v0.2.8
[INFO] [stderr]    Compiling utf8-ranges v0.1.3
[INFO] [stderr]    Compiling regex-syntax v0.3.5
[INFO] [stderr]    Compiling rustc-serialize v0.3.24
[INFO] [stderr]    Compiling lazy_static v0.2.1
[INFO] [stderr]    Compiling strsim v0.5.1
[INFO] [stderr]    Compiling kernel32-sys v0.2.2
[INFO] [stderr]    Compiling memchr v0.1.11
[INFO] [stderr]    Compiling aho-corasick v0.5.3
[INFO] [stderr]    Compiling thread-id v2.0.0
[INFO] [stderr]    Compiling thread_local v0.2.7
[INFO] [stderr]    Compiling regex v0.1.77
[INFO] [stderr]    Compiling docopt v0.6.86
[INFO] [stderr]    Compiling compile-trpl v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/main.rs:34:17
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Debug, RustcDecodable)]
[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/helpers/file.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     try!(file.read_to_string(&mut buffer));
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]  --> src/helpers/file.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let mut file = try!(File::open(path));
[INFO] [stdout]   |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/helpers/file.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     try!(file.write_all(input.as_bytes()));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/helpers/file.rs:14:20
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let mut file = try!(File::create(&Path::new(name)));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/helpers/normalize.rs:43:14
[INFO] [stdout]    |
[INFO] [stdout] 43 |     output = try!(break_code_blocks(&input, 87, "↳ "));
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/helpers/normalize.rs:44:14
[INFO] [stdout]    |
[INFO] [stdout] 44 |     output = try!(normalize_code_start(&output));
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/helpers/normalize.rs:45:14
[INFO] [stdout]    |
[INFO] [stdout] 45 |     output = try!(normalize_links(&output));
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/helpers/normalize.rs:46:14
[INFO] [stdout]    |
[INFO] [stdout] 46 |     output = try!(normalize_math(&output));
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/helpers/shell_pipe.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     try!(stdout.read_to_string(&mut output));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/helpers/shell_pipe.rs:43:19
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let process = try!(
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/helpers/shell_pipe.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |         try!(stdin.write_all(input.as_bytes()));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/helpers/shell_pipe.rs:52:46
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let mut stdin: process::ChildStdin = try!(process.stdin.ok_or(CommandError::StdIn));
[INFO] [stdout]    |                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/helpers/shell_pipe.rs:58:44
[INFO] [stdout]    |
[INFO] [stdout] 58 |     let mut stdout: process::ChildStdout = try!(process.stdout.ok_or(CommandError::StdOut));
[INFO] [stdout]    |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/index.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let files = try!(fs::read_dir(&Path::new(path)))
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/index.rs:43:17
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let files = try!(list_file_groups(path));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/markdown.rs:69:15
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let toc = try!(file::get_file_content(&src_path.join("SUMMARY.md")));
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/markdown.rs:79:20
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let file = try!(file::get_file_content(&src_path.join("README.md")));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/markdown.rs:80:27
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let mut content = try!(adjust_header_level::adjust_header_level(&file, 1));
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/markdown.rs:81:19
[INFO] [stdout]    |
[INFO] [stdout] 81 |         content = try!(remove_file_title::remove_file_title(&content));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/markdown.rs:82:19
[INFO] [stdout]    |
[INFO] [stdout] 82 |         content = try!(adjust_reference_names::adjust_reference_name(&content, "readme"));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/markdown.rs:83:19
[INFO] [stdout]    |
[INFO] [stdout] 83 |         content = try!(normalize::normalize(&content));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/markdown.rs:94:20
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let file = try!(file::get_file_content(&src_path.join(&chapter.file)));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/markdown.rs:96:27
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let mut content = try!(adjust_header_level::adjust_header_level(&file, 3));
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/markdown.rs:97:19
[INFO] [stdout]    |
[INFO] [stdout] 97 |         content = try!(remove_file_title::remove_file_title(&content));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/markdown.rs:98:19
[INFO] [stdout]    |
[INFO] [stdout] 98 |         content = try!(adjust_reference_names::adjust_reference_name(&content, &chapter.file));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/markdown.rs:99:19
[INFO] [stdout]    |
[INFO] [stdout] 99 |         content = try!(normalize::normalize(&content));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/pandoc.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     try!(run(&opts, &book));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     try!(helpers::file::write_string_to_file(&book,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     try!(save_as(&book, prefix, "html", options::HTML));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/mod.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     try!(save_as(&book, prefix, "epub", options::EPUB));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/mod.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     try!(save_as(&cc_book, prefix, "tex", options::LATEX));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/mod.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     try!(save_as(&plain_book,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/mod.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     try!(save_as(&plain_book,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/mod.rs:15:21
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let meta_data = try!(helpers::file::get_file_content(meta_file));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/mod.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let book = try!(markdown::to_single_file(src_path,
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `std::ascii::AsciiExt`: use inherent methods instead
[INFO] [stdout]  --> src/convert_book/index.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ascii::AsciiExt;
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `std::ascii::AsciiExt`: use inherent methods instead
[INFO] [stdout]  --> src/convert_book/pandoc.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ascii::AsciiExt;
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/helpers/adjust_header_level.rs:9:88
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn adjust_header_level(input: &str, base_level: HeaderLevel) -> Result<String, Box<Error>> {
[INFO] [stdout]   |                                                                                        ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn adjust_header_level(input: &str, base_level: HeaderLevel) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]   |                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/helpers/adjust_reference_names.rs:6:79
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn adjust_reference_name(input: &str, prefix: &str) -> Result<String, Box<Error>> {
[INFO] [stdout]   |                                                                               ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn adjust_reference_name(input: &str, prefix: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]   |                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/helpers/file.rs:6:72
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn get_file_content<P: AsRef<Path>>(path: P) -> Result<String, Box<Error>> {
[INFO] [stdout]   |                                                                        ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn get_file_content<P: AsRef<Path>>(path: P) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]   |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/helpers/file.rs:13:72
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn write_string_to_file(input: &str, name: &str) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                                        ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn write_string_to_file(input: &str, name: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/helpers/line_breaks.rs:3:85
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn break_long_line(line: &str, max_len: usize, sep: &str) -> Result<String, Box<Error>> {
[INFO] [stdout]   |                                                                                     ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn break_long_line(line: &str, max_len: usize, sep: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]   |                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/helpers/normalize.rs:6:55
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn normalize_links(input: &str) -> Result<String, Box<Error>> {
[INFO] [stdout]   |                                                       ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn normalize_links(input: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]   |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/helpers/normalize.rs:34:54
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn normalize_math(input: &str) -> Result<String, Box<Error>> {
[INFO] [stdout]    |                                                      ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn normalize_math(input: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/helpers/normalize.rs:40:53
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn normalize(input: &str) -> Result<String, Box<Error>> {
[INFO] [stdout]    |                                                     ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn normalize(input: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/helpers/normalize_code_blocks.rs:8:88
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn break_code_blocks(input: &str, max_len: usize, sep: &str) -> Result<String, Box<Error>> {
[INFO] [stdout]   |                                                                                        ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn break_code_blocks(input: &str, max_len: usize, sep: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]   |                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/helpers/normalize_code_blocks.rs:29:64
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn normalize_code_start(input: &str) -> Result<String, Box<Error>> {
[INFO] [stdout]    |                                                                ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn normalize_code_start(input: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/helpers/remove_file_title.rs:4:61
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn remove_file_title(input: &str) -> Result<String, Box<Error>> {
[INFO] [stdout]   |                                                             ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn remove_file_title(input: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]   |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/helpers/shell_pipe.rs:31:74
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn run(command: &str, args: &str, input: &str) -> Result<String, Box<Error>> {
[INFO] [stdout]    |                                                                          ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn run(command: &str, args: &str, input: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/convert_book/mod.rs:14:86
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn render_book(prefix: &str, src_path: &Path, meta_file: &str) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                                                      ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn render_book(prefix: &str, src_path: &Path, meta_file: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/convert_book/index.rs:14:60
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn list_file_groups(path: &str) -> Result<FileListing, Box<Error>> {
[INFO] [stdout]    |                                                            ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn list_file_groups(path: &str) -> Result<FileListing, Box<dyn Error>> {
[INFO] [stdout]    |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/convert_book/index.rs:40:55
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn render_index(path: &str) -> Result<String, Box<Error>> {
[INFO] [stdout]    |                                                       ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn render_index(path: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/convert_book/markdown.rs:66:74
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub fn to_single_file(src_path: &Path, meta: &str) -> Result<String, Box<Error>> {
[INFO] [stdout]    |                                                                          ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub fn to_single_file(src_path: &Path, meta: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/convert_book/pandoc.rs:7:59
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn run(args: &str, input: &str) -> Result<String, Box<Error>> {
[INFO] [stdout]   |                                                           ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn run(args: &str, input: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]   |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/convert_book/pandoc.rs:11:86
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn save_as(book: &str, prefix: &str, format: &str, opts: &str) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                                                      ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn save_as(book: &str, prefix: &str, format: &str, opts: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ascii::AsciiExt`
[INFO] [stdout]  --> src/convert_book/index.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ascii::AsciiExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ascii::AsciiExt`
[INFO] [stdout]  --> src/convert_book/pandoc.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ascii::AsciiExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 58 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 2.50s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rustc-serialize v0.3.24
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "3934738f9f4e75a8c76a6d898e37960885c2dd057407c460f02dff513958a731", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3934738f9f4e75a8c76a6d898e37960885c2dd057407c460f02dff513958a731", kill_on_drop: false }`
[INFO] [stdout] 3934738f9f4e75a8c76a6d898e37960885c2dd057407c460f02dff513958a731
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b7fa09f6b0d97ced4ba4b873e2cec187ee7727f9bdae80e5a110824fa89a8aba
[INFO] running `Command { std: "docker" "start" "-a" "b7fa09f6b0d97ced4ba4b873e2cec187ee7727f9bdae80e5a110824fa89a8aba", kill_on_drop: false }`
[INFO] [stderr]    Compiling compile-trpl v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stdout]   --> src/main.rs:34:17
[INFO] [stdout]    |
[INFO] [stdout] 34 | #[derive(Debug, RustcDecodable)]
[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/helpers/file.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     try!(file.read_to_string(&mut buffer));
[INFO] [stdout]   |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]  --> src/helpers/file.rs:7:20
[INFO] [stdout]   |
[INFO] [stdout] 7 |     let mut file = try!(File::open(path));
[INFO] [stdout]   |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/helpers/file.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     try!(file.write_all(input.as_bytes()));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/helpers/file.rs:14:20
[INFO] [stdout]    |
[INFO] [stdout] 14 |     let mut file = try!(File::create(&Path::new(name)));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/helpers/normalize.rs:43:14
[INFO] [stdout]    |
[INFO] [stdout] 43 |     output = try!(break_code_blocks(&input, 87, "↳ "));
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/helpers/normalize.rs:44:14
[INFO] [stdout]    |
[INFO] [stdout] 44 |     output = try!(normalize_code_start(&output));
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/helpers/normalize.rs:45:14
[INFO] [stdout]    |
[INFO] [stdout] 45 |     output = try!(normalize_links(&output));
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/helpers/normalize.rs:46:14
[INFO] [stdout]    |
[INFO] [stdout] 46 |     output = try!(normalize_math(&output));
[INFO] [stdout]    |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/helpers/shell_pipe.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     try!(stdout.read_to_string(&mut output));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/helpers/shell_pipe.rs:43:19
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let process = try!(
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/helpers/shell_pipe.rs:53:9
[INFO] [stdout]    |
[INFO] [stdout] 53 |         try!(stdin.write_all(input.as_bytes()));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/helpers/shell_pipe.rs:52:46
[INFO] [stdout]    |
[INFO] [stdout] 52 |         let mut stdin: process::ChildStdin = try!(process.stdin.ok_or(CommandError::StdIn));
[INFO] [stdout]    |                                              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/helpers/shell_pipe.rs:58:44
[INFO] [stdout]    |
[INFO] [stdout] 58 |     let mut stdout: process::ChildStdout = try!(process.stdout.ok_or(CommandError::StdOut));
[INFO] [stdout]    |                                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/index.rs:17:17
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let files = try!(fs::read_dir(&Path::new(path)))
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/index.rs:43:17
[INFO] [stdout]    |
[INFO] [stdout] 43 |     let files = try!(list_file_groups(path));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/markdown.rs:69:15
[INFO] [stdout]    |
[INFO] [stdout] 69 |     let toc = try!(file::get_file_content(&src_path.join("SUMMARY.md")));
[INFO] [stdout]    |               ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/markdown.rs:79:20
[INFO] [stdout]    |
[INFO] [stdout] 79 |         let file = try!(file::get_file_content(&src_path.join("README.md")));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/markdown.rs:80:27
[INFO] [stdout]    |
[INFO] [stdout] 80 |         let mut content = try!(adjust_header_level::adjust_header_level(&file, 1));
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/markdown.rs:81:19
[INFO] [stdout]    |
[INFO] [stdout] 81 |         content = try!(remove_file_title::remove_file_title(&content));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/markdown.rs:82:19
[INFO] [stdout]    |
[INFO] [stdout] 82 |         content = try!(adjust_reference_names::adjust_reference_name(&content, "readme"));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/markdown.rs:83:19
[INFO] [stdout]    |
[INFO] [stdout] 83 |         content = try!(normalize::normalize(&content));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/markdown.rs:94:20
[INFO] [stdout]    |
[INFO] [stdout] 94 |         let file = try!(file::get_file_content(&src_path.join(&chapter.file)));
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/markdown.rs:96:27
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let mut content = try!(adjust_header_level::adjust_header_level(&file, 3));
[INFO] [stdout]    |                           ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/markdown.rs:97:19
[INFO] [stdout]    |
[INFO] [stdout] 97 |         content = try!(remove_file_title::remove_file_title(&content));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/markdown.rs:98:19
[INFO] [stdout]    |
[INFO] [stdout] 98 |         content = try!(adjust_reference_names::adjust_reference_name(&content, &chapter.file));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/markdown.rs:99:19
[INFO] [stdout]    |
[INFO] [stdout] 99 |         content = try!(normalize::normalize(&content));
[INFO] [stdout]    |                   ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/pandoc.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     try!(run(&opts, &book));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/mod.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     try!(helpers::file::write_string_to_file(&book,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/mod.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     try!(save_as(&book, prefix, "html", options::HTML));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/mod.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     try!(save_as(&book, prefix, "epub", options::EPUB));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/mod.rs:31:5
[INFO] [stdout]    |
[INFO] [stdout] 31 |     try!(save_as(&cc_book, prefix, "tex", options::LATEX));
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/mod.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     try!(save_as(&plain_book,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/mod.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     try!(save_as(&plain_book,
[INFO] [stdout]    |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/mod.rs:15:21
[INFO] [stdout]    |
[INFO] [stdout] 15 |     let meta_data = try!(helpers::file::get_file_content(meta_file));
[INFO] [stdout]    |                     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/convert_book/mod.rs:17:16
[INFO] [stdout]    |
[INFO] [stdout] 17 |     let book = try!(markdown::to_single_file(src_path,
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `std::ascii::AsciiExt`: use inherent methods instead
[INFO] [stdout]  --> src/convert_book/index.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ascii::AsciiExt;
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated trait `std::ascii::AsciiExt`: use inherent methods instead
[INFO] [stdout]  --> src/convert_book/pandoc.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ascii::AsciiExt;
[INFO] [stdout]   |                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/helpers/adjust_header_level.rs:9:88
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn adjust_header_level(input: &str, base_level: HeaderLevel) -> Result<String, Box<Error>> {
[INFO] [stdout]   |                                                                                        ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub fn adjust_header_level(input: &str, base_level: HeaderLevel) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]   |                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/helpers/adjust_reference_names.rs:6:79
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn adjust_reference_name(input: &str, prefix: &str) -> Result<String, Box<Error>> {
[INFO] [stdout]   |                                                                               ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn adjust_reference_name(input: &str, prefix: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]   |                                                                               +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/helpers/file.rs:6:72
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn get_file_content<P: AsRef<Path>>(path: P) -> Result<String, Box<Error>> {
[INFO] [stdout]   |                                                                        ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub fn get_file_content<P: AsRef<Path>>(path: P) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]   |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/helpers/file.rs:13:72
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn write_string_to_file(input: &str, name: &str) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                                        ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 13 | pub fn write_string_to_file(input: &str, name: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/helpers/line_breaks.rs:3:85
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn break_long_line(line: &str, max_len: usize, sep: &str) -> Result<String, Box<Error>> {
[INFO] [stdout]   |                                                                                     ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub fn break_long_line(line: &str, max_len: usize, sep: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]   |                                                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/helpers/normalize.rs:6:55
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn normalize_links(input: &str) -> Result<String, Box<Error>> {
[INFO] [stdout]   |                                                       ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 6 | fn normalize_links(input: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]   |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/helpers/normalize.rs:34:54
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn normalize_math(input: &str) -> Result<String, Box<Error>> {
[INFO] [stdout]    |                                                      ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 34 | fn normalize_math(input: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/helpers/normalize.rs:40:53
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn normalize(input: &str) -> Result<String, Box<Error>> {
[INFO] [stdout]    |                                                     ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn normalize(input: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                                                     +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/helpers/normalize_code_blocks.rs:8:88
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn break_code_blocks(input: &str, max_len: usize, sep: &str) -> Result<String, Box<Error>> {
[INFO] [stdout]   |                                                                                        ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn break_code_blocks(input: &str, max_len: usize, sep: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]   |                                                                                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/helpers/normalize_code_blocks.rs:29:64
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn normalize_code_start(input: &str) -> Result<String, Box<Error>> {
[INFO] [stdout]    |                                                                ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub fn normalize_code_start(input: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                                                                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/helpers/remove_file_title.rs:4:61
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn remove_file_title(input: &str) -> Result<String, Box<Error>> {
[INFO] [stdout]   |                                                             ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub fn remove_file_title(input: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]   |                                                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/helpers/shell_pipe.rs:31:74
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn run(command: &str, args: &str, input: &str) -> Result<String, Box<Error>> {
[INFO] [stdout]    |                                                                          ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub fn run(command: &str, args: &str, input: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/convert_book/mod.rs:14:86
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn render_book(prefix: &str, src_path: &Path, meta_file: &str) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                                                      ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub fn render_book(prefix: &str, src_path: &Path, meta_file: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/convert_book/index.rs:14:60
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn list_file_groups(path: &str) -> Result<FileListing, Box<Error>> {
[INFO] [stdout]    |                                                            ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 14 | fn list_file_groups(path: &str) -> Result<FileListing, Box<dyn Error>> {
[INFO] [stdout]    |                                                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/convert_book/index.rs:40:55
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn render_index(path: &str) -> Result<String, Box<Error>> {
[INFO] [stdout]    |                                                       ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub fn render_index(path: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                                                       +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/convert_book/markdown.rs:66:74
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub fn to_single_file(src_path: &Path, meta: &str) -> Result<String, Box<Error>> {
[INFO] [stdout]    |                                                                          ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub fn to_single_file(src_path: &Path, meta: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]    |                                                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/convert_book/pandoc.rs:7:59
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn run(args: &str, input: &str) -> Result<String, Box<Error>> {
[INFO] [stdout]   |                                                           ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]   |
[INFO] [stdout] 7 | pub fn run(args: &str, input: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stdout]   |                                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/convert_book/pandoc.rs:11:86
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn save_as(book: &str, prefix: &str, format: &str, opts: &str) -> Result<(), Box<Error>> {
[INFO] [stdout]    |                                                                                      ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub fn save_as(book: &str, prefix: &str, format: &str, opts: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stdout]    |                                                                                      +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ascii::AsciiExt`
[INFO] [stdout]  --> src/convert_book/index.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::ascii::AsciiExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ascii::AsciiExt`
[INFO] [stdout]  --> src/convert_book/pandoc.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::ascii::AsciiExt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 58 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.63s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rustc-serialize v0.3.24
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] running `Command { std: "docker" "inspect" "b7fa09f6b0d97ced4ba4b873e2cec187ee7727f9bdae80e5a110824fa89a8aba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b7fa09f6b0d97ced4ba4b873e2cec187ee7727f9bdae80e5a110824fa89a8aba", kill_on_drop: false }`
[INFO] [stdout] b7fa09f6b0d97ced4ba4b873e2cec187ee7727f9bdae80e5a110824fa89a8aba
[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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+1.75.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 9c4fefb47ab909d0228b61ad621eb3f7d094df4897d86fc6396813443d4342ee
[INFO] running `Command { std: "docker" "start" "-a" "9c4fefb47ab909d0228b61ad621eb3f7d094df4897d86fc6396813443d4342ee", kill_on_drop: false }`
[INFO] [stderr] warning: use of deprecated macro `RustcDecodable`: rustc-serialize is deprecated and no longer supported
[INFO] [stderr]   --> src/main.rs:34:17
[INFO] [stderr]    |
[INFO] [stderr] 34 | #[derive(Debug, RustcDecodable)]
[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/helpers/file.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 |     try!(file.read_to_string(&mut buffer));
[INFO] [stderr]   |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]  --> src/helpers/file.rs:7:20
[INFO] [stderr]   |
[INFO] [stderr] 7 |     let mut file = try!(File::open(path));
[INFO] [stderr]   |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/helpers/file.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 |     try!(file.write_all(input.as_bytes()));
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/helpers/file.rs:14:20
[INFO] [stderr]    |
[INFO] [stderr] 14 |     let mut file = try!(File::create(&Path::new(name)));
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/helpers/normalize.rs:43:14
[INFO] [stderr]    |
[INFO] [stderr] 43 |     output = try!(break_code_blocks(&input, 87, "↳ "));
[INFO] [stderr]    |              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/helpers/normalize.rs:44:14
[INFO] [stderr]    |
[INFO] [stderr] 44 |     output = try!(normalize_code_start(&output));
[INFO] [stderr]    |              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/helpers/normalize.rs:45:14
[INFO] [stderr]    |
[INFO] [stderr] 45 |     output = try!(normalize_links(&output));
[INFO] [stderr]    |              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/helpers/normalize.rs:46:14
[INFO] [stderr]    |
[INFO] [stderr] 46 |     output = try!(normalize_math(&output));
[INFO] [stderr]    |              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/helpers/shell_pipe.rs:59:5
[INFO] [stderr]    |
[INFO] [stderr] 59 |     try!(stdout.read_to_string(&mut output));
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/helpers/shell_pipe.rs:43:19
[INFO] [stderr]    |
[INFO] [stderr] 43 |     let process = try!(
[INFO] [stderr]    |                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/helpers/shell_pipe.rs:53:9
[INFO] [stderr]    |
[INFO] [stderr] 53 |         try!(stdin.write_all(input.as_bytes()));
[INFO] [stderr]    |         ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/helpers/shell_pipe.rs:52:46
[INFO] [stderr]    |
[INFO] [stderr] 52 |         let mut stdin: process::ChildStdin = try!(process.stdin.ok_or(CommandError::StdIn));
[INFO] [stderr]    |                                              ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/helpers/shell_pipe.rs:58:44
[INFO] [stderr]    |
[INFO] [stderr] 58 |     let mut stdout: process::ChildStdout = try!(process.stdout.ok_or(CommandError::StdOut));
[INFO] [stderr]    |                                            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/convert_book/index.rs:17:17
[INFO] [stderr]    |
[INFO] [stderr] 17 |     let files = try!(fs::read_dir(&Path::new(path)))
[INFO] [stderr]    |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/convert_book/index.rs:43:17
[INFO] [stderr]    |
[INFO] [stderr] 43 |     let files = try!(list_file_groups(path));
[INFO] [stderr]    |                 ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/convert_book/markdown.rs:69:15
[INFO] [stderr]    |
[INFO] [stderr] 69 |     let toc = try!(file::get_file_content(&src_path.join("SUMMARY.md")));
[INFO] [stderr]    |               ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/convert_book/markdown.rs:79:20
[INFO] [stderr]    |
[INFO] [stderr] 79 |         let file = try!(file::get_file_content(&src_path.join("README.md")));
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/convert_book/markdown.rs:80:27
[INFO] [stderr]    |
[INFO] [stderr] 80 |         let mut content = try!(adjust_header_level::adjust_header_level(&file, 1));
[INFO] [stderr]    |                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/convert_book/markdown.rs:81:19
[INFO] [stderr]    |
[INFO] [stderr] 81 |         content = try!(remove_file_title::remove_file_title(&content));
[INFO] [stderr]    |                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/convert_book/markdown.rs:82:19
[INFO] [stderr]    |
[INFO] [stderr] 82 |         content = try!(adjust_reference_names::adjust_reference_name(&content, "readme"));
[INFO] [stderr]    |                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/convert_book/markdown.rs:83:19
[INFO] [stderr]    |
[INFO] [stderr] 83 |         content = try!(normalize::normalize(&content));
[INFO] [stderr]    |                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/convert_book/markdown.rs:94:20
[INFO] [stderr]    |
[INFO] [stderr] 94 |         let file = try!(file::get_file_content(&src_path.join(&chapter.file)));
[INFO] [stderr]    |                    ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/convert_book/markdown.rs:96:27
[INFO] [stderr]    |
[INFO] [stderr] 96 |         let mut content = try!(adjust_header_level::adjust_header_level(&file, 3));
[INFO] [stderr]    |                           ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/convert_book/markdown.rs:97:19
[INFO] [stderr]    |
[INFO] [stderr] 97 |         content = try!(remove_file_title::remove_file_title(&content));
[INFO] [stderr]    |                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/convert_book/markdown.rs:98:19
[INFO] [stderr]    |
[INFO] [stderr] 98 |         content = try!(adjust_reference_names::adjust_reference_name(&content, &chapter.file));
[INFO] [stderr]    |                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/convert_book/markdown.rs:99:19
[INFO] [stderr]    |
[INFO] [stderr] 99 |         content = try!(normalize::normalize(&content));
[INFO] [stderr]    |                   ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/convert_book/pandoc.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 20 |     try!(run(&opts, &book));
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/convert_book/mod.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 |     try!(helpers::file::write_string_to_file(&book,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/convert_book/mod.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 27 |     try!(save_as(&book, prefix, "html", options::HTML));
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/convert_book/mod.rs:28:5
[INFO] [stderr]    |
[INFO] [stderr] 28 |     try!(save_as(&book, prefix, "epub", options::EPUB));
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/convert_book/mod.rs:31:5
[INFO] [stderr]    |
[INFO] [stderr] 31 |     try!(save_as(&cc_book, prefix, "tex", options::LATEX));
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/convert_book/mod.rs:34:5
[INFO] [stderr]    |
[INFO] [stderr] 34 |     try!(save_as(&plain_book,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/convert_book/mod.rs:38:5
[INFO] [stderr]    |
[INFO] [stderr] 38 |     try!(save_as(&plain_book,
[INFO] [stderr]    |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/convert_book/mod.rs:15:21
[INFO] [stderr]    |
[INFO] [stderr] 15 |     let meta_data = try!(helpers::file::get_file_content(meta_file));
[INFO] [stderr]    |                     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stderr]   --> src/convert_book/mod.rs:17:16
[INFO] [stderr]    |
[INFO] [stderr] 17 |     let book = try!(markdown::to_single_file(src_path,
[INFO] [stderr]    |                ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated trait `std::ascii::AsciiExt`: use inherent methods instead
[INFO] [stderr]  --> src/convert_book/index.rs:5:17
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::ascii::AsciiExt;
[INFO] [stderr]   |                 ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of deprecated trait `std::ascii::AsciiExt`: use inherent methods instead
[INFO] [stderr]  --> src/convert_book/pandoc.rs:2:17
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::ascii::AsciiExt;
[INFO] [stderr]   |                 ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/helpers/adjust_header_level.rs:9:88
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub fn adjust_header_level(input: &str, base_level: HeaderLevel) -> Result<String, Box<Error>> {
[INFO] [stderr]   |                                                                                        ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]   |
[INFO] [stderr] 9 | pub fn adjust_header_level(input: &str, base_level: HeaderLevel) -> Result<String, Box<dyn Error>> {
[INFO] [stderr]   |                                                                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/helpers/adjust_reference_names.rs:6:79
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub fn adjust_reference_name(input: &str, prefix: &str) -> Result<String, Box<Error>> {
[INFO] [stderr]   |                                                                               ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub fn adjust_reference_name(input: &str, prefix: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stderr]   |                                                                               +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/helpers/file.rs:6:72
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub fn get_file_content<P: AsRef<Path>>(path: P) -> Result<String, Box<Error>> {
[INFO] [stderr]   |                                                                        ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub fn get_file_content<P: AsRef<Path>>(path: P) -> Result<String, Box<dyn Error>> {
[INFO] [stderr]   |                                                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/helpers/file.rs:13:72
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub fn write_string_to_file(input: &str, name: &str) -> Result<(), Box<Error>> {
[INFO] [stderr]    |                                                                        ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 13 | pub fn write_string_to_file(input: &str, name: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stderr]    |                                                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/helpers/line_breaks.rs:3:85
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub fn break_long_line(line: &str, max_len: usize, sep: &str) -> Result<String, Box<Error>> {
[INFO] [stderr]   |                                                                                     ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub fn break_long_line(line: &str, max_len: usize, sep: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stderr]   |                                                                                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/helpers/normalize.rs:6:55
[INFO] [stderr]   |
[INFO] [stderr] 6 | fn normalize_links(input: &str) -> Result<String, Box<Error>> {
[INFO] [stderr]   |                                                       ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]   |
[INFO] [stderr] 6 | fn normalize_links(input: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stderr]   |                                                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/helpers/normalize.rs:34:54
[INFO] [stderr]    |
[INFO] [stderr] 34 | fn normalize_math(input: &str) -> Result<String, Box<Error>> {
[INFO] [stderr]    |                                                      ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 34 | fn normalize_math(input: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stderr]    |                                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/helpers/normalize.rs:40:53
[INFO] [stderr]    |
[INFO] [stderr] 40 | pub fn normalize(input: &str) -> Result<String, Box<Error>> {
[INFO] [stderr]    |                                                     ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 40 | pub fn normalize(input: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stderr]    |                                                     +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/helpers/normalize_code_blocks.rs:8:88
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub fn break_code_blocks(input: &str, max_len: usize, sep: &str) -> Result<String, Box<Error>> {
[INFO] [stderr]   |                                                                                        ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]   |
[INFO] [stderr] 8 | pub fn break_code_blocks(input: &str, max_len: usize, sep: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stderr]   |                                                                                        +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/helpers/normalize_code_blocks.rs:29:64
[INFO] [stderr]    |
[INFO] [stderr] 29 | pub fn normalize_code_start(input: &str) -> Result<String, Box<Error>> {
[INFO] [stderr]    |                                                                ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 29 | pub fn normalize_code_start(input: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stderr]    |                                                                +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/helpers/remove_file_title.rs:4:61
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub fn remove_file_title(input: &str) -> Result<String, Box<Error>> {
[INFO] [stderr]   |                                                             ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub fn remove_file_title(input: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stderr]   |                                                             +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/helpers/shell_pipe.rs:31:74
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub fn run(command: &str, args: &str, input: &str) -> Result<String, Box<Error>> {
[INFO] [stderr]    |                                                                          ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub fn run(command: &str, args: &str, input: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stderr]    |                                                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/convert_book/mod.rs:14:86
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub fn render_book(prefix: &str, src_path: &Path, meta_file: &str) -> Result<(), Box<Error>> {
[INFO] [stderr]    |                                                                                      ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub fn render_book(prefix: &str, src_path: &Path, meta_file: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stderr]    |                                                                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/convert_book/index.rs:14:60
[INFO] [stderr]    |
[INFO] [stderr] 14 | fn list_file_groups(path: &str) -> Result<FileListing, Box<Error>> {
[INFO] [stderr]    |                                                            ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 14 | fn list_file_groups(path: &str) -> Result<FileListing, Box<dyn Error>> {
[INFO] [stderr]    |                                                            +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/convert_book/index.rs:40:55
[INFO] [stderr]    |
[INFO] [stderr] 40 | pub fn render_index(path: &str) -> Result<String, Box<Error>> {
[INFO] [stderr]    |                                                       ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 40 | pub fn render_index(path: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stderr]    |                                                       +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/convert_book/markdown.rs:66:74
[INFO] [stderr]    |
[INFO] [stderr] 66 | pub fn to_single_file(src_path: &Path, meta: &str) -> Result<String, Box<Error>> {
[INFO] [stderr]    |                                                                          ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 66 | pub fn to_single_file(src_path: &Path, meta: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stderr]    |                                                                          +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]  --> src/convert_book/pandoc.rs:7:59
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub fn run(args: &str, input: &str) -> Result<String, Box<Error>> {
[INFO] [stderr]   |                                                           ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]   |
[INFO] [stderr] 7 | pub fn run(args: &str, input: &str) -> Result<String, Box<dyn Error>> {
[INFO] [stderr]   |                                                           +++
[INFO] [stderr] 
[INFO] [stderr] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stderr]   --> src/convert_book/pandoc.rs:11:86
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub fn save_as(book: &str, prefix: &str, format: &str, opts: &str) -> Result<(), Box<Error>> {
[INFO] [stderr]    |                                                                                      ^^^^^
[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 <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stderr] help: use `dyn`
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub fn save_as(book: &str, prefix: &str, format: &str, opts: &str) -> Result<(), Box<dyn Error>> {
[INFO] [stderr]    |                                                                                      +++
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ascii::AsciiExt`
[INFO] [stderr]  --> src/convert_book/index.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::ascii::AsciiExt;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ascii::AsciiExt`
[INFO] [stderr]  --> src/convert_book/pandoc.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::ascii::AsciiExt;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `compile-trpl` (bin "compile-trpl" test) generated 58 warnings (run `cargo fix --bin "compile-trpl" --tests` to apply 18 suggestions)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.02s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: rustc-serialize v0.3.24
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 1`
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/compile_trpl-2c509f74857386ed)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test convert_book::pandoc::dry_run ... ignored
[INFO] [stdout] test helpers::adjust_header_level::header_level_calculation ... ok
[INFO] [stdout] test helpers::line_breaks::break_long_lines ... ok
[INFO] [stdout] test helpers::normalize_code_blocks::code_block_breaking ... ok
[INFO] [stdout] test helpers::convert_checkmarks::checkmark_conversion ... ok
[INFO] [stdout] test helpers::adjust_reference_names::reference_renamer ... ok
[INFO] [stdout] test helpers::normalize_code_blocks::code_block_starts ... ok
[INFO] [stdout] test helpers::remove_emojis::emoji_removal ... ok
[INFO] [stdout] test helpers::shell_pipe::dry_run ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "9c4fefb47ab909d0228b61ad621eb3f7d094df4897d86fc6396813443d4342ee", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9c4fefb47ab909d0228b61ad621eb3f7d094df4897d86fc6396813443d4342ee", kill_on_drop: false }`
[INFO] [stdout] 9c4fefb47ab909d0228b61ad621eb3f7d094df4897d86fc6396813443d4342ee
[INFO] testing killercup/trpl-ebook against beta-2023-12-22 for beta-1.76-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fkillercup%2Ftrpl-ebook" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/killercup/trpl-ebook on toolchain beta-2023-12-22
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2023-12-22" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/killercup/trpl-ebook
[INFO] finished tweaking git repo https://github.com/killercup/trpl-ebook
[INFO] tweaked toml for git repo https://github.com/killercup/trpl-ebook written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/killercup/trpl-ebook 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" "+beta-2023-12-22" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-12-22" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e8bccb0009f3b171066f703f33faf20ce0ceffd1e6eca8a4337cdc28d9aee4fc
[INFO] running `Command { std: "docker" "start" "-a" "e8bccb0009f3b171066f703f33faf20ce0ceffd1e6eca8a4337cdc28d9aee4fc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e8bccb0009f3b171066f703f33faf20ce0ceffd1e6eca8a4337cdc28d9aee4fc", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e8bccb0009f3b171066f703f33faf20ce0ceffd1e6eca8a4337cdc28d9aee4fc", kill_on_drop: false }`
[INFO] [stdout] e8bccb0009f3b171066f703f33faf20ce0ceffd1e6eca8a4337cdc28d9aee4fc
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-12-22" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e2afde5cda3ea84df9b01f223ef3fb6c4e7de96e8d3dccaad36c57002c88e9cf
[INFO] running `Command { std: "docker" "start" "-a" "e2afde5cda3ea84df9b01f223ef3fb6c4e7de96e8d3dccaad36c57002c88e9cf", kill_on_drop: false }`
[INFO] [stderr]    Compiling winapi-build v0.1.1
[INFO] [stderr]    Compiling libc v0.2.16
[INFO] [stderr]    Compiling winapi v0.2.8
[INFO] [stderr]    Compiling utf8-ranges v0.1.3
[INFO] [stderr]    Compiling regex-syntax v0.3.5
[INFO] [stderr]    Compiling lazy_static v0.2.1
[INFO] [stderr]    Compiling rustc-serialize v0.3.24
[INFO] [stderr]    Compiling strsim v0.5.1
[INFO] [stderr]    Compiling kernel32-sys v0.2.2
[INFO] [stderr]    Compiling memchr v0.1.11
[INFO] [stdout] error[E0310]: the parameter type `T` may not live long enough
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/rustc-serialize-0.3.24/src/serialize.rs:1155:5
[INFO] [stdout]      |
[INFO] [stdout] 1155 |     fn decode<D: Decoder>(d: &mut D) -> Result<Cow<'static, T>, D::Error> {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |     |
[INFO] [stdout]      |     the parameter type `T` must be valid for the static lifetime...
[INFO] [stdout]      |     ...so that the type `T` will meet its required lifetime bounds...
[INFO] [stdout]      |
[INFO] [stdout] note: ...that is required by this bound
[INFO] [stdout]     --> /rustc/0e09125c6c3c2fd70d7de961bcf0e51575235fad/library/alloc/src/borrow.rs:180:30
[INFO] [stdout] help: consider adding an explicit lifetime bound
[INFO] [stdout]      |
[INFO] [stdout] 1151 | impl<'a, T: ?Sized + 'static> Decodable for Cow<'a, T>
[INFO] [stdout]      |                    +++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling aho-corasick v0.5.3
[INFO] [stderr]    Compiling thread-id v2.0.0
[INFO] [stderr]    Compiling thread_local v0.2.7
[INFO] [stderr]    Compiling regex v0.1.77
[INFO] [stdout] error: aborting due to 1 previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0310`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rustc-serialize` (lib) due to 2 previous errors
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] running `Command { std: "docker" "inspect" "e2afde5cda3ea84df9b01f223ef3fb6c4e7de96e8d3dccaad36c57002c88e9cf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e2afde5cda3ea84df9b01f223ef3fb6c4e7de96e8d3dccaad36c57002c88e9cf", kill_on_drop: false }`
[INFO] [stdout] e2afde5cda3ea84df9b01f223ef3fb6c4e7de96e8d3dccaad36c57002c88e9cf
