[INFO] cloning repository https://github.com/rhaskia/latex_shell [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/rhaskia/latex_shell" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frhaskia%2Flatex_shell", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frhaskia%2Flatex_shell'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 5eab49b64c2e4c2edbe783579aea2239bf537ba6 [INFO] checking rhaskia/latex_shell against master#385fa9d845dd326c6bbfd58c22244215e431948a for absurd-question-mark-desugar [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frhaskia%2Flatex_shell" "/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/rhaskia/latex_shell on toolchain 385fa9d845dd326c6bbfd58c22244215e431948a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/rhaskia/latex_shell [INFO] finished tweaking git repo https://github.com/rhaskia/latex_shell [INFO] tweaked toml for git repo https://github.com/rhaskia/latex_shell written to /workspace/builds/worker-4-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/rhaskia/latex_shell 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" "+385fa9d845dd326c6bbfd58c22244215e431948a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Updating crates.io index [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded fehler-macros v1.0.0 [INFO] [stderr] Downloaded markdown-rs v0.1.0 [INFO] [stderr] Downloaded unicode-id v0.3.4 [INFO] [stderr] Downloaded fehler v1.0.0 [INFO] [stderr] Downloaded rquickjs-core v0.1.7 [INFO] [stderr] Downloaded markdown v1.0.0-alpha.16 [INFO] [stderr] Downloaded pulldown-cmark v0.10.2 [INFO] [stderr] Downloaded rquickjs v0.1.7 [INFO] [stderr] Downloaded rquickjs-sys v0.1.7 [INFO] [stderr] Downloaded unlatex v0.1.0 [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" "+385fa9d845dd326c6bbfd58c22244215e431948a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] e5fa84a43a4f4af0b23bde7556d95a37c305b5f6d93b699c2b17948daa5c99cd [INFO] running `Command { std: "docker" "start" "-a" "e5fa84a43a4f4af0b23bde7556d95a37c305b5f6d93b699c2b17948daa5c99cd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "e5fa84a43a4f4af0b23bde7556d95a37c305b5f6d93b699c2b17948daa5c99cd", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e5fa84a43a4f4af0b23bde7556d95a37c305b5f6d93b699c2b17948daa5c99cd", kill_on_drop: false }` [INFO] [stdout] e5fa84a43a4f4af0b23bde7556d95a37c305b5f6d93b699c2b17948daa5c99cd [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+385fa9d845dd326c6bbfd58c22244215e431948a" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] ba74d4a0eeff1a824946da8cbd59d4df426f16574c13bb156c443e975984ee90 [INFO] running `Command { std: "docker" "start" "-a" "ba74d4a0eeff1a824946da8cbd59d4df426f16574c13bb156c443e975984ee90", kill_on_drop: false }` [INFO] [stderr] Compiling rquickjs-sys v0.1.7 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling syn v2.0.55 [INFO] [stderr] Compiling pulldown-cmark v0.10.2 [INFO] [stderr] Compiling unlatex v0.1.0 [INFO] [stderr] Checking unicode-width v0.1.11 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Checking unicode-id v0.3.4 [INFO] [stderr] Checking getopts v0.2.21 [INFO] [stderr] Checking pulldown-cmark-escape v0.10.0 [INFO] [stderr] Checking markdown v1.0.0-alpha.16 [INFO] [stderr] Checking crossterm v0.27.0 [INFO] [stderr] Checking markdown-rs v0.1.0 [INFO] [stderr] Compiling thiserror-impl v1.0.58 [INFO] [stderr] Checking thiserror v1.0.58 [INFO] [stderr] Compiling fehler-macros v1.0.0 [INFO] [stderr] Checking fehler v1.0.0 [INFO] [stderr] Checking rquickjs-core v0.1.7 [INFO] [stderr] Checking rquickjs v0.1.7 [INFO] [stderr] Checking shell v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `Event`, `KeyCode`, `KeyEvent`, `poll`, `read` [INFO] [stdout] --> src/main.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use crossterm::event::{poll, read, Event, KeyCode, KeyEvent}; [INFO] [stdout] | ^^^^ ^^^^ ^^^^^ ^^^^^^^ ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `KeyEventKind`, `KeyModifiers` [INFO] [stdout] --> src/main.rs:4:24 [INFO] [stdout] | [INFO] [stdout] 4 | use crossterm::event::{KeyEventKind, KeyModifiers}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Text` [INFO] [stdout] --> src/renderer.rs:7:59 [INFO] [stdout] | [INFO] [stdout] 7 | use markdown::mdast::{Heading, ListItem, Node, Paragraph, Text}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `markdown::to_mdast` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use markdown::to_mdast; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `markdown::ParseOptions` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use markdown::ParseOptions; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Event`, `KeyCode`, `KeyEvent`, `poll`, `read` [INFO] [stdout] --> src/main.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use crossterm::event::{poll, read, Event, KeyCode, KeyEvent}; [INFO] [stdout] | ^^^^ ^^^^ ^^^^^ ^^^^^^^ ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `KeyEventKind`, `KeyModifiers` [INFO] [stdout] --> src/main.rs:4:24 [INFO] [stdout] | [INFO] [stdout] 4 | use crossterm::event::{KeyEventKind, KeyModifiers}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Text` [INFO] [stdout] --> src/renderer.rs:7:59 [INFO] [stdout] | [INFO] [stdout] 7 | use markdown::mdast::{Heading, ListItem, Node, Paragraph, Text}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `markdown::to_mdast` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use markdown::to_mdast; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `markdown::ParseOptions` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use markdown::ParseOptions; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `drawer` [INFO] [stdout] --> src/main.rs:15:13 [INFO] [stdout] | [INFO] [stdout] 15 | let mut drawer = Drawer::new(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_drawer` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `editor` [INFO] [stdout] --> src/main.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | let mut editor = Editor::new(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_editor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | let mut drawer = Drawer::new(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | let mut editor = Editor::new(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `out`, `screen`, and `md_opt` are never read [INFO] [stdout] --> src/renderer.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct Drawer { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 15 | out: std::io::Stdout, [INFO] [stdout] | ^^^ [INFO] [stdout] 16 | screen: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 17 | md_opt: ParseOptions, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `inner` and `size` are never read [INFO] [stdout] --> src/renderer.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct Line { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 22 | pub inner: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 23 | pub size: usize, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Line` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new`, `from`, and `double` are never used [INFO] [stdout] --> src/renderer.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl Line { [INFO] [stdout] | --------- associated functions in this implementation [INFO] [stdout] 27 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn from(s: String) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn double(s: String) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/renderer.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl Drawer { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] 41 | #[throws] [INFO] [stdout] 42 | pub fn render_md(&mut self, file: Vec, cursor: Cursor) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn alt_screen(&mut self, active: bool) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn render_nodes(&mut self, nodes: Vec) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn ensure_scr_lines(&mut self, lines: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub fn render_node(&mut self, node: Node) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn render_list_item(&mut self, item: ListItem) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | pub fn render_para(&mut self, para: Paragraph) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | pub fn render_children(&mut self, nodes: Vec) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | pub fn render_child(&mut self, child: Node) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | pub fn render_header(&mut self, header: Heading) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `file` and `cursor` are never read [INFO] [stdout] --> src/editor.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct Editor { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 2 | file: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] 3 | cursor: Cursor, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `line`, `col`, and `max_col` are never read [INFO] [stdout] --> src/editor.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Cursor { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 8 | pub line: usize, [INFO] [stdout] | ^^^^ [INFO] [stdout] 9 | pub col: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] 10 | pub max_col: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Cursor` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/editor.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Editor { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn get_file(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn get_cursor(&self) -> Cursor { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn backspace(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn push(&mut self, c: char) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn new_line(&mut self) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn ensure_file_lines(&mut self, lines: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn cursor_up(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn cursor_down(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn cursor_left(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn cursor_right(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `drawer` [INFO] [stdout] --> src/main.rs:15:13 [INFO] [stdout] | [INFO] [stdout] 15 | let mut drawer = Drawer::new(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_drawer` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `editor` [INFO] [stdout] --> src/main.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | let mut editor = Editor::new(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_editor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | let mut drawer = Drawer::new(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 16 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | let mut editor = Editor::new(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `out`, `screen`, and `md_opt` are never read [INFO] [stdout] --> src/renderer.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct Drawer { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 15 | out: std::io::Stdout, [INFO] [stdout] | ^^^ [INFO] [stdout] 16 | screen: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 17 | md_opt: ParseOptions, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `inner` and `size` are never read [INFO] [stdout] --> src/renderer.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct Line { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 22 | pub inner: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 23 | pub size: usize, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Line` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new`, `from`, and `double` are never used [INFO] [stdout] --> src/renderer.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl Line { [INFO] [stdout] | --------- associated functions in this implementation [INFO] [stdout] 27 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn from(s: String) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn double(s: String) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/renderer.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl Drawer { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] 41 | #[throws] [INFO] [stdout] 42 | pub fn render_md(&mut self, file: Vec, cursor: Cursor) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn alt_screen(&mut self, active: bool) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn render_nodes(&mut self, nodes: Vec) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn ensure_scr_lines(&mut self, lines: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub fn render_node(&mut self, node: Node) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn render_list_item(&mut self, item: ListItem) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | pub fn render_para(&mut self, para: Paragraph) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | pub fn render_children(&mut self, nodes: Vec) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | pub fn render_child(&mut self, child: Node) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | pub fn render_header(&mut self, header: Heading) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `file` and `cursor` are never read [INFO] [stdout] --> src/editor.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct Editor { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 2 | file: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] 3 | cursor: Cursor, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `line`, `col`, and `max_col` are never read [INFO] [stdout] --> src/editor.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Cursor { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 8 | pub line: usize, [INFO] [stdout] | ^^^^ [INFO] [stdout] 9 | pub col: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] 10 | pub max_col: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Cursor` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/editor.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Editor { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn get_file(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn get_cursor(&self) -> Cursor { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn backspace(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn push(&mut self, c: char) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn new_line(&mut self) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn ensure_file_lines(&mut self, lines: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn cursor_up(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn cursor_down(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn cursor_left(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn cursor_right(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 16 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 25.68s [INFO] running `Command { std: "docker" "inspect" "ba74d4a0eeff1a824946da8cbd59d4df426f16574c13bb156c443e975984ee90", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "ba74d4a0eeff1a824946da8cbd59d4df426f16574c13bb156c443e975984ee90", kill_on_drop: false }` [INFO] [stdout] ba74d4a0eeff1a824946da8cbd59d4df426f16574c13bb156c443e975984ee90 [INFO] checking rhaskia/latex_shell against try#645bb72776a6a56a1a8f52631a44bd082b2ba509 for absurd-question-mark-desugar [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Frhaskia%2Flatex_shell" "/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/rhaskia/latex_shell on toolchain 645bb72776a6a56a1a8f52631a44bd082b2ba509 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/rhaskia/latex_shell [INFO] finished tweaking git repo https://github.com/rhaskia/latex_shell [INFO] tweaked toml for git repo https://github.com/rhaskia/latex_shell written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/rhaskia/latex_shell 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" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "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" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 05a301b38796c2594717f50ebf86bae9f8b6c1f9b2aa3c98ee18c00e8f68169b [INFO] running `Command { std: "docker" "start" "-a" "05a301b38796c2594717f50ebf86bae9f8b6c1f9b2aa3c98ee18c00e8f68169b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "05a301b38796c2594717f50ebf86bae9f8b6c1f9b2aa3c98ee18c00e8f68169b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "05a301b38796c2594717f50ebf86bae9f8b6c1f9b2aa3c98ee18c00e8f68169b", kill_on_drop: false }` [INFO] [stdout] 05a301b38796c2594717f50ebf86bae9f8b6c1f9b2aa3c98ee18c00e8f68169b [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=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:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+645bb72776a6a56a1a8f52631a44bd082b2ba509" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 3e30036752398e588bcea0c435e52d1e8cee7753eddb74dc9e6dd00858269055 [INFO] running `Command { std: "docker" "start" "-a" "3e30036752398e588bcea0c435e52d1e8cee7753eddb74dc9e6dd00858269055", kill_on_drop: false }` [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling rquickjs-sys v0.1.7 [INFO] [stderr] Compiling syn v2.0.55 [INFO] [stderr] Compiling pulldown-cmark v0.10.2 [INFO] [stderr] Compiling unlatex v0.1.0 [INFO] [stderr] Checking unicode-width v0.1.11 [INFO] [stderr] Checking parking_lot v0.12.1 [INFO] [stderr] Checking pulldown-cmark-escape v0.10.0 [INFO] [stderr] Checking getopts v0.2.21 [INFO] [stderr] Checking unicode-id v0.3.4 [INFO] [stderr] Checking markdown v1.0.0-alpha.16 [INFO] [stderr] Checking crossterm v0.27.0 [INFO] [stderr] Checking markdown-rs v0.1.0 [INFO] [stderr] Compiling thiserror-impl v1.0.58 [INFO] [stderr] Checking thiserror v1.0.58 [INFO] [stderr] Compiling fehler-macros v1.0.0 [INFO] [stderr] Checking fehler v1.0.0 [INFO] [stderr] Checking rquickjs-core v0.1.7 [INFO] [stderr] Checking rquickjs v0.1.7 [INFO] [stderr] Checking shell v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: unused imports: `Event`, `KeyCode`, `KeyEvent`, `poll`, `read` [INFO] [stdout] --> src/main.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use crossterm::event::{poll, read, Event, KeyCode, KeyEvent}; [INFO] [stdout] | ^^^^ ^^^^ ^^^^^ ^^^^^^^ ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `KeyEventKind`, `KeyModifiers` [INFO] [stdout] --> src/main.rs:4:24 [INFO] [stdout] | [INFO] [stdout] 4 | use crossterm::event::{KeyEventKind, KeyModifiers}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Text` [INFO] [stdout] --> src/renderer.rs:7:59 [INFO] [stdout] | [INFO] [stdout] 7 | use markdown::mdast::{Heading, ListItem, Node, Paragraph, Text}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `markdown::to_mdast` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use markdown::to_mdast; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `markdown::ParseOptions` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use markdown::ParseOptions; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `Event`, `KeyCode`, `KeyEvent`, `poll`, `read` [INFO] [stdout] --> src/main.rs:3:24 [INFO] [stdout] | [INFO] [stdout] 3 | use crossterm::event::{poll, read, Event, KeyCode, KeyEvent}; [INFO] [stdout] | ^^^^ ^^^^ ^^^^^ ^^^^^^^ ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `KeyEventKind`, `KeyModifiers` [INFO] [stdout] --> src/main.rs:4:24 [INFO] [stdout] | [INFO] [stdout] 4 | use crossterm::event::{KeyEventKind, KeyModifiers}; [INFO] [stdout] | ^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Text` [INFO] [stdout] --> src/renderer.rs:7:59 [INFO] [stdout] | [INFO] [stdout] 7 | use markdown::mdast::{Heading, ListItem, Node, Paragraph, Text}; [INFO] [stdout] | ^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `markdown::to_mdast` [INFO] [stdout] --> src/main.rs:11:5 [INFO] [stdout] | [INFO] [stdout] 11 | use markdown::to_mdast; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `markdown::ParseOptions` [INFO] [stdout] --> src/main.rs:12:5 [INFO] [stdout] | [INFO] [stdout] 12 | use markdown::ParseOptions; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `drawer` [INFO] [stdout] --> src/main.rs:15:13 [INFO] [stdout] | [INFO] [stdout] 15 | let mut drawer = Drawer::new(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_drawer` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `editor` [INFO] [stdout] --> src/main.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | let mut editor = Editor::new(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_editor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | let mut drawer = Drawer::new(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | let mut editor = Editor::new(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `out`, `screen`, and `md_opt` are never read [INFO] [stdout] --> src/renderer.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct Drawer { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 15 | out: std::io::Stdout, [INFO] [stdout] | ^^^ [INFO] [stdout] 16 | screen: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 17 | md_opt: ParseOptions, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `inner` and `size` are never read [INFO] [stdout] --> src/renderer.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct Line { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 22 | pub inner: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 23 | pub size: usize, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Line` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new`, `from`, and `double` are never used [INFO] [stdout] --> src/renderer.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl Line { [INFO] [stdout] | --------- associated functions in this implementation [INFO] [stdout] 27 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn from(s: String) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn double(s: String) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/renderer.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl Drawer { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] 41 | #[throws] [INFO] [stdout] 42 | pub fn render_md(&mut self, file: Vec, cursor: Cursor) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn alt_screen(&mut self, active: bool) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn render_nodes(&mut self, nodes: Vec) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn ensure_scr_lines(&mut self, lines: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub fn render_node(&mut self, node: Node) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn render_list_item(&mut self, item: ListItem) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | pub fn render_para(&mut self, para: Paragraph) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | pub fn render_children(&mut self, nodes: Vec) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | pub fn render_child(&mut self, child: Node) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | pub fn render_header(&mut self, header: Heading) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `file` and `cursor` are never read [INFO] [stdout] --> src/editor.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct Editor { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 2 | file: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] 3 | cursor: Cursor, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `line`, `col`, and `max_col` are never read [INFO] [stdout] --> src/editor.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Cursor { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 8 | pub line: usize, [INFO] [stdout] | ^^^^ [INFO] [stdout] 9 | pub col: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] 10 | pub max_col: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Cursor` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/editor.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Editor { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn get_file(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn get_cursor(&self) -> Cursor { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn backspace(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn push(&mut self, c: char) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn new_line(&mut self) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn ensure_file_lines(&mut self, lines: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn cursor_up(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn cursor_down(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn cursor_left(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn cursor_right(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 16 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `drawer` [INFO] [stdout] --> src/main.rs:15:13 [INFO] [stdout] | [INFO] [stdout] 15 | let mut drawer = Drawer::new(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_drawer` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_variables)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused variable: `editor` [INFO] [stdout] --> src/main.rs:16:13 [INFO] [stdout] | [INFO] [stdout] 16 | let mut editor = Editor::new(); [INFO] [stdout] | ^^^^^^ help: if this is intentional, prefix it with an underscore: `_editor` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:15:9 [INFO] [stdout] | [INFO] [stdout] 15 | let mut drawer = Drawer::new(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_mut)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: variable does not need to be mutable [INFO] [stdout] --> src/main.rs:16:9 [INFO] [stdout] | [INFO] [stdout] 16 | let mut editor = Editor::new(); [INFO] [stdout] | ----^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | help: remove this `mut` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `out`, `screen`, and `md_opt` are never read [INFO] [stdout] --> src/renderer.rs:15:5 [INFO] [stdout] | [INFO] [stdout] 14 | pub struct Drawer { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 15 | out: std::io::Stdout, [INFO] [stdout] | ^^^ [INFO] [stdout] 16 | screen: Vec, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] 17 | md_opt: ParseOptions, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `inner` and `size` are never read [INFO] [stdout] --> src/renderer.rs:22:9 [INFO] [stdout] | [INFO] [stdout] 21 | pub struct Line { [INFO] [stdout] | ---- fields in this struct [INFO] [stdout] 22 | pub inner: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 23 | pub size: usize, [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Line` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated functions `new`, `from`, and `double` are never used [INFO] [stdout] --> src/renderer.rs:27:12 [INFO] [stdout] | [INFO] [stdout] 26 | impl Line { [INFO] [stdout] | --------- associated functions in this implementation [INFO] [stdout] 27 | pub fn new() -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub fn from(s: String) -> Self { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 35 | pub fn double(s: String) -> Self { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/renderer.rs:42:12 [INFO] [stdout] | [INFO] [stdout] 40 | impl Drawer { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] 41 | #[throws] [INFO] [stdout] 42 | pub fn render_md(&mut self, file: Vec, cursor: Cursor) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 67 | pub fn alt_screen(&mut self, active: bool) { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 77 | pub fn render_nodes(&mut self, nodes: Vec) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 83 | pub fn ensure_scr_lines(&mut self, lines: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 90 | pub fn render_node(&mut self, node: Node) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 102 | pub fn render_list_item(&mut self, item: ListItem) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 113 | pub fn render_para(&mut self, para: Paragraph) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 122 | pub fn render_children(&mut self, nodes: Vec) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 126 | pub fn render_child(&mut self, child: Node) -> String { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 171 | pub fn render_header(&mut self, header: Heading) { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `file` and `cursor` are never read [INFO] [stdout] --> src/editor.rs:2:5 [INFO] [stdout] | [INFO] [stdout] 1 | pub struct Editor { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 2 | file: Vec, [INFO] [stdout] | ^^^^ [INFO] [stdout] 3 | cursor: Cursor, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `line`, `col`, and `max_col` are never read [INFO] [stdout] --> src/editor.rs:8:9 [INFO] [stdout] | [INFO] [stdout] 7 | pub struct Cursor { [INFO] [stdout] | ------ fields in this struct [INFO] [stdout] 8 | pub line: usize, [INFO] [stdout] | ^^^^ [INFO] [stdout] 9 | pub col: usize, [INFO] [stdout] | ^^^ [INFO] [stdout] 10 | pub max_col: usize, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `Cursor` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple methods are never used [INFO] [stdout] --> src/editor.rs:18:12 [INFO] [stdout] | [INFO] [stdout] 13 | impl Editor { [INFO] [stdout] | ----------- methods in this implementation [INFO] [stdout] ... [INFO] [stdout] 18 | pub fn get_file(&self) -> Vec { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub fn get_cursor(&self) -> Cursor { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 26 | pub fn backspace(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 41 | pub fn push(&mut self, c: char) { [INFO] [stdout] | ^^^^ [INFO] [stdout] ... [INFO] [stdout] 52 | pub fn new_line(&mut self) { [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 59 | pub fn ensure_file_lines(&mut self, lines: usize) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 66 | pub fn cursor_up(&mut self) { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 74 | pub fn cursor_down(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 81 | pub fn cursor_left(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub fn cursor_right(&mut self) { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: 16 warnings emitted [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 23.70s [INFO] running `Command { std: "docker" "inspect" "3e30036752398e588bcea0c435e52d1e8cee7753eddb74dc9e6dd00858269055", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "3e30036752398e588bcea0c435e52d1e8cee7753eddb74dc9e6dd00858269055", kill_on_drop: false }` [INFO] [stdout] 3e30036752398e588bcea0c435e52d1e8cee7753eddb74dc9e6dd00858269055