[INFO] fetching crate prema 0.1.10...
[INFO] building prema-0.1.10 against master#c7f6aa2869acdbf014d094c6e427e554e160b6db for pr-146237-2
[INFO] extracting crate prema 0.1.10 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate prema 0.1.10
[INFO] finished tweaking crates.io crate prema 0.1.10
[INFO] tweaked toml for crates.io crate prema 0.1.10 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate prema 0.1.10 on toolchain c7f6aa2869acdbf014d094c6e427e554e160b6db
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate prema 0.1.10 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" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded ascii v1.1.0
[INFO] [stderr]   Downloaded unicode-id v0.3.4
[INFO] [stderr]   Downloaded indexmap v2.8.0
[INFO] [stderr]   Downloaded chunked_transfer v1.5.0
[INFO] [stderr]   Downloaded tiny_http v0.12.0
[INFO] [stderr]   Downloaded markdown v1.0.0-alpha.23
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 57053a1a3364027bd6aa04d543567fd3ed6312219073a787973ac161abce94fa
[INFO] running `Command { std: "docker" "start" "-a" "57053a1a3364027bd6aa04d543567fd3ed6312219073a787973ac161abce94fa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "57053a1a3364027bd6aa04d543567fd3ed6312219073a787973ac161abce94fa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "57053a1a3364027bd6aa04d543567fd3ed6312219073a787973ac161abce94fa", kill_on_drop: false }`
[INFO] [stdout] 57053a1a3364027bd6aa04d543567fd3ed6312219073a787973ac161abce94fa
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 781d99e1a62325fa78fc52037f4b0febb831f9306062d2f7e3991bf98487d116
[INFO] running `Command { std: "docker" "start" "-a" "781d99e1a62325fa78fc52037f4b0febb831f9306062d2f7e3991bf98487d116", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.94
[INFO] [stderr]    Compiling libc v0.2.171
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling hashbrown v0.15.2
[INFO] [stderr]    Compiling ansi_term v0.12.1
[INFO] [stderr]    Compiling heck v0.3.3
[INFO] [stderr]    Compiling chunked_transfer v1.5.0
[INFO] [stderr]    Compiling ascii v1.1.0
[INFO] [stderr]    Compiling toml_datetime v0.6.8
[INFO] [stderr]    Compiling iana-time-zone v0.1.63
[INFO] [stderr]    Compiling winnow v0.7.4
[INFO] [stderr]    Compiling unicode-id v0.3.4
[INFO] [stderr]    Compiling maplit v1.0.2
[INFO] [stderr]    Compiling markdown v1.0.0-alpha.23
[INFO] [stderr]    Compiling tiny_http v0.12.0
[INFO] [stderr]    Compiling chrono v0.4.40
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling indexmap v2.8.0
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling toml_edit v0.22.24
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling structopt-derive v0.4.18
[INFO] [stderr]    Compiling structopt v0.3.26
[INFO] [stderr]    Compiling prema v0.1.10 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::file`
[INFO] [stdout]  --> src/cli.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::file;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Any` and `type_name`
[INFO] [stdout]   --> src/cli.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::any::{type_name, Any};
[INFO] [stdout]    |                ^^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]   --> src/cli.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::fs::File;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]   --> src/cli.rs:13:22
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::io::{stdin, Read, Write};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Display` and `PathBuf`
[INFO] [stdout]   --> src/cli.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::path::{Display, Path, PathBuf};
[INFO] [stdout]    |                 ^^^^^^^        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead`, `BufReader`, and `self`
[INFO] [stdout]  --> src/page.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{self, BufRead, BufReader};
[INFO] [stdout]   |               ^^^^  ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/page.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::layout::{self, toml_to_html};
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/page.rs:9:24
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]   --> src/page.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::fs::File;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]   --> src/page.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::io::{Read, Write};
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/page.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |           /// 현재 페이지의 태그를 추가
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 | /         for page in &self.pages {
[INFO] [stdout] 36 | |             let sub_page_tags = page.collect_tags();
[INFO] [stdout] 37 | |             tags.extend(sub_page_tags); // 하위 페이지에서 수집된 태그를 추가
[INFO] [stdout] 38 | |         }
[INFO] [stdout]    | |_________- rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Any` and `type_name`
[INFO] [stdout]  --> src/server.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::any::{type_name, Any};
[INFO] [stdout]   |                ^^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/server.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Write` and `stdin`
[INFO] [stdout]  --> src/server.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::{stdin, Read, Write};
[INFO] [stdout]   |               ^^^^^        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Display` and `PathBuf`
[INFO] [stdout]  --> src/server.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::path::{Display, Path, PathBuf};
[INFO] [stdout]   |                 ^^^^^^^        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `structopt::StructOpt`
[INFO] [stdout]  --> src/server.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use structopt::StructOpt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Local`
[INFO] [stdout]  --> src/server.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use chrono::Local;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::option::load_option`
[INFO] [stdout]  --> src/file.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::option::load_option;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::page::Page`
[INFO] [stdout]  --> src/file.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::page::Page;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/html.rs:146:131
[INFO] [stdout]     |
[INFO] [stdout] 146 | ...ajax/libs/highlight.js/11.9.0/styles/atom-one-{}.min.css", if (is_dark) { "dark" } else { "light" }),
[INFO] [stdout]     |                                                                  ^       ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 146 -         "href".to_string() => format!("https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/atom-one-{}.min.css", if (is_dark) { "dark" } else { "light" }),
[INFO] [stdout] 146 +         "href".to_string() => format!("https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/atom-one-{}.min.css", if is_dark  { "dark" } else { "light" }),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `filter_attrs`
[INFO] [stdout]  --> src/layout/view.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::html::{filter_attrs, HTMLView};
[INFO] [stdout]   |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::page::Page`
[INFO] [stdout]  --> src/layout/view.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::page::Page;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DocumentMut` and `value`
[INFO] [stdout]  --> src/layout/view.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use toml_edit::{value, DocumentMut, Item, Table, Value};
[INFO] [stdout]   |                 ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashSet` and `PathBuf`
[INFO] [stdout]  --> src/layout/common.rs:2:28
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{HashMap, HashSet}, fs::File, io::Read, path::{Path, PathBuf}
[INFO] [stdout]   |                            ^^^^^^^                                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array`
[INFO] [stdout]  --> src/layout/common.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use toml_edit::{Array, DocumentMut, InlineTable, Item, Table, Value};
[INFO] [stdout]   |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `html::HTMLView`
[INFO] [stdout]  --> src/layout/common.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{html::HTMLView, layout::view::{ImageView, ListColumnView, ListRowView, MarkdownView}};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fs::File`
[INFO] [stdout]  --> src/markdown/mod.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fs::File, path::Path};
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HTMLNode` and `HTMLTag`
[INFO] [stdout]  --> src/markdown/parser.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::html::{HTMLNode, HTMLTag};
[INFO] [stdout]   |                   ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `markdown::message::Message`
[INFO] [stdout]  --> src/markdown/parser.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use markdown::message::Message;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/markdown/parser.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::option::ThemeValue`
[INFO] [stdout]   --> src/markdown/parser.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::option::ThemeValue;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::option::MDOption`
[INFO] [stdout]   --> src/markdown/parser.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::option::MDOption;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::page::Page`
[INFO] [stdout]  --> src/option.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::page::Page;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `value`
[INFO] [stdout]  --> src/option.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 | use toml_edit::{DocumentMut, value, Value, Item, Table};
[INFO] [stdout]   |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]   --> src/page.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::io::{Read, Write};
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/page.rs:167:19
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub fn find_title(path: &Path) -> Result<String, String> {
[INFO] [stdout]     |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/html.rs:281:42
[INFO] [stdout]     |
[INFO] [stdout] 281 |                     (0..depth).for_each(|x| str.push_str("\t"));
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/html.rs:285:38
[INFO] [stdout]     |
[INFO] [stdout] 285 |                 (0..depth).for_each(|x| str.push_str("\t"));
[INFO] [stdout]     |                                      ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/html.rs:369:9
[INFO] [stdout]     |
[INFO] [stdout] 369 |     let mut head = HTMLNode::new(HTMLTag::Head, &md_option);
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `super_view`
[INFO] [stdout]    --> src/layout/view.rs:145:24
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn htmlview(&self, super_view: Option<&dyn TOMLView>) -> HTMLView {
[INFO] [stdout]     |                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_super_view`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `super_view`
[INFO] [stdout]    --> src/layout/view.rs:335:24
[INFO] [stdout]     |
[INFO] [stdout] 335 |     fn htmlview(&self, super_view: Option<&dyn TOMLView>) -> HTMLView {
[INFO] [stdout]     |                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_super_view`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `super_view`
[INFO] [stdout]    --> src/layout/view.rs:518:24
[INFO] [stdout]     |
[INFO] [stdout] 518 |     fn htmlview(&self, super_view: Option<&dyn TOMLView>) -> HTMLView {
[INFO] [stdout]     |                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_super_view`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/layout/view.rs:567:37
[INFO] [stdout]     |
[INFO] [stdout] 567 |     fn set_inner_padding(&mut self, value: String) {}
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `super_view`
[INFO] [stdout]    --> src/layout/view.rs:686:24
[INFO] [stdout]     |
[INFO] [stdout] 686 |     fn htmlview(&self, super_view: Option<&dyn TOMLView>) -> HTMLView {
[INFO] [stdout]     |                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_super_view`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `super_view`
[INFO] [stdout]    --> src/layout/view.rs:813:24
[INFO] [stdout]     |
[INFO] [stdout] 813 |     fn htmlview(&self, super_view: Option<&dyn TOMLView>) -> HTMLView {
[INFO] [stdout]     |                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_super_view`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/layout/view.rs:814:13
[INFO] [stdout]     |
[INFO] [stdout] 814 |         let mut img_style_parts = vec![
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `super_view`
[INFO] [stdout]    --> src/layout/view.rs:919:24
[INFO] [stdout]     |
[INFO] [stdout] 919 |     fn htmlview(&self, super_view: Option<&dyn TOMLView>) -> HTMLView {  
[INFO] [stdout]     |                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_super_view`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `super_view`
[INFO] [stdout]     --> src/layout/view.rs:1032:24
[INFO] [stdout]      |
[INFO] [stdout] 1032 |     fn htmlview(&self, super_view: Option<&dyn TOMLView>) -> HTMLView {
[INFO] [stdout]      |                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_super_view`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `super_view`
[INFO] [stdout]     --> src/layout/view.rs:1219:24
[INFO] [stdout]      |
[INFO] [stdout] 1219 |     fn htmlview(&self, super_view: Option<&dyn TOMLView>) -> HTMLView {
[INFO] [stdout]      |                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_super_view`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]     --> src/layout/view.rs:1442:17
[INFO] [stdout]      |
[INFO] [stdout] 1442 |             Err(message) => {
[INFO] [stdout]      |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `super_view`
[INFO] [stdout]     --> src/layout/view.rs:1394:24
[INFO] [stdout]      |
[INFO] [stdout] 1394 |     fn htmlview(&self, super_view: Option<&dyn TOMLView>) -> HTMLView {
[INFO] [stdout]      |                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_super_view`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/layout/common.rs:39:62
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn item_to_bool(table: &Table, key: &str, default: bool, value: Option<&InlineTable>) -> bool {
[INFO] [stdout]    |                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/layout/common.rs:99:37
[INFO] [stdout]    |
[INFO] [stdout] 99 | ...                   for (k, v) in table {
[INFO] [stdout]    |                               ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]   --> src/markdown/parser.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |         Err(message) => Err("no file"),
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/markdown/parser.rs:195:29
[INFO] [stdout]     |
[INFO] [stdout] 195 |         Node::ThematicBreak(node) => HTMLView {
[INFO] [stdout]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/option.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let mut doc = config_str.parse::<DocumentMut>()
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Menu` is more private than the item `MDOption::menus`
[INFO] [stdout]    --> src/option.rs:96:5
[INFO] [stdout]     |
[INFO] [stdout]  96 |     pub menus: Vec<Menu>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^ field `MDOption::menus` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Menu` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/option.rs:132:1
[INFO] [stdout]     |
[INFO] [stdout] 132 | struct Menu {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `title` is never read
[INFO] [stdout]   --> src/page.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Page {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     title: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `collect_tags` is never used
[INFO] [stdout]   --> src/page.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl Page {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 24 |     fn collect_tags(&self) -> HashSet<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_first_non_empty_line` is never used
[INFO] [stdout]  --> src/file.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn read_first_non_empty_line(path: &Path) -> Result<String, &'static str> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_images` is never used
[INFO] [stdout]   --> src/file.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub fn find_images(path: &Path) -> Result<Vec<PathBuf>, String> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `change_root` is never used
[INFO] [stdout]   --> src/file.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn change_root(root: &Path, path: &Path) -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_file_timestamps` is never used
[INFO] [stdout]   --> src/file.rs:54:8
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn get_file_timestamps(path: &Path) -> io::Result<(Option<SystemTime>, Option<SystemTime>)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `wrap_div` is never used
[INFO] [stdout]    --> src/html.rs:120:12
[INFO] [stdout]     |
[INFO] [stdout]  29 | impl HTMLView {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn wrap_div(&self, attrs: HashMap<String, String>) -> HTMLView {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `HTMLTag` is never used
[INFO] [stdout]    --> src/html.rs:166:10
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub enum HTMLTag {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HTMLNode` is never constructed
[INFO] [stdout]    --> src/html.rs:199:12
[INFO] [stdout]     |
[INFO] [stdout] 199 | pub struct HTMLNode {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/html.rs:207:12
[INFO] [stdout]     |
[INFO] [stdout] 206 | impl HTMLNode {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 207 |     pub fn new(tag: HTMLTag, md_option: &Option<MDOption>) -> HTMLNode {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 218 |     pub fn from_attributes(tag: HTMLTag, attributes: HashMap<&'static str, String>, md_option: &Option<MDOption>) -> HTMLNode {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     pub fn from_value(tag: HTMLTag, value: String, md_option: &Option<MDOption>) -> HTMLNode {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 234 |     pub fn from_children(tag: HTMLTag, children: Vec<HTMLNode>, md_option: &Option<MDOption>) -> HTMLNode {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 242 |     pub fn from_attributes_children(tag: HTMLTag, attributes: HashMap<&'static str, String>, children: Vec<HTMLNode>, md_option: &Option<...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 251 |     pub fn from_attributes_value(tag: HTMLTag, attributes: HashMap<&'static str, String>, value: String, md_option: &Option<MDOption>) ->...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     pub fn html(&self, depth: usize) -> String {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `class` and `tag` are never used
[INFO] [stdout]    --> src/html.rs:299:12
[INFO] [stdout]     |
[INFO] [stdout] 297 | impl HTMLTag {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] 298 |
[INFO] [stdout] 299 |     pub fn class(&self, md_option: &Option<MDOption>) -> String {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 309 |     pub fn tag(&self) -> &'static str {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `footer` is never used
[INFO] [stdout]    --> src/html.rs:345:8
[INFO] [stdout]     |
[INFO] [stdout] 345 | pub fn footer(md_option: &Option<MDOption>) -> HTMLNode {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_html` is never used
[INFO] [stdout]    --> src/html.rs:363:4
[INFO] [stdout]     |
[INFO] [stdout] 363 | fn write_html(html_path: &Path, md_option: &Option<MDOption>, html: &String) -> Result<(), String> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PaddingType` is never used
[INFO] [stdout]  --> src/layout/padding.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum PaddingType {
[INFO] [stdout]   |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/layout/view.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub trait TOMLView: Any {
[INFO] [stdout]    |           -------- methods in this trait
[INFO] [stdout] 19 |     fn as_any(&self) -> &dyn Any;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 20 |     fn index_path(&self) -> PathBuf;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 21 |     fn shape(&self) -> String;
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 22 |     fn key(&self) -> String;
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 23 |     fn width(&self) -> String;
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 24 |     fn height(&self) -> String;
[INFO] [stdout] 25 |     fn background(&self) -> String;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 26 |     fn path(&self) -> String;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 27 |     fn value(&self) -> Option<InlineTable>;
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 28 |     fn dark(&self) -> bool;
[INFO] [stdout] 29 |     fn views(&self) -> &Vec<Box<dyn TOMLView>>;
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AllocationView` is never used
[INFO] [stdout]   --> src/layout/view.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 | trait AllocationView: TOMLView {
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `index_path` and `value` are never read
[INFO] [stdout]   --> src/layout/view.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct ColumnView {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 41 |     index_path: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     value: Option<InlineTable>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `index_path` and `value` are never read
[INFO] [stdout]    --> src/layout/view.rs:231:5
[INFO] [stdout]     |
[INFO] [stdout] 230 | pub struct RowView {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] 231 |     index_path: PathBuf,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 244 |     value: Option<InlineTable>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `index_path` and `value` are never read
[INFO] [stdout]    --> src/layout/view.rs:420:5
[INFO] [stdout]     |
[INFO] [stdout] 419 | pub struct BoxView {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] 420 |     index_path: PathBuf,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 431 |     value: Option<InlineTable>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `index_path`, `value`, and `views` are never read
[INFO] [stdout]    --> src/layout/view.rs:593:5
[INFO] [stdout]     |
[INFO] [stdout] 592 | pub struct TextView {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] 593 |     index_path: PathBuf,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 610 |     value: Option<InlineTable>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 611 |     dark: bool,
[INFO] [stdout] 612 |     views: Vec<Box<dyn TOMLView>>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `index_path`, `content_size`, `value`, and `views` are never read
[INFO] [stdout]    --> src/layout/view.rs:730:5
[INFO] [stdout]     |
[INFO] [stdout] 729 | pub struct ImageView {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 730 |     index_path: PathBuf,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 741 |     content_size: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 742 |     value: Option<InlineTable>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 743 |     dark: bool,
[INFO] [stdout] 744 |     views: Vec<Box<dyn TOMLView>>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/layout/view.rs:848:5
[INFO] [stdout]     |
[INFO] [stdout] 847 | pub struct NavView {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] 848 |     index_path: PathBuf,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 849 |     key: String,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 850 |     width: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 851 |     height: String,
[INFO] [stdout] 852 |     background: String,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 853 |     path: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 857 |     value: Option<InlineTable>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 858 |     dark: bool,
[INFO] [stdout] 859 |     views: Vec<Box<dyn TOMLView>>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `index_path` and `value` are never read
[INFO] [stdout]    --> src/layout/view.rs:929:5
[INFO] [stdout]     |
[INFO] [stdout] 928 | pub struct ListColumnView {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 929 |     index_path: PathBuf,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 942 |     value: Option<InlineTable>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `index_path` and `value` are never read
[INFO] [stdout]     --> src/layout/view.rs:1117:5
[INFO] [stdout]      |
[INFO] [stdout] 1116 | pub struct ListRowView {
[INFO] [stdout]      |            ----------- fields in this struct
[INFO] [stdout] 1117 |     index_path: PathBuf,
[INFO] [stdout]      |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1130 |     value: Option<InlineTable>,
[INFO] [stdout]      |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `value` is never read
[INFO] [stdout]     --> src/layout/view.rs:1318:5
[INFO] [stdout]      |
[INFO] [stdout] 1303 | pub struct MarkdownView {
[INFO] [stdout]      |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1318 |     value: Option<InlineTable>,
[INFO] [stdout]      |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_value_in_inlinetable` is never used
[INFO] [stdout]   --> src/layout/common.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn get_value_in_inlinetable(key: &str, table: Option<InlineTable>) -> Option<Value> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_option` is never used
[INFO] [stdout]   --> src/option.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn load_option(path: &Path) -> Result<MDOption, &'static str> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_option` is never used
[INFO] [stdout]   --> src/option.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn find_option(path: &Path) -> Result<PathBuf, &'static str> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_option_from_toml` is never used
[INFO] [stdout]   --> src/option.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn load_option_from_toml(path: &Path) -> Result<MDOption, &'static str> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MDOption` is never constructed
[INFO] [stdout]   --> src/option.rs:95:12
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub struct MDOption {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `menus_to_html`, `footer_to_html`, `is_night`, and `tag` are never used
[INFO] [stdout]    --> src/option.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 102 | impl MDOption {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] 103 |     pub fn menus_to_html(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub fn footer_to_html(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn is_night(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn tag(&self) -> &Vec<String> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Menu` is never constructed
[INFO] [stdout]    --> src/option.rs:132:8
[INFO] [stdout]     |
[INFO] [stdout] 132 | struct Menu {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DropDown` is never constructed
[INFO] [stdout]    --> src/option.rs:139:8
[INFO] [stdout]     |
[INFO] [stdout] 139 | struct DropDown {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `menus_to_html` is never used
[INFO] [stdout]    --> src/option.rs:144:4
[INFO] [stdout]     |
[INFO] [stdout] 144 | fn menus_to_html(menus: &Vec<Menu>, md_option: &Option<MDOption>) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `table_to_menus` is never used
[INFO] [stdout]    --> src/option.rs:204:4
[INFO] [stdout]     |
[INFO] [stdout] 204 | fn table_to_menus(table: &Table) -> Vec<Menu> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ensure_leading_slash` is never used
[INFO] [stdout]    --> src/option.rs:234:4
[INFO] [stdout]     |
[INFO] [stdout] 234 | fn ensure_leading_slash(s: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `table_to_dropdowns` is never used
[INFO] [stdout]    --> src/option.rs:242:4
[INFO] [stdout]     |
[INFO] [stdout] 242 | fn table_to_dropdowns(table: &Table) -> Vec<DropDown> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Basic` is never constructed
[INFO] [stdout]    --> src/option.rs:263:12
[INFO] [stdout]     |
[INFO] [stdout] 263 | pub struct Basic {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Footer` is never constructed
[INFO] [stdout]    --> src/option.rs:270:12
[INFO] [stdout]     |
[INFO] [stdout] 270 | pub struct Footer {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FooterSNS` is never constructed
[INFO] [stdout]    --> src/option.rs:276:12
[INFO] [stdout]     |
[INFO] [stdout] 276 | pub struct FooterSNS {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `svg_html` is never used
[INFO] [stdout]    --> src/option.rs:282:8
[INFO] [stdout]     |
[INFO] [stdout] 281 | impl FooterSNS {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] 282 |     fn svg_html(&self) -> &str {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `footer_to_html` is never used
[INFO] [stdout]    --> src/option.rs:315:4
[INFO] [stdout]     |
[INFO] [stdout] 315 | fn footer_to_html(footer: &Footer, md_option: &Option<MDOption>) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `table_to_footer` is never used
[INFO] [stdout]    --> src/option.rs:339:4
[INFO] [stdout]     |
[INFO] [stdout] 339 | fn table_to_footer(table: &Table) -> Footer {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `table_to_snss` is never used
[INFO] [stdout]    --> src/option.rs:358:4
[INFO] [stdout]     |
[INFO] [stdout] 358 | fn table_to_snss(table: &Table) -> Vec<FooterSNS> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ThemeValue` is never used
[INFO] [stdout]    --> src/option.rs:379:10
[INFO] [stdout]     |
[INFO] [stdout] 379 | pub enum ThemeValue {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `table_to_themes` is never used
[INFO] [stdout]    --> src/option.rs:385:4
[INFO] [stdout]     |
[INFO] [stdout] 385 | fn table_to_themes(table: &Table) -> HashMap<String, ThemeValue> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `table_to_basic` is never used
[INFO] [stdout]    --> src/option.rs:400:4
[INFO] [stdout]     |
[INFO] [stdout] 400 | fn table_to_basic(table: &Table) -> Basic {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/page.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 96 |         copy_img_files_to_path(self.path.as_path(), new_path.as_path());
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let _ = copy_img_files_to_path(self.path.as_path(), new_path.as_path());
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.32s
[INFO] running `Command { std: "docker" "inspect" "781d99e1a62325fa78fc52037f4b0febb831f9306062d2f7e3991bf98487d116", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "781d99e1a62325fa78fc52037f4b0febb831f9306062d2f7e3991bf98487d116", kill_on_drop: false }`
[INFO] [stdout] 781d99e1a62325fa78fc52037f4b0febb831f9306062d2f7e3991bf98487d116
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+c7f6aa2869acdbf014d094c6e427e554e160b6db" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 182c762e7d0f80cbb08e82cafcdd0fb73fac65223aa5386e1fcb6b7e9b71cf4a
[INFO] running `Command { std: "docker" "start" "-a" "182c762e7d0f80cbb08e82cafcdd0fb73fac65223aa5386e1fcb6b7e9b71cf4a", kill_on_drop: false }`
[INFO] [stderr]    Compiling prema v0.1.10 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::file`
[INFO] [stdout]  --> src/cli.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::file;
[INFO] [stdout]   |     ^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Any` and `type_name`
[INFO] [stdout]   --> src/cli.rs:10:16
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::any::{type_name, Any};
[INFO] [stdout]    |                ^^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]   --> src/cli.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::fs::File;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]   --> src/cli.rs:13:22
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::io::{stdin, Read, Write};
[INFO] [stdout]    |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Display` and `PathBuf`
[INFO] [stdout]   --> src/cli.rs:14:17
[INFO] [stdout]    |
[INFO] [stdout] 14 | use std::path::{Display, Path, PathBuf};
[INFO] [stdout]    |                 ^^^^^^^        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `BufRead`, `BufReader`, and `self`
[INFO] [stdout]  --> src/page.rs:2:15
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::io::{self, BufRead, BufReader};
[INFO] [stdout]   |               ^^^^  ^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `self`
[INFO] [stdout]  --> src/page.rs:6:21
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::layout::{self, toml_to_html};
[INFO] [stdout]   |                     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashMap`
[INFO] [stdout]  --> src/page.rs:9:24
[INFO] [stdout]   |
[INFO] [stdout] 9 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fs::File`
[INFO] [stdout]   --> src/page.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::fs::File;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Read`
[INFO] [stdout]   --> src/page.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::io::{Read, Write};
[INFO] [stdout]    |               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]   --> src/page.rs:27:9
[INFO] [stdout]    |
[INFO] [stdout] 27 |           /// 현재 페이지의 태그를 추가
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 35 | /         for page in &self.pages {
[INFO] [stdout] 36 | |             let sub_page_tags = page.collect_tags();
[INFO] [stdout] 37 | |             tags.extend(sub_page_tags); // 하위 페이지에서 수집된 태그를 추가
[INFO] [stdout] 38 | |         }
[INFO] [stdout]    | |_________- rustdoc does not generate documentation for expressions
[INFO] [stdout]    |
[INFO] [stdout]    = help: use `//` for a plain comment
[INFO] [stdout]    = note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Any` and `type_name`
[INFO] [stdout]  --> src/server.rs:1:16
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::any::{type_name, Any};
[INFO] [stdout]   |                ^^^^^^^^^  ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::fmt::Debug`
[INFO] [stdout]  --> src/server.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::Debug;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Write` and `stdin`
[INFO] [stdout]  --> src/server.rs:4:15
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::io::{stdin, Read, Write};
[INFO] [stdout]   |               ^^^^^        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Display` and `PathBuf`
[INFO] [stdout]  --> src/server.rs:5:17
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::path::{Display, Path, PathBuf};
[INFO] [stdout]   |                 ^^^^^^^        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `structopt::StructOpt`
[INFO] [stdout]  --> src/server.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use structopt::StructOpt;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Local`
[INFO] [stdout]  --> src/server.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use chrono::Local;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::option::load_option`
[INFO] [stdout]  --> src/file.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::option::load_option;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::page::Page`
[INFO] [stdout]  --> src/file.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::page::Page;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around `if` condition
[INFO] [stdout]    --> src/html.rs:146:131
[INFO] [stdout]     |
[INFO] [stdout] 146 | ...ajax/libs/highlight.js/11.9.0/styles/atom-one-{}.min.css", if (is_dark) { "dark" } else { "light" }),
[INFO] [stdout]     |                                                                  ^       ^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]     |
[INFO] [stdout] 146 -         "href".to_string() => format!("https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/atom-one-{}.min.css", if (is_dark) { "dark" } else { "light" }),
[INFO] [stdout] 146 +         "href".to_string() => format!("https://cdnjs.cloudflare.com/ajax/libs/highlight.js/11.9.0/styles/atom-one-{}.min.css", if is_dark  { "dark" } else { "light" }),
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `filter_attrs`
[INFO] [stdout]  --> src/layout/view.rs:1:19
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::html::{filter_attrs, HTMLView};
[INFO] [stdout]   |                   ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::page::Page`
[INFO] [stdout]  --> src/layout/view.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::page::Page;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DocumentMut` and `value`
[INFO] [stdout]  --> src/layout/view.rs:8:17
[INFO] [stdout]   |
[INFO] [stdout] 8 | use toml_edit::{value, DocumentMut, Item, Table, Value};
[INFO] [stdout]   |                 ^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashSet` and `PathBuf`
[INFO] [stdout]  --> src/layout/common.rs:2:28
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::{HashMap, HashSet}, fs::File, io::Read, path::{Path, PathBuf}
[INFO] [stdout]   |                            ^^^^^^^                                    ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Array`
[INFO] [stdout]  --> src/layout/common.rs:4:17
[INFO] [stdout]   |
[INFO] [stdout] 4 | use toml_edit::{Array, DocumentMut, InlineTable, Item, Table, Value};
[INFO] [stdout]   |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `html::HTMLView`
[INFO] [stdout]  --> src/layout/common.rs:6:13
[INFO] [stdout]   |
[INFO] [stdout] 6 | use crate::{html::HTMLView, layout::view::{ImageView, ListColumnView, ListRowView, MarkdownView}};
[INFO] [stdout]   |             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fs::File`
[INFO] [stdout]  --> src/markdown/mod.rs:1:11
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::{fs::File, path::Path};
[INFO] [stdout]   |           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HTMLNode` and `HTMLTag`
[INFO] [stdout]  --> src/markdown/parser.rs:2:19
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::html::{HTMLNode, HTMLTag};
[INFO] [stdout]   |                   ^^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `markdown::message::Message`
[INFO] [stdout]  --> src/markdown/parser.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use markdown::message::Message;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/markdown/parser.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::option::ThemeValue`
[INFO] [stdout]   --> src/markdown/parser.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use crate::option::ThemeValue;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::option::MDOption`
[INFO] [stdout]   --> src/markdown/parser.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::option::MDOption;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::page::Page`
[INFO] [stdout]  --> src/option.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::page::Page;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `value`
[INFO] [stdout]  --> src/option.rs:7:30
[INFO] [stdout]   |
[INFO] [stdout] 7 | use toml_edit::{DocumentMut, value, Value, Item, Table};
[INFO] [stdout]   |                              ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]   --> src/page.rs:12:21
[INFO] [stdout]    |
[INFO] [stdout] 12 | use std::io::{Read, Write};
[INFO] [stdout]    |                     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `path`
[INFO] [stdout]    --> src/page.rs:167:19
[INFO] [stdout]     |
[INFO] [stdout] 167 | pub fn find_title(path: &Path) -> Result<String, String> {
[INFO] [stdout]     |                   ^^^^ help: if this is intentional, prefix it with an underscore: `_path`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/html.rs:281:42
[INFO] [stdout]     |
[INFO] [stdout] 281 |                     (0..depth).for_each(|x| str.push_str("\t"));
[INFO] [stdout]     |                                          ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `x`
[INFO] [stdout]    --> src/html.rs:285:38
[INFO] [stdout]     |
[INFO] [stdout] 285 |                 (0..depth).for_each(|x| str.push_str("\t"));
[INFO] [stdout]     |                                      ^ help: if this is intentional, prefix it with an underscore: `_x`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/html.rs:369:9
[INFO] [stdout]     |
[INFO] [stdout] 369 |     let mut head = HTMLNode::new(HTMLTag::Head, &md_option);
[INFO] [stdout]     |         ----^^^^
[INFO] [stdout]     |         |
[INFO] [stdout]     |         help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `super_view`
[INFO] [stdout]    --> src/layout/view.rs:145:24
[INFO] [stdout]     |
[INFO] [stdout] 145 |     fn htmlview(&self, super_view: Option<&dyn TOMLView>) -> HTMLView {
[INFO] [stdout]     |                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_super_view`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `super_view`
[INFO] [stdout]    --> src/layout/view.rs:335:24
[INFO] [stdout]     |
[INFO] [stdout] 335 |     fn htmlview(&self, super_view: Option<&dyn TOMLView>) -> HTMLView {
[INFO] [stdout]     |                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_super_view`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `super_view`
[INFO] [stdout]    --> src/layout/view.rs:518:24
[INFO] [stdout]     |
[INFO] [stdout] 518 |     fn htmlview(&self, super_view: Option<&dyn TOMLView>) -> HTMLView {
[INFO] [stdout]     |                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_super_view`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]    --> src/layout/view.rs:567:37
[INFO] [stdout]     |
[INFO] [stdout] 567 |     fn set_inner_padding(&mut self, value: String) {}
[INFO] [stdout]     |                                     ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `super_view`
[INFO] [stdout]    --> src/layout/view.rs:686:24
[INFO] [stdout]     |
[INFO] [stdout] 686 |     fn htmlview(&self, super_view: Option<&dyn TOMLView>) -> HTMLView {
[INFO] [stdout]     |                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_super_view`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `super_view`
[INFO] [stdout]    --> src/layout/view.rs:813:24
[INFO] [stdout]     |
[INFO] [stdout] 813 |     fn htmlview(&self, super_view: Option<&dyn TOMLView>) -> HTMLView {
[INFO] [stdout]     |                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_super_view`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/layout/view.rs:814:13
[INFO] [stdout]     |
[INFO] [stdout] 814 |         let mut img_style_parts = vec![
[INFO] [stdout]     |             ----^^^^^^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `super_view`
[INFO] [stdout]    --> src/layout/view.rs:919:24
[INFO] [stdout]     |
[INFO] [stdout] 919 |     fn htmlview(&self, super_view: Option<&dyn TOMLView>) -> HTMLView {  
[INFO] [stdout]     |                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_super_view`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `super_view`
[INFO] [stdout]     --> src/layout/view.rs:1032:24
[INFO] [stdout]      |
[INFO] [stdout] 1032 |     fn htmlview(&self, super_view: Option<&dyn TOMLView>) -> HTMLView {
[INFO] [stdout]      |                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_super_view`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `super_view`
[INFO] [stdout]     --> src/layout/view.rs:1219:24
[INFO] [stdout]      |
[INFO] [stdout] 1219 |     fn htmlview(&self, super_view: Option<&dyn TOMLView>) -> HTMLView {
[INFO] [stdout]      |                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_super_view`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]     --> src/layout/view.rs:1442:17
[INFO] [stdout]      |
[INFO] [stdout] 1442 |             Err(message) => {
[INFO] [stdout]      |                 ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `super_view`
[INFO] [stdout]     --> src/layout/view.rs:1394:24
[INFO] [stdout]      |
[INFO] [stdout] 1394 |     fn htmlview(&self, super_view: Option<&dyn TOMLView>) -> HTMLView {
[INFO] [stdout]      |                        ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_super_view`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `value`
[INFO] [stdout]   --> src/layout/common.rs:39:62
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub fn item_to_bool(table: &Table, key: &str, default: bool, value: Option<&InlineTable>) -> bool {
[INFO] [stdout]    |                                                              ^^^^^ help: if this is intentional, prefix it with an underscore: `_value`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `v`
[INFO] [stdout]   --> src/layout/common.rs:99:37
[INFO] [stdout]    |
[INFO] [stdout] 99 | ...                   for (k, v) in table {
[INFO] [stdout]    |                               ^ help: if this is intentional, prefix it with an underscore: `_v`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]   --> src/markdown/parser.rs:20:13
[INFO] [stdout]    |
[INFO] [stdout] 20 |         Err(message) => Err("no file"),
[INFO] [stdout]    |             ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node`
[INFO] [stdout]    --> src/markdown/parser.rs:195:29
[INFO] [stdout]     |
[INFO] [stdout] 195 |         Node::ThematicBreak(node) => HTMLView {
[INFO] [stdout]     |                             ^^^^ help: if this is intentional, prefix it with an underscore: `_node`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/option.rs:55:9
[INFO] [stdout]    |
[INFO] [stdout] 55 |     let mut doc = config_str.parse::<DocumentMut>()
[INFO] [stdout]    |         ----^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `Menu` is more private than the item `MDOption::menus`
[INFO] [stdout]    --> src/option.rs:96:5
[INFO] [stdout]     |
[INFO] [stdout]  96 |     pub menus: Vec<Menu>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^ field `MDOption::menus` is reachable at visibility `pub(crate)`
[INFO] [stdout]     |
[INFO] [stdout] note: but type `Menu` is only usable at visibility `pub(self)`
[INFO] [stdout]    --> src/option.rs:132:1
[INFO] [stdout]     |
[INFO] [stdout] 132 | struct Menu {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout]     = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `title` is never read
[INFO] [stdout]   --> src/page.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct Page {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     title: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `collect_tags` is never used
[INFO] [stdout]   --> src/page.rs:24:8
[INFO] [stdout]    |
[INFO] [stdout] 23 | impl Page {
[INFO] [stdout]    | --------- method in this implementation
[INFO] [stdout] 24 |     fn collect_tags(&self) -> HashSet<String> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `read_first_non_empty_line` is never used
[INFO] [stdout]  --> src/file.rs:8:8
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub fn read_first_non_empty_line(path: &Path) -> Result<String, &'static str> {
[INFO] [stdout]   |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_images` is never used
[INFO] [stdout]   --> src/file.rs:42:8
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub fn find_images(path: &Path) -> Result<Vec<PathBuf>, String> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `change_root` is never used
[INFO] [stdout]   --> src/file.rs:49:8
[INFO] [stdout]    |
[INFO] [stdout] 49 | pub fn change_root(root: &Path, path: &Path) -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_file_timestamps` is never used
[INFO] [stdout]   --> src/file.rs:54:8
[INFO] [stdout]    |
[INFO] [stdout] 54 | pub fn get_file_timestamps(path: &Path) -> io::Result<(Option<SystemTime>, Option<SystemTime>)> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `wrap_div` is never used
[INFO] [stdout]    --> src/html.rs:120:12
[INFO] [stdout]     |
[INFO] [stdout]  29 | impl HTMLView {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 120 |     pub fn wrap_div(&self, attrs: HashMap<String, String>) -> HTMLView {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `HTMLTag` is never used
[INFO] [stdout]    --> src/html.rs:166:10
[INFO] [stdout]     |
[INFO] [stdout] 166 | pub enum HTMLTag {
[INFO] [stdout]     |          ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `HTMLNode` is never constructed
[INFO] [stdout]    --> src/html.rs:199:12
[INFO] [stdout]     |
[INFO] [stdout] 199 | pub struct HTMLNode {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/html.rs:207:12
[INFO] [stdout]     |
[INFO] [stdout] 206 | impl HTMLNode {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] 207 |     pub fn new(tag: HTMLTag, md_option: &Option<MDOption>) -> HTMLNode {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 218 |     pub fn from_attributes(tag: HTMLTag, attributes: HashMap<&'static str, String>, md_option: &Option<MDOption>) -> HTMLNode {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 226 |     pub fn from_value(tag: HTMLTag, value: String, md_option: &Option<MDOption>) -> HTMLNode {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 234 |     pub fn from_children(tag: HTMLTag, children: Vec<HTMLNode>, md_option: &Option<MDOption>) -> HTMLNode {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 242 |     pub fn from_attributes_children(tag: HTMLTag, attributes: HashMap<&'static str, String>, children: Vec<HTMLNode>, md_option: &Option<...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 251 |     pub fn from_attributes_value(tag: HTMLTag, attributes: HashMap<&'static str, String>, value: String, md_option: &Option<MDOption>) ->...
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 260 |     pub fn html(&self, depth: usize) -> String {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `class` and `tag` are never used
[INFO] [stdout]    --> src/html.rs:299:12
[INFO] [stdout]     |
[INFO] [stdout] 297 | impl HTMLTag {
[INFO] [stdout]     | ------------ methods in this implementation
[INFO] [stdout] 298 |
[INFO] [stdout] 299 |     pub fn class(&self, md_option: &Option<MDOption>) -> String {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 309 |     pub fn tag(&self) -> &'static str {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `footer` is never used
[INFO] [stdout]    --> src/html.rs:345:8
[INFO] [stdout]     |
[INFO] [stdout] 345 | pub fn footer(md_option: &Option<MDOption>) -> HTMLNode {
[INFO] [stdout]     |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `write_html` is never used
[INFO] [stdout]    --> src/html.rs:363:4
[INFO] [stdout]     |
[INFO] [stdout] 363 | fn write_html(html_path: &Path, md_option: &Option<MDOption>, html: &String) -> Result<(), String> {
[INFO] [stdout]     |    ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PaddingType` is never used
[INFO] [stdout]  --> src/layout/padding.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum PaddingType {
[INFO] [stdout]   |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]   --> src/layout/view.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub trait TOMLView: Any {
[INFO] [stdout]    |           -------- methods in this trait
[INFO] [stdout] 19 |     fn as_any(&self) -> &dyn Any;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 20 |     fn index_path(&self) -> PathBuf;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 21 |     fn shape(&self) -> String;
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 22 |     fn key(&self) -> String;
[INFO] [stdout]    |        ^^^
[INFO] [stdout] 23 |     fn width(&self) -> String;
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 24 |     fn height(&self) -> String;
[INFO] [stdout] 25 |     fn background(&self) -> String;
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 26 |     fn path(&self) -> String;
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 27 |     fn value(&self) -> Option<InlineTable>;
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 28 |     fn dark(&self) -> bool;
[INFO] [stdout] 29 |     fn views(&self) -> &Vec<Box<dyn TOMLView>>;
[INFO] [stdout]    |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `AllocationView` is never used
[INFO] [stdout]   --> src/layout/view.rs:34:7
[INFO] [stdout]    |
[INFO] [stdout] 34 | trait AllocationView: TOMLView {
[INFO] [stdout]    |       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `index_path` and `value` are never read
[INFO] [stdout]   --> src/layout/view.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct ColumnView {
[INFO] [stdout]    |            ---------- fields in this struct
[INFO] [stdout] 41 |     index_path: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     value: Option<InlineTable>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `index_path` and `value` are never read
[INFO] [stdout]    --> src/layout/view.rs:231:5
[INFO] [stdout]     |
[INFO] [stdout] 230 | pub struct RowView {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] 231 |     index_path: PathBuf,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 244 |     value: Option<InlineTable>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `index_path` and `value` are never read
[INFO] [stdout]    --> src/layout/view.rs:420:5
[INFO] [stdout]     |
[INFO] [stdout] 419 | pub struct BoxView {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] 420 |     index_path: PathBuf,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 431 |     value: Option<InlineTable>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `index_path`, `value`, and `views` are never read
[INFO] [stdout]    --> src/layout/view.rs:593:5
[INFO] [stdout]     |
[INFO] [stdout] 592 | pub struct TextView {
[INFO] [stdout]     |            -------- fields in this struct
[INFO] [stdout] 593 |     index_path: PathBuf,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 610 |     value: Option<InlineTable>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 611 |     dark: bool,
[INFO] [stdout] 612 |     views: Vec<Box<dyn TOMLView>>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `index_path`, `content_size`, `value`, and `views` are never read
[INFO] [stdout]    --> src/layout/view.rs:730:5
[INFO] [stdout]     |
[INFO] [stdout] 729 | pub struct ImageView {
[INFO] [stdout]     |            --------- fields in this struct
[INFO] [stdout] 730 |     index_path: PathBuf,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 741 |     content_size: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 742 |     value: Option<InlineTable>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 743 |     dark: bool,
[INFO] [stdout] 744 |     views: Vec<Box<dyn TOMLView>>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple fields are never read
[INFO] [stdout]    --> src/layout/view.rs:848:5
[INFO] [stdout]     |
[INFO] [stdout] 847 | pub struct NavView {
[INFO] [stdout]     |            ------- fields in this struct
[INFO] [stdout] 848 |     index_path: PathBuf,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 849 |     key: String,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 850 |     width: String,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 851 |     height: String,
[INFO] [stdout] 852 |     background: String,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 853 |     path: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 857 |     value: Option<InlineTable>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 858 |     dark: bool,
[INFO] [stdout] 859 |     views: Vec<Box<dyn TOMLView>>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `index_path` and `value` are never read
[INFO] [stdout]    --> src/layout/view.rs:929:5
[INFO] [stdout]     |
[INFO] [stdout] 928 | pub struct ListColumnView {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 929 |     index_path: PathBuf,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 942 |     value: Option<InlineTable>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `index_path` and `value` are never read
[INFO] [stdout]     --> src/layout/view.rs:1117:5
[INFO] [stdout]      |
[INFO] [stdout] 1116 | pub struct ListRowView {
[INFO] [stdout]      |            ----------- fields in this struct
[INFO] [stdout] 1117 |     index_path: PathBuf,
[INFO] [stdout]      |     ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1130 |     value: Option<InlineTable>,
[INFO] [stdout]      |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `value` is never read
[INFO] [stdout]     --> src/layout/view.rs:1318:5
[INFO] [stdout]      |
[INFO] [stdout] 1303 | pub struct MarkdownView {
[INFO] [stdout]      |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 1318 |     value: Option<InlineTable>,
[INFO] [stdout]      |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_value_in_inlinetable` is never used
[INFO] [stdout]   --> src/layout/common.rs:57:8
[INFO] [stdout]    |
[INFO] [stdout] 57 | pub fn get_value_in_inlinetable(key: &str, table: Option<InlineTable>) -> Option<Value> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_option` is never used
[INFO] [stdout]   --> src/option.rs:10:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub fn load_option(path: &Path) -> Result<MDOption, &'static str> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `find_option` is never used
[INFO] [stdout]   --> src/option.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | pub fn find_option(path: &Path) -> Result<PathBuf, &'static str> {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `load_option_from_toml` is never used
[INFO] [stdout]   --> src/option.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub fn load_option_from_toml(path: &Path) -> Result<MDOption, &'static str> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MDOption` is never constructed
[INFO] [stdout]   --> src/option.rs:95:12
[INFO] [stdout]    |
[INFO] [stdout] 95 | pub struct MDOption {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `menus_to_html`, `footer_to_html`, `is_night`, and `tag` are never used
[INFO] [stdout]    --> src/option.rs:103:12
[INFO] [stdout]     |
[INFO] [stdout] 102 | impl MDOption {
[INFO] [stdout]     | ------------- methods in this implementation
[INFO] [stdout] 103 |     pub fn menus_to_html(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub fn footer_to_html(&self) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn is_night(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     pub fn tag(&self) -> &Vec<String> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Menu` is never constructed
[INFO] [stdout]    --> src/option.rs:132:8
[INFO] [stdout]     |
[INFO] [stdout] 132 | struct Menu {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DropDown` is never constructed
[INFO] [stdout]    --> src/option.rs:139:8
[INFO] [stdout]     |
[INFO] [stdout] 139 | struct DropDown {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `menus_to_html` is never used
[INFO] [stdout]    --> src/option.rs:144:4
[INFO] [stdout]     |
[INFO] [stdout] 144 | fn menus_to_html(menus: &Vec<Menu>, md_option: &Option<MDOption>) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `table_to_menus` is never used
[INFO] [stdout]    --> src/option.rs:204:4
[INFO] [stdout]     |
[INFO] [stdout] 204 | fn table_to_menus(table: &Table) -> Vec<Menu> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ensure_leading_slash` is never used
[INFO] [stdout]    --> src/option.rs:234:4
[INFO] [stdout]     |
[INFO] [stdout] 234 | fn ensure_leading_slash(s: &str) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `table_to_dropdowns` is never used
[INFO] [stdout]    --> src/option.rs:242:4
[INFO] [stdout]     |
[INFO] [stdout] 242 | fn table_to_dropdowns(table: &Table) -> Vec<DropDown> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Basic` is never constructed
[INFO] [stdout]    --> src/option.rs:263:12
[INFO] [stdout]     |
[INFO] [stdout] 263 | pub struct Basic {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Footer` is never constructed
[INFO] [stdout]    --> src/option.rs:270:12
[INFO] [stdout]     |
[INFO] [stdout] 270 | pub struct Footer {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FooterSNS` is never constructed
[INFO] [stdout]    --> src/option.rs:276:12
[INFO] [stdout]     |
[INFO] [stdout] 276 | pub struct FooterSNS {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `svg_html` is never used
[INFO] [stdout]    --> src/option.rs:282:8
[INFO] [stdout]     |
[INFO] [stdout] 281 | impl FooterSNS {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] 282 |     fn svg_html(&self) -> &str {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `footer_to_html` is never used
[INFO] [stdout]    --> src/option.rs:315:4
[INFO] [stdout]     |
[INFO] [stdout] 315 | fn footer_to_html(footer: &Footer, md_option: &Option<MDOption>) -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `table_to_footer` is never used
[INFO] [stdout]    --> src/option.rs:339:4
[INFO] [stdout]     |
[INFO] [stdout] 339 | fn table_to_footer(table: &Table) -> Footer {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `table_to_snss` is never used
[INFO] [stdout]    --> src/option.rs:358:4
[INFO] [stdout]     |
[INFO] [stdout] 358 | fn table_to_snss(table: &Table) -> Vec<FooterSNS> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ThemeValue` is never used
[INFO] [stdout]    --> src/option.rs:379:10
[INFO] [stdout]     |
[INFO] [stdout] 379 | pub enum ThemeValue {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `table_to_themes` is never used
[INFO] [stdout]    --> src/option.rs:385:4
[INFO] [stdout]     |
[INFO] [stdout] 385 | fn table_to_themes(table: &Table) -> HashMap<String, ThemeValue> {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `table_to_basic` is never used
[INFO] [stdout]    --> src/option.rs:400:4
[INFO] [stdout]     |
[INFO] [stdout] 400 | fn table_to_basic(table: &Table) -> Basic {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/page.rs:96:9
[INFO] [stdout]    |
[INFO] [stdout] 96 |         copy_img_files_to_path(self.path.as_path(), new_path.as_path());
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]    = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 96 |         let _ = copy_img_files_to_path(self.path.as_path(), new_path.as_path());
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.07s
[INFO] running `Command { std: "docker" "inspect" "182c762e7d0f80cbb08e82cafcdd0fb73fac65223aa5386e1fcb6b7e9b71cf4a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "182c762e7d0f80cbb08e82cafcdd0fb73fac65223aa5386e1fcb6b7e9b71cf4a", kill_on_drop: false }`
[INFO] [stdout] 182c762e7d0f80cbb08e82cafcdd0fb73fac65223aa5386e1fcb6b7e9b71cf4a
