[INFO] cloning repository https://github.com/cyccro/math-graph
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/cyccro/math-graph" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcyccro%2Fmath-graph", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcyccro%2Fmath-graph'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 7a3c4f20919c703c90daafd188584a12384252a5
[INFO] checking cyccro/math-graph against try#d1d7143153307f561233bd4d93e2a3b24157b081 for pr-151539-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fcyccro%2Fmath-graph" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/cyccro/math-graph
[INFO] finished tweaking git repo https://github.com/cyccro/math-graph
[INFO] tweaked toml for git repo https://github.com/cyccro/math-graph written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/cyccro/math-graph on toolchain d1d7143153307f561233bd4d93e2a3b24157b081
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+d1d7143153307f561233bd4d93e2a3b24157b081" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/cyccro/math-graph 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" "+d1d7143153307f561233bd4d93e2a3b24157b081" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] c4ff91c0e88d659e81feaf487d0282ddced7dd4c0b7f3e131dac422dd2e4b14f
[INFO] running `Command { std: "docker" "start" "c4ff91c0e88d659e81feaf487d0282ddced7dd4c0b7f3e131dac422dd2e4b14f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c4ff91c0e88d659e81feaf487d0282ddced7dd4c0b7f3e131dac422dd2e4b14f" "/opt/rustwide/cargo-home/bin/cargo" "+d1d7143153307f561233bd4d93e2a3b24157b081" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c4ff91c0e88d659e81feaf487d0282ddced7dd4c0b7f3e131dac422dd2e4b14f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "c4ff91c0e88d659e81feaf487d0282ddced7dd4c0b7f3e131dac422dd2e4b14f" "/opt/rustwide/cargo-home/bin/cargo" "+d1d7143153307f561233bd4d93e2a3b24157b081" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde v1.0.204
[INFO] [stderr]    Compiling target-lexicon v0.12.15
[INFO] [stderr]    Compiling winnow v0.6.16
[INFO] [stderr]    Compiling version-compare v0.2.0
[INFO] [stderr]    Compiling winnow v0.5.40
[INFO] [stderr]     Checking futures-core v0.3.30
[INFO] [stderr]     Checking smallvec v1.13.2
[INFO] [stderr]    Compiling gio v0.20.0
[INFO] [stderr]    Compiling memoffset v0.9.1
[INFO] [stderr]    Compiling syn v2.0.72
[INFO] [stderr]    Compiling field-offset v0.3.6
[INFO] [stderr]     Checking futures-channel v0.3.30
[INFO] [stderr]    Compiling cfg-expr v0.15.8
[INFO] [stderr]    Compiling toml_datetime v0.6.7
[INFO] [stderr]    Compiling serde_spanned v0.6.7
[INFO] [stderr]    Compiling toml_edit v0.22.17
[INFO] [stderr]    Compiling toml_edit v0.21.1
[INFO] [stderr]    Compiling futures-macro v0.3.30
[INFO] [stderr]    Compiling thiserror-impl v1.0.63
[INFO] [stderr]     Checking futures-util v0.3.30
[INFO] [stderr]     Checking thiserror v1.0.63
[INFO] [stderr]    Compiling toml v0.8.16
[INFO] [stderr]    Compiling proc-macro-crate v3.1.0
[INFO] [stderr]    Compiling glib-macros v0.20.0
[INFO] [stderr]    Compiling gtk4-macros v0.9.0
[INFO] [stderr]    Compiling system-deps v7.0.1
[INFO] [stderr]     Checking futures-executor v0.3.30
[INFO] [stderr]    Compiling glib-sys v0.20.0
[INFO] [stderr]    Compiling gobject-sys v0.20.0
[INFO] [stderr]    Compiling gio-sys v0.20.0
[INFO] [stderr]    Compiling gdk-pixbuf-sys v0.20.0
[INFO] [stderr]    Compiling cairo-sys-rs v0.20.0
[INFO] [stderr]    Compiling pango-sys v0.20.0
[INFO] [stderr]    Compiling gdk4-sys v0.9.0
[INFO] [stderr]    Compiling graphene-sys v0.20.0
[INFO] [stderr]    Compiling gsk4-sys v0.9.0
[INFO] [stderr]    Compiling gtk4-sys v0.9.0
[INFO] [stderr]     Checking glib v0.20.0
[INFO] [stderr]     Checking cairo-rs v0.20.0
[INFO] [stderr]     Checking graphene-rs v0.20.0
[INFO] [stderr]     Checking pango v0.20.0
[INFO] [stderr]     Checking gdk-pixbuf v0.20.0
[INFO] [stderr]     Checking gdk4 v0.9.0
[INFO] [stderr]     Checking gsk4 v0.9.0
[INFO] [stderr]     Checking gtk4 v0.9.0
[INFO] [stderr]     Checking desmos_copy v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: type `draw::Line` is more private than the item `draw::Pencil::<'a>::draw_points`
[INFO] [stdout]   --> src/draw.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn draw_points(&self, points: Vec<Line>) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `draw::Pencil::<'a>::draw_points` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `draw::Line` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/draw.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Line(Vec2, Vec2, Rgb);
[INFO] [stdout]    | ^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_numbers` is never used
[INFO] [stdout]   --> src/draw.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Line {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn from_numbers(x: f64, y: f64, xx: f64, yy: f64, r: f64, g: f64, b: f64) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `width`, `height`, and `draw_points` are never used
[INFO] [stdout]   --> src/draw.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl<'a> Pencil<'a> {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] 27 |     pub fn width(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn height(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn draw_points(&self, points: Vec<Line>) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `content` is never used
[INFO] [stdout]   --> src/inputs.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Input {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn content(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `content` is never used
[INFO] [stdout]   --> src/inputs.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl FormulaInput {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn content(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `inputs` is never read
[INFO] [stdout]   --> src/inputs.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct Inputs<'a> {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 64 |     inputs: Vec<&'a FormulaInput>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `contents` and `append` are never used
[INFO] [stdout]   --> src/inputs.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 68 | impl<'a> Inputs<'a> {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn contents(&self) -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn append(&mut self, input: &'a FormulaInput) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Evaluator` is never constructed
[INFO] [stdout]  --> src/math/evaluator.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Evaluator {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/math/evaluator.rs:11:11
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl Evaluator {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout]  11 |     const ERROR_NUM: f64 = -1.234567890;
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout]  12 |     pub fn new(ast: Expr) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  19 |     pub fn eval_asts(asts: Vec<Expr>) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  27 |     pub fn eval_from_txt(content: &str) -> Result<f64, Error> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  34 |     fn save_func(&mut self, fname: String, body: Box<Expr>) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  38 |     pub fn save_fn(&mut self, f: Expr) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  46 |     pub fn save_fns(&mut self, fns: Vec<Expr>) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  56 |     pub fn save_var(&mut self, varname: String, expr: Expr) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  61 |     pub fn evaluate(&mut self, ast: Option<Expr>, identifier_num: f64) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  69 |     fn eval_func(&mut self, fname: String, param: Expr, identifier_num: f64) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     fn eval(&mut self, ast: Expr, identifier_num: f64) -> f64 {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MathOp` is never used
[INFO] [stdout]  --> src/math/parser.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum MathOp {
[INFO] [stdout]   |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MathToken` is never used
[INFO] [stdout]   --> src/math/parser.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum MathToken {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_for_multiplication` is never used
[INFO] [stdout]   --> src/math/parser.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn check_for_multiplication(current: &u8, next: &u8) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tokenize` is never used
[INFO] [stdout]   --> src/math/parser.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn tokenize(content: &str) -> Vec<MathToken> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Parser` is never constructed
[INFO] [stdout]   --> src/math/parser.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub struct Parser {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Error` is never constructed
[INFO] [stdout]   --> src/math/parser.rs:94:12
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub struct Error(String);
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Expr` is never used
[INFO] [stdout]   --> src/math/parser.rs:96:10
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub enum Expr {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/math/parser.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 110 | impl Parser {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 111 |     pub fn new(tokens: Vec<MathToken>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     fn peak(&self) -> Option<MathToken> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     fn eat(&mut self) -> Option<MathToken> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     fn eat_n(&mut self, n: usize) -> Option<MathToken> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     fn next(&self) -> Option<MathToken> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn expect(&mut self, tk: MathToken) -> Result<MathToken, Error> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub fn parse(&mut self) -> Result<Expr, Error> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     fn parse_func(&mut self) -> Result<Expr, Error> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     fn parse_expr(&mut self) -> Result<Expr, Error> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 |     fn parse_pow(&mut self) -> Result<Expr, Error> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 193 |     fn parse_multiplicative(&mut self) -> Result<Expr, Error> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 |     fn parse_additive(&mut self) -> Result<Expr, Error> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 231 |     fn parse_primary(&mut self) -> Result<Expr, Error> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gen_ast` is never used
[INFO] [stdout]    --> src/math/parser.rs:298:8
[INFO] [stdout]     |
[INFO] [stdout] 298 | pub fn gen_ast(content: &str) -> Result<Expr, Error> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `BLACK`, `black`, and `from_color` are never used
[INFO] [stdout]   --> src/rgb.rs:9:15
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl Rgb {
[INFO] [stdout]    | -------- associated items in this implementation
[INFO] [stdout]  8 |     pub const WHITE: Rgb = Rgb(1.0, 1.0, 1.0);
[INFO] [stdout]  9 |     pub const BLACK: Rgb = Rgb(0.0, 0.0, 0.0);
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 10 |     pub const RED: Rgb = Rgb(1.0, 0.0, 0.0);
[INFO] [stdout] 11 |     pub fn black() -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn from_color(color: i64) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `set`, `dot`, `mag_square`, `mag`, and `splat` are never used
[INFO] [stdout]   --> src/vec2.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout]  3 | impl Vec2 {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn set(&mut self, v: (f64, f64)) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn dot(&self, other: Self) -> f64 {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn mag_square(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn mag(&self) -> f64 {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn splat(n: f64) -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/draw.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |         pencil.draw_line(&self.0, &self.1);
[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] 22 |         let _ = pencil.draw_line(&self.0, &self.1);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/draw.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |             self.0.stroke();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 45 |             let _ = self.0.stroke();
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type `draw::Line` is more private than the item `draw::Pencil::<'a>::draw_points`
[INFO] [stdout]   --> src/draw.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub fn draw_points(&self, points: Vec<Line>) {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method `draw::Pencil::<'a>::draw_points` is reachable at visibility `pub(crate)`
[INFO] [stdout]    |
[INFO] [stdout] note: but type `draw::Line` is only usable at visibility `pub(self)`
[INFO] [stdout]   --> src/draw.rs:10:1
[INFO] [stdout]    |
[INFO] [stdout] 10 | struct Line(Vec2, Vec2, Rgb);
[INFO] [stdout]    | ^^^^^^^^^^^
[INFO] [stdout]    = note: `#[warn(private_interfaces)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_numbers` is never used
[INFO] [stdout]   --> src/draw.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 13 | impl Line {
[INFO] [stdout]    | --------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn from_numbers(x: f64, y: f64, xx: f64, yy: f64, r: f64, g: f64, b: f64) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `width`, `height`, and `draw_points` are never used
[INFO] [stdout]   --> src/draw.rs:27:12
[INFO] [stdout]    |
[INFO] [stdout] 26 | impl<'a> Pencil<'a> {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] 27 |     pub fn width(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 30 |     pub fn height(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 38 |     pub fn draw_points(&self, points: Vec<Line>) {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `content` is never used
[INFO] [stdout]   --> src/inputs.rs:36:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl Input {
[INFO] [stdout]    | ---------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 36 |     pub fn content(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `content` is never used
[INFO] [stdout]   --> src/inputs.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 49 | impl FormulaInput {
[INFO] [stdout]    | ----------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 56 |     pub fn content(&self) -> String {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `inputs` is never read
[INFO] [stdout]   --> src/inputs.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 63 | pub struct Inputs<'a> {
[INFO] [stdout]    |            ------ field in this struct
[INFO] [stdout] 64 |     inputs: Vec<&'a FormulaInput>,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `contents` and `append` are never used
[INFO] [stdout]   --> src/inputs.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 68 | impl<'a> Inputs<'a> {
[INFO] [stdout]    | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn contents(&self) -> Vec<String> {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 96 |     pub fn append(&mut self, input: &'a FormulaInput) {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Evaluator` is never constructed
[INFO] [stdout]  --> src/math/evaluator.rs:4:12
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Evaluator {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/math/evaluator.rs:11:11
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl Evaluator {
[INFO] [stdout]     | -------------- associated items in this implementation
[INFO] [stdout]  11 |     const ERROR_NUM: f64 = -1.234567890;
[INFO] [stdout]     |           ^^^^^^^^^
[INFO] [stdout]  12 |     pub fn new(ast: Expr) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  19 |     pub fn eval_asts(asts: Vec<Expr>) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  27 |     pub fn eval_from_txt(content: &str) -> Result<f64, Error> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  34 |     fn save_func(&mut self, fname: String, body: Box<Expr>) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  38 |     pub fn save_fn(&mut self, f: Expr) {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  46 |     pub fn save_fns(&mut self, fns: Vec<Expr>) {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  56 |     pub fn save_var(&mut self, varname: String, expr: Expr) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  61 |     pub fn evaluate(&mut self, ast: Option<Expr>, identifier_num: f64) -> f64 {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  69 |     fn eval_func(&mut self, fname: String, param: Expr, identifier_num: f64) -> f64 {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 120 |     fn eval(&mut self, ast: Expr, identifier_num: f64) -> f64 {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MathOp` is never used
[INFO] [stdout]  --> src/math/parser.rs:2:10
[INFO] [stdout]   |
[INFO] [stdout] 2 | pub enum MathOp {
[INFO] [stdout]   |          ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `MathToken` is never used
[INFO] [stdout]   --> src/math/parser.rs:12:10
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub enum MathToken {
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `check_for_multiplication` is never used
[INFO] [stdout]   --> src/math/parser.rs:23:4
[INFO] [stdout]    |
[INFO] [stdout] 23 | fn check_for_multiplication(current: &u8, next: &u8) -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `tokenize` is never used
[INFO] [stdout]   --> src/math/parser.rs:27:8
[INFO] [stdout]    |
[INFO] [stdout] 27 | pub fn tokenize(content: &str) -> Vec<MathToken> {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Parser` is never constructed
[INFO] [stdout]   --> src/math/parser.rs:89:12
[INFO] [stdout]    |
[INFO] [stdout] 89 | pub struct Parser {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Error` is never constructed
[INFO] [stdout]   --> src/math/parser.rs:94:12
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub struct Error(String);
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `Expr` is never used
[INFO] [stdout]   --> src/math/parser.rs:96:10
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub enum Expr {
[INFO] [stdout]    |          ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/math/parser.rs:111:12
[INFO] [stdout]     |
[INFO] [stdout] 110 | impl Parser {
[INFO] [stdout]     | ----------- associated items in this implementation
[INFO] [stdout] 111 |     pub fn new(tokens: Vec<MathToken>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 114 |     fn peak(&self) -> Option<MathToken> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 117 |     fn eat(&mut self) -> Option<MathToken> {
[INFO] [stdout]     |        ^^^
[INFO] [stdout] ...
[INFO] [stdout] 123 |     fn eat_n(&mut self, n: usize) -> Option<MathToken> {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 127 |     fn next(&self) -> Option<MathToken> {
[INFO] [stdout]     |        ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn expect(&mut self, tk: MathToken) -> Result<MathToken, Error> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 140 |     pub fn parse(&mut self) -> Result<Expr, Error> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 159 |     fn parse_func(&mut self) -> Result<Expr, Error> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 172 |     fn parse_expr(&mut self) -> Result<Expr, Error> {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 175 |     fn parse_pow(&mut self) -> Result<Expr, Error> {
[INFO] [stdout]     |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 193 |     fn parse_multiplicative(&mut self) -> Result<Expr, Error> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 213 |     fn parse_additive(&mut self) -> Result<Expr, Error> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 231 |     fn parse_primary(&mut self) -> Result<Expr, Error> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `gen_ast` is never used
[INFO] [stdout]    --> src/math/parser.rs:298:8
[INFO] [stdout]     |
[INFO] [stdout] 298 | pub fn gen_ast(content: &str) -> Result<Expr, Error> {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `BLACK`, `black`, and `from_color` are never used
[INFO] [stdout]   --> src/rgb.rs:9:15
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl Rgb {
[INFO] [stdout]    | -------- associated items in this implementation
[INFO] [stdout]  8 |     pub const WHITE: Rgb = Rgb(1.0, 1.0, 1.0);
[INFO] [stdout]  9 |     pub const BLACK: Rgb = Rgb(0.0, 0.0, 0.0);
[INFO] [stdout]    |               ^^^^^
[INFO] [stdout] 10 |     pub const RED: Rgb = Rgb(1.0, 0.0, 0.0);
[INFO] [stdout] 11 |     pub fn black() -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn from_color(color: i64) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `set`, `dot`, `mag_square`, `mag`, and `splat` are never used
[INFO] [stdout]   --> src/vec2.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout]  3 | impl Vec2 {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub fn set(&mut self, v: (f64, f64)) {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn dot(&self, other: Self) -> f64 {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 23 |     pub fn mag_square(&self) -> f64 {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub fn mag(&self) -> f64 {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 29 |     pub fn splat(n: f64) -> Self {
[INFO] [stdout]    |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/draw.rs:22:9
[INFO] [stdout]    |
[INFO] [stdout] 22 |         pencil.draw_line(&self.0, &self.1);
[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] 22 |         let _ = pencil.draw_line(&self.0, &self.1);
[INFO] [stdout]    |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]   --> src/draw.rs:45:13
[INFO] [stdout]    |
[INFO] [stdout] 45 |             self.0.stroke();
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]    |
[INFO] [stdout] 45 |             let _ = self.0.stroke();
[INFO] [stdout]    |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 11s
[INFO] running `Command { std: "docker" "inspect" "c4ff91c0e88d659e81feaf487d0282ddced7dd4c0b7f3e131dac422dd2e4b14f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c4ff91c0e88d659e81feaf487d0282ddced7dd4c0b7f3e131dac422dd2e4b14f", kill_on_drop: false }`
[INFO] [stdout] c4ff91c0e88d659e81feaf487d0282ddced7dd4c0b7f3e131dac422dd2e4b14f
