[INFO] cloning repository https://github.com/loovjo/patact
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/loovjo/patact" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Floovjo%2Fpatact", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Floovjo%2Fpatact'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6323b4a8ccd0555a53f0d67a366e1325c90f765d
[INFO] checking loovjo/patact/6323b4a8ccd0555a53f0d67a366e1325c90f765d against eca445e5ae4a6679cc27d3a09106ce245e13a5a6 for pr-162478
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Floovjo%2Fpatact" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/loovjo/patact
[INFO] finished tweaking git repo https://github.com/loovjo/patact
[INFO] tweaked toml for git repo https://github.com/loovjo/patact written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/loovjo/patact on toolchain eca445e5ae4a6679cc27d3a09106ce245e13a5a6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/loovjo/patact 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" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `patact` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 050ef3a4b9a08027f121b041d20bb5628d110147e4cc9920cbc3e70dc2d9c1f6
[INFO] running `Command { std: "docker" "start" "050ef3a4b9a08027f121b041d20bb5628d110147e4cc9920cbc3e70dc2d9c1f6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "050ef3a4b9a08027f121b041d20bb5628d110147e4cc9920cbc3e70dc2d9c1f6", 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" "050ef3a4b9a08027f121b041d20bb5628d110147e4cc9920cbc3e70dc2d9c1f6" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "050ef3a4b9a08027f121b041d20bb5628d110147e4cc9920cbc3e70dc2d9c1f6", 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" "050ef3a4b9a08027f121b041d20bb5628d110147e4cc9920cbc3e70dc2d9c1f6" "/opt/rustwide/cargo-home/bin/cargo" "+eca445e5ae4a6679cc27d3a09106ce245e13a5a6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: Cargo.toml: `package.edition` is unspecified, defaulting to `2015` while the latest is `2024`
[INFO] [stderr] warning: `patact` (manifest) generated 1 warning
[INFO] [stderr]     Checking patact v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(box_syntax, box_patterns)]
[INFO] [stdout]   |            ^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: removed in 1.70.0; see <https://github.com/rust-lang/rust/pull/108471> for more information
[INFO] [stdout]   = note: replaced with `#[rustc_box]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/main.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(box_syntax, box_patterns)]
[INFO] [stdout]   |                        ^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: removed in CURRENT_RUSTC_VERSION
[INFO] [stdout]   = note: superseded by `deref_patterns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/exprs.rs:58:30
[INFO] [stdout]    |
[INFO] [stdout] 58 |                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout]    |                              ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 58 -                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout] 58 +                 (&MExpr::Exp(ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 58 -                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout] 58 +                 (&MExpr::Exp(deref!(ref x), box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/exprs.rs:58:41
[INFO] [stdout]    |
[INFO] [stdout] 58 |                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout]    |                                         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 58 -                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout] 58 +                 (&MExpr::Exp(box ref x, ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 58 -                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout] 58 +                 (&MExpr::Exp(box ref x, deref!(ref y)), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/exprs.rs:58:65
[INFO] [stdout]    |
[INFO] [stdout] 58 |                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout]    |                                                                 ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 58 -                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout] 58 +                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(ref x_, box ref y_)) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 58 -                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout] 58 +                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(deref!(ref x_), box ref y_)) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/exprs.rs:58:77
[INFO] [stdout]    |
[INFO] [stdout] 58 |                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout]    |                                                                             ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 58 -                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout] 58 +                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, ref y_)) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 58 -                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout] 58 +                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, deref!(ref y_))) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/exprs.rs:88:30
[INFO] [stdout]    |
[INFO] [stdout] 88 |                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout]    |                              ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 88 -                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout] 88 +                 (&MExpr::Exp(ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 88 -                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout] 88 +                 (&MExpr::Exp(deref!(ref x), box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/exprs.rs:88:41
[INFO] [stdout]    |
[INFO] [stdout] 88 |                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout]    |                                         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 88 -                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout] 88 +                 (&MExpr::Exp(box ref x, ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 88 -                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout] 88 +                 (&MExpr::Exp(box ref x, deref!(ref y)), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/exprs.rs:88:65
[INFO] [stdout]    |
[INFO] [stdout] 88 |                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout]    |                                                                 ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 88 -                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout] 88 +                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(ref x_, box ref y_)) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 88 -                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout] 88 +                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(deref!(ref x_), box ref y_)) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/exprs.rs:88:77
[INFO] [stdout]    |
[INFO] [stdout] 88 |                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout]    |                                                                             ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 88 -                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout] 88 +                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, ref y_)) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 88 -                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout] 88 +                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, deref!(ref y_))) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/display.rs:51:24
[INFO] [stdout]    |
[INFO] [stdout] 51 |             MExpr::Exp(box ref base, box ref exp) => {
[INFO] [stdout]    |                        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 51 -             MExpr::Exp(box ref base, box ref exp) => {
[INFO] [stdout] 51 +             MExpr::Exp(ref base, box ref exp) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 51 -             MExpr::Exp(box ref base, box ref exp) => {
[INFO] [stdout] 51 +             MExpr::Exp(deref!(ref base), box ref exp) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/display.rs:51:38
[INFO] [stdout]    |
[INFO] [stdout] 51 |             MExpr::Exp(box ref base, box ref exp) => {
[INFO] [stdout]    |                                      ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 51 -             MExpr::Exp(box ref base, box ref exp) => {
[INFO] [stdout] 51 +             MExpr::Exp(box ref base, ref exp) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 51 -             MExpr::Exp(box ref base, box ref exp) => {
[INFO] [stdout] 51 +             MExpr::Exp(box ref base, deref!(ref exp)) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/display.rs:67:24
[INFO] [stdout]    |
[INFO] [stdout] 67 |             MExpr::Div(box ref base, box ref exp) => {
[INFO] [stdout]    |                        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 67 -             MExpr::Div(box ref base, box ref exp) => {
[INFO] [stdout] 67 +             MExpr::Div(ref base, box ref exp) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 67 -             MExpr::Div(box ref base, box ref exp) => {
[INFO] [stdout] 67 +             MExpr::Div(deref!(ref base), box ref exp) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/display.rs:67:38
[INFO] [stdout]    |
[INFO] [stdout] 67 |             MExpr::Div(box ref base, box ref exp) => {
[INFO] [stdout]    |                                      ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 67 -             MExpr::Div(box ref base, box ref exp) => {
[INFO] [stdout] 67 +             MExpr::Div(box ref base, ref exp) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 67 -             MExpr::Div(box ref base, box ref exp) => {
[INFO] [stdout] 67 +             MExpr::Div(box ref base, deref!(ref exp)) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/expr/display.rs:124:27
[INFO] [stdout]     |
[INFO] [stdout] 124 |             MPattern::Div(box num, box den) => {
[INFO] [stdout]     |                           ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 124 -             MPattern::Div(box num, box den) => {
[INFO] [stdout] 124 +             MPattern::Div(num, box den) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 124 -             MPattern::Div(box num, box den) => {
[INFO] [stdout] 124 +             MPattern::Div(deref!(num), box den) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/expr/display.rs:124:36
[INFO] [stdout]     |
[INFO] [stdout] 124 |             MPattern::Div(box num, box den) => {
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 124 -             MPattern::Div(box num, box den) => {
[INFO] [stdout] 124 +             MPattern::Div(box num, den) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 124 -             MPattern::Div(box num, box den) => {
[INFO] [stdout] 124 +             MPattern::Div(box num, deref!(den)) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/eval.rs:41:24
[INFO] [stdout]    |
[INFO] [stdout] 41 |             MExpr::Div(box num, box den) => {
[INFO] [stdout]    |                        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 41 -             MExpr::Div(box num, box den) => {
[INFO] [stdout] 41 +             MExpr::Div(num, box den) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 41 -             MExpr::Div(box num, box den) => {
[INFO] [stdout] 41 +             MExpr::Div(deref!(num), box den) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/eval.rs:41:33
[INFO] [stdout]    |
[INFO] [stdout] 41 |             MExpr::Div(box num, box den) => {
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 41 -             MExpr::Div(box num, box den) => {
[INFO] [stdout] 41 +             MExpr::Div(box num, den) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 41 -             MExpr::Div(box num, box den) => {
[INFO] [stdout] 41 +             MExpr::Div(box num, deref!(den)) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]   --> src/expr/eval.rs:42:28
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 MExpr::Div(box num.trivial_reduce(), box den.trivial_reduce())
[INFO] [stdout]    |                            ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]    --> src/expr/eval.rs:123:32
[INFO] [stdout]     |
[INFO] [stdout] 123 |                     MExpr::Div(box MExpr::Prod(num), box MExpr::Prod(den)).reduce(should_factor)
[INFO] [stdout]     |                                ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/expr/eval.rs:132:24
[INFO] [stdout]     |
[INFO] [stdout] 132 |             MExpr::Div(box num, box den) => {
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 132 -             MExpr::Div(box num, box den) => {
[INFO] [stdout] 132 +             MExpr::Div(num, box den) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 132 -             MExpr::Div(box num, box den) => {
[INFO] [stdout] 132 +             MExpr::Div(deref!(num), box den) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/expr/eval.rs:132:33
[INFO] [stdout]     |
[INFO] [stdout] 132 |             MExpr::Div(box num, box den) => {
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 132 -             MExpr::Div(box num, box den) => {
[INFO] [stdout] 132 +             MExpr::Div(box num, den) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 132 -             MExpr::Div(box num, box den) => {
[INFO] [stdout] 132 +             MExpr::Div(box num, deref!(den)) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/expr/eval.rs:145:32
[INFO] [stdout]     |
[INFO] [stdout] 145 |                     MExpr::Div(box num, box den) => {
[INFO] [stdout]     |                                ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 145 -                     MExpr::Div(box num, box den) => {
[INFO] [stdout] 145 +                     MExpr::Div(num, box den) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 145 -                     MExpr::Div(box num, box den) => {
[INFO] [stdout] 145 +                     MExpr::Div(deref!(num), box den) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/expr/eval.rs:145:41
[INFO] [stdout]     |
[INFO] [stdout] 145 |                     MExpr::Div(box num, box den) => {
[INFO] [stdout]     |                                         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 145 -                     MExpr::Div(box num, box den) => {
[INFO] [stdout] 145 +                     MExpr::Div(box num, den) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 145 -                     MExpr::Div(box num, box den) => {
[INFO] [stdout] 145 +                     MExpr::Div(box num, deref!(den)) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]    --> src/expr/eval.rs:150:40
[INFO] [stdout]     |
[INFO] [stdout] 150 | ...                   MExpr::Div(box num, box den)
[INFO] [stdout]     |                                  ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]    --> src/expr/eval.rs:170:36
[INFO] [stdout]     |
[INFO] [stdout] 170 |                         MExpr::Div(box MExpr::ConstNum(a / gcd), box MExpr::ConstNum(b / gcd)),
[INFO] [stdout]     |                                    ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]    --> src/expr/eval.rs:177:49
[INFO] [stdout]     |
[INFO] [stdout] 177 |                 (MExpr::ConstNum(1), MExpr::Div(box a, box b))
[INFO] [stdout]     |                                                 ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/expr/eval.rs:194:39
[INFO] [stdout]     |
[INFO] [stdout] 194 |                     if let MExpr::Div(box a, box b) = ratio {
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 194 -                     if let MExpr::Div(box a, box b) = ratio {
[INFO] [stdout] 194 +                     if let MExpr::Div(a, box b) = ratio {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 194 -                     if let MExpr::Div(box a, box b) = ratio {
[INFO] [stdout] 194 +                     if let MExpr::Div(deref!(a), box b) = ratio {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/expr/eval.rs:194:46
[INFO] [stdout]     |
[INFO] [stdout] 194 |                     if let MExpr::Div(box a, box b) = ratio {
[INFO] [stdout]     |                                              ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 194 -                     if let MExpr::Div(box a, box b) = ratio {
[INFO] [stdout] 194 +                     if let MExpr::Div(box a, b) = ratio {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 194 -                     if let MExpr::Div(box a, box b) = ratio {
[INFO] [stdout] 194 +                     if let MExpr::Div(box a, deref!(b)) = ratio {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]    --> src/expr/eval.rs:225:40
[INFO] [stdout]     |
[INFO] [stdout] 225 |                 let ratio = MExpr::Div(box num, box den).reduce(false);
[INFO] [stdout]     |                                        ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]    --> src/expr/eval.rs:237:53
[INFO] [stdout]     |
[INFO] [stdout] 237 |                     (MExpr::ConstNum(1), MExpr::Div(box a, box b).reduce(false))
[INFO] [stdout]     |                                                     ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]   --> src/expr/parse.rs:91:34
[INFO] [stdout]    |
[INFO] [stdout] 91 |             return Ok(MExpr::Div(box num, box den));
[INFO] [stdout]    |                                  ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]    --> src/expr/parse.rs:206:37
[INFO] [stdout]     |
[INFO] [stdout] 206 |             return Ok(MPattern::Div(box num, box den));
[INFO] [stdout]     |                                     ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/expr_pattern.rs:23:25
[INFO] [stdout]    |
[INFO] [stdout] 23 |             &MExpr::Div(box ref a, box ref b) | &MExpr::Exp(box ref a, box ref b) => {
[INFO] [stdout]    |                         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 23 -             &MExpr::Div(box ref a, box ref b) | &MExpr::Exp(box ref a, box ref b) => {
[INFO] [stdout] 23 +             &MExpr::Div(ref a, box ref b) | &MExpr::Exp(box ref a, box ref b) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 23 -             &MExpr::Div(box ref a, box ref b) | &MExpr::Exp(box ref a, box ref b) => {
[INFO] [stdout] 23 +             &MExpr::Div(deref!(ref a), box ref b) | &MExpr::Exp(box ref a, box ref b) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/expr_pattern.rs:23:36
[INFO] [stdout]    |
[INFO] [stdout] 23 |             &MExpr::Div(box ref a, box ref b) | &MExpr::Exp(box ref a, box ref b) => {
[INFO] [stdout]    |                                    ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 23 -             &MExpr::Div(box ref a, box ref b) | &MExpr::Exp(box ref a, box ref b) => {
[INFO] [stdout] 23 +             &MExpr::Div(box ref a, ref b) | &MExpr::Exp(box ref a, box ref b) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 23 -             &MExpr::Div(box ref a, box ref b) | &MExpr::Exp(box ref a, box ref b) => {
[INFO] [stdout] 23 +             &MExpr::Div(box ref a, deref!(ref b)) | &MExpr::Exp(box ref a, box ref b) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/expr_pattern.rs:23:61
[INFO] [stdout]    |
[INFO] [stdout] 23 |             &MExpr::Div(box ref a, box ref b) | &MExpr::Exp(box ref a, box ref b) => {
[INFO] [stdout]    |                                                             ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 23 -             &MExpr::Div(box ref a, box ref b) | &MExpr::Exp(box ref a, box ref b) => {
[INFO] [stdout] 23 +             &MExpr::Div(box ref a, box ref b) | &MExpr::Exp(ref a, box ref b) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 23 -             &MExpr::Div(box ref a, box ref b) | &MExpr::Exp(box ref a, box ref b) => {
[INFO] [stdout] 23 +             &MExpr::Div(box ref a, box ref b) | &MExpr::Exp(deref!(ref a), box ref b) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/expr_pattern.rs:23:72
[INFO] [stdout]    |
[INFO] [stdout] 23 |             &MExpr::Div(box ref a, box ref b) | &MExpr::Exp(box ref a, box ref b) => {
[INFO] [stdout]    |                                                                        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 23 -             &MExpr::Div(box ref a, box ref b) | &MExpr::Exp(box ref a, box ref b) => {
[INFO] [stdout] 23 +             &MExpr::Div(box ref a, box ref b) | &MExpr::Exp(box ref a, ref b) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 23 -             &MExpr::Div(box ref a, box ref b) | &MExpr::Exp(box ref a, box ref b) => {
[INFO] [stdout] 23 +             &MExpr::Div(box ref a, box ref b) | &MExpr::Exp(box ref a, deref!(ref b)) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/expr_pattern.rs:40:24
[INFO] [stdout]    |
[INFO] [stdout] 40 |             MExpr::Div(box num, box den) => {
[INFO] [stdout]    |                        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 40 -             MExpr::Div(box num, box den) => {
[INFO] [stdout] 40 +             MExpr::Div(num, box den) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 40 -             MExpr::Div(box num, box den) => {
[INFO] [stdout] 40 +             MExpr::Div(deref!(num), box den) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/expr_pattern.rs:40:33
[INFO] [stdout]    |
[INFO] [stdout] 40 |             MExpr::Div(box num, box den) => {
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 40 -             MExpr::Div(box num, box den) => {
[INFO] [stdout] 40 +             MExpr::Div(box num, den) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 40 -             MExpr::Div(box num, box den) => {
[INFO] [stdout] 40 +             MExpr::Div(box num, deref!(den)) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]   --> src/expr/expr_pattern.rs:49:48
[INFO] [stdout]    |
[INFO] [stdout] 49 |                         res.push(MPattern::Div(box num_pat.clone(), box den_pat));
[INFO] [stdout]    |                                                ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/expr_pattern.rs:54:24
[INFO] [stdout]    |
[INFO] [stdout] 54 |             MExpr::Exp(box _, box _) => ( vec![], var_idx ),
[INFO] [stdout]    |                        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 54 -             MExpr::Exp(box _, box _) => ( vec![], var_idx ),
[INFO] [stdout] 54 +             MExpr::Exp(_, box _) => ( vec![], var_idx ),
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 54 -             MExpr::Exp(box _, box _) => ( vec![], var_idx ),
[INFO] [stdout] 54 +             MExpr::Exp(deref!(_), box _) => ( vec![], var_idx ),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/expr_pattern.rs:54:31
[INFO] [stdout]    |
[INFO] [stdout] 54 |             MExpr::Exp(box _, box _) => ( vec![], var_idx ),
[INFO] [stdout]    |                               ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 54 -             MExpr::Exp(box _, box _) => ( vec![], var_idx ),
[INFO] [stdout] 54 +             MExpr::Exp(box _, _) => ( vec![], var_idx ),
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 54 -             MExpr::Exp(box _, box _) => ( vec![], var_idx ),
[INFO] [stdout] 54 +             MExpr::Exp(box _, deref!(_)) => ( vec![], var_idx ),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/expr/expr_pattern.rs:136:27
[INFO] [stdout]     |
[INFO] [stdout] 136 |             MPattern::Div(box num, box den) => {
[INFO] [stdout]     |                           ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 136 -             MPattern::Div(box num, box den) => {
[INFO] [stdout] 136 +             MPattern::Div(num, box den) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 136 -             MPattern::Div(box num, box den) => {
[INFO] [stdout] 136 +             MPattern::Div(deref!(num), box den) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/expr/expr_pattern.rs:136:36
[INFO] [stdout]     |
[INFO] [stdout] 136 |             MPattern::Div(box num, box den) => {
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 136 -             MPattern::Div(box num, box den) => {
[INFO] [stdout] 136 +             MPattern::Div(box num, den) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 136 -             MPattern::Div(box num, box den) => {
[INFO] [stdout] 136 +             MPattern::Div(box num, deref!(den)) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]    --> src/expr/expr_pattern.rs:137:31
[INFO] [stdout]     |
[INFO] [stdout] 137 |                 MPattern::Div(box num.trivial_reduce(), box den.trivial_reduce())
[INFO] [stdout]     |                               ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/expr/expr_pattern.rs:158:27
[INFO] [stdout]     |
[INFO] [stdout] 158 |             MPattern::Div(box num, box den) => {
[INFO] [stdout]     |                           ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 158 -             MPattern::Div(box num, box den) => {
[INFO] [stdout] 158 +             MPattern::Div(num, box den) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 158 -             MPattern::Div(box num, box den) => {
[INFO] [stdout] 158 +             MPattern::Div(deref!(num), box den) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/expr/expr_pattern.rs:158:36
[INFO] [stdout]     |
[INFO] [stdout] 158 |             MPattern::Div(box num, box den) => {
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 158 -             MPattern::Div(box num, box den) => {
[INFO] [stdout] 158 +             MPattern::Div(box num, den) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 158 -             MPattern::Div(box num, box den) => {
[INFO] [stdout] 158 +             MPattern::Div(box num, deref!(den)) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/expr/expr_pattern.rs:190:28
[INFO] [stdout]     |
[INFO] [stdout] 190 |             (MPattern::Div(box a_pat, box b_pat), MExpr::Div(box a, box b)) => {
[INFO] [stdout]     |                            ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 190 -             (MPattern::Div(box a_pat, box b_pat), MExpr::Div(box a, box b)) => {
[INFO] [stdout] 190 +             (MPattern::Div(a_pat, box b_pat), MExpr::Div(box a, box b)) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 190 -             (MPattern::Div(box a_pat, box b_pat), MExpr::Div(box a, box b)) => {
[INFO] [stdout] 190 +             (MPattern::Div(deref!(a_pat), box b_pat), MExpr::Div(box a, box b)) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/expr/expr_pattern.rs:190:39
[INFO] [stdout]     |
[INFO] [stdout] 190 |             (MPattern::Div(box a_pat, box b_pat), MExpr::Div(box a, box b)) => {
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 190 -             (MPattern::Div(box a_pat, box b_pat), MExpr::Div(box a, box b)) => {
[INFO] [stdout] 190 +             (MPattern::Div(box a_pat, b_pat), MExpr::Div(box a, box b)) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 190 -             (MPattern::Div(box a_pat, box b_pat), MExpr::Div(box a, box b)) => {
[INFO] [stdout] 190 +             (MPattern::Div(box a_pat, deref!(b_pat)), MExpr::Div(box a, box b)) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/expr/expr_pattern.rs:190:62
[INFO] [stdout]     |
[INFO] [stdout] 190 |             (MPattern::Div(box a_pat, box b_pat), MExpr::Div(box a, box b)) => {
[INFO] [stdout]     |                                                              ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 190 -             (MPattern::Div(box a_pat, box b_pat), MExpr::Div(box a, box b)) => {
[INFO] [stdout] 190 +             (MPattern::Div(box a_pat, box b_pat), MExpr::Div(a, box b)) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 190 -             (MPattern::Div(box a_pat, box b_pat), MExpr::Div(box a, box b)) => {
[INFO] [stdout] 190 +             (MPattern::Div(box a_pat, box b_pat), MExpr::Div(deref!(a), box b)) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/expr/expr_pattern.rs:190:69
[INFO] [stdout]     |
[INFO] [stdout] 190 |             (MPattern::Div(box a_pat, box b_pat), MExpr::Div(box a, box b)) => {
[INFO] [stdout]     |                                                                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 190 -             (MPattern::Div(box a_pat, box b_pat), MExpr::Div(box a, box b)) => {
[INFO] [stdout] 190 +             (MPattern::Div(box a_pat, box b_pat), MExpr::Div(box a, b)) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 190 -             (MPattern::Div(box a_pat, box b_pat), MExpr::Div(box a, box b)) => {
[INFO] [stdout] 190 +             (MPattern::Div(box a_pat, box b_pat), MExpr::Div(box a, deref!(b))) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/expr/expr_pattern.rs:304:27
[INFO] [stdout]     |
[INFO] [stdout] 304 |             MPattern::Div(box den, box num) => {
[INFO] [stdout]     |                           ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 304 -             MPattern::Div(box den, box num) => {
[INFO] [stdout] 304 +             MPattern::Div(den, box num) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 304 -             MPattern::Div(box den, box num) => {
[INFO] [stdout] 304 +             MPattern::Div(deref!(den), box num) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/expr/expr_pattern.rs:304:36
[INFO] [stdout]     |
[INFO] [stdout] 304 |             MPattern::Div(box den, box num) => {
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 304 -             MPattern::Div(box den, box num) => {
[INFO] [stdout] 304 +             MPattern::Div(box den, num) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 304 -             MPattern::Div(box den, box num) => {
[INFO] [stdout] 304 +             MPattern::Div(box den, deref!(num)) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]    --> src/expr/expr_pattern.rs:306:21
[INFO] [stdout]     |
[INFO] [stdout] 306 |                     box den.convert_to_mexpr(),
[INFO] [stdout]     |                     ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]    --> src/expr/expr_pattern.rs:330:33
[INFO] [stdout]     |
[INFO] [stdout] 330 |     let pattern = MPattern::Div(box MPattern::Const(0), box MPattern::Var(0));
[INFO] [stdout]     |                                 ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]    --> src/expr/expr_pattern.rs:331:27
[INFO] [stdout]     |
[INFO] [stdout] 331 |     let expr = MExpr::Div(box MExpr::ConstNum(3), box MExpr::Prod(vec![ MExpr::ConstNum(2), MExpr::Var(21)] ));
[INFO] [stdout]     |                           ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/reduce_prod.rs:21:27
[INFO] [stdout]    |
[INFO] [stdout] 21 |         if let MExpr::Div(box num, box den) = term {
[INFO] [stdout]    |                           ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 21 -         if let MExpr::Div(box num, box den) = term {
[INFO] [stdout] 21 +         if let MExpr::Div(num, box den) = term {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 21 -         if let MExpr::Div(box num, box den) = term {
[INFO] [stdout] 21 +         if let MExpr::Div(deref!(num), box den) = term {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/reduce_prod.rs:21:36
[INFO] [stdout]    |
[INFO] [stdout] 21 |         if let MExpr::Div(box num, box den) = term {
[INFO] [stdout]    |                                    ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 21 -         if let MExpr::Div(box num, box den) = term {
[INFO] [stdout] 21 +         if let MExpr::Div(box num, den) = term {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 21 -         if let MExpr::Div(box num, box den) = term {
[INFO] [stdout] 21 +         if let MExpr::Div(box num, deref!(den)) = term {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]   --> src/equation/action.rs:66:44
[INFO] [stdout]    |
[INFO] [stdout] 66 | ...                   MExpr::Div(box lhs, box x.clone()),
[INFO] [stdout]    |                                  ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]   --> src/equation/action.rs:67:44
[INFO] [stdout]    |
[INFO] [stdout] 67 | ...                   MExpr::Div(box rhs, box x.clone()),
[INFO] [stdout]    |                                  ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]   --> src/equation/action.rs:94:44
[INFO] [stdout]    |
[INFO] [stdout] 94 | ...                   MExpr::Div(box lhs, box x.clone()),
[INFO] [stdout]    |                                  ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]   --> src/equation/action.rs:95:44
[INFO] [stdout]    |
[INFO] [stdout] 95 | ...                   MExpr::Div(box rhs, box x.clone()),
[INFO] [stdout]    |                                  ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0583]: file not found for module `solver`
[INFO] [stdout]  --> src/main.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub mod solver;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: to create the module `solver`, create file "src/solver.rs" or "src/solver/mod.rs"
[INFO] [stdout]   = note: if there is a `mod solver` elsewhere in the crate already, import it with `use crate::...` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]    --> src/expr/eval.rs:269:20
[INFO] [stdout]     |
[INFO] [stdout] 269 |         MExpr::Div(box MExpr::ConstNum(10), box MExpr::ConstNum(5)).reduce(true),
[INFO] [stdout]     |                    ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]    --> src/expr/eval.rs:274:37
[INFO] [stdout]     |
[INFO] [stdout] 274 |         MExpr::Sum(vec![ MExpr::Div(box MExpr::ConstNum(1), box MExpr::Var(0)), MExpr::ConstNum(1) ]).reduce(true),
[INFO] [stdout]     |                                     ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]    --> src/expr/eval.rs:275:37
[INFO] [stdout]     |
[INFO] [stdout] 275 |         MExpr::Sum(vec![ MExpr::Div(box MExpr::ConstNum(1), box MExpr::Var(0)), MExpr::ConstNum(1) ])
[INFO] [stdout]     |                                     ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]    --> src/expr/eval.rs:279:20
[INFO] [stdout]     |
[INFO] [stdout] 279 |         MExpr::Div(box MExpr::Var(0), box MExpr::ConstNum(1)).reduce(true),
[INFO] [stdout]     |                    ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]    --> src/expr/eval.rs:294:53
[INFO] [stdout]     |
[INFO] [stdout] 294 |         MExpr::Prod(vec! [MExpr::Var(0), MExpr::Div(box MExpr::ConstNum(3), box MExpr::Var(0))]).reduce(true),
[INFO] [stdout]     |                                                     ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]   --> src/tests.rs:83:26
[INFO] [stdout]    |
[INFO] [stdout] 83 |         Some(&MExpr::Div(box MExpr::ConstNum(2), box MExpr::Var(23)))
[INFO] [stdout]    |                          ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/main.rs:1:12
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(box_syntax, box_patterns)]
[INFO] [stdout]   |            ^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: removed in 1.70.0; see <https://github.com/rust-lang/rust/pull/108471> for more information
[INFO] [stdout]   = note: replaced with `#[rustc_box]`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0557]: feature has been removed
[INFO] [stdout]  --> src/main.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | #![feature(box_syntax, box_patterns)]
[INFO] [stdout]   |                        ^^^^^^^^^^^^ feature has been removed
[INFO] [stdout]   |
[INFO] [stdout]   = note: removed in CURRENT_RUSTC_VERSION
[INFO] [stdout]   = note: superseded by `deref_patterns`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/exprs.rs:58:30
[INFO] [stdout]    |
[INFO] [stdout] 58 |                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout]    |                              ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 58 -                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout] 58 +                 (&MExpr::Exp(ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 58 -                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout] 58 +                 (&MExpr::Exp(deref!(ref x), box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/exprs.rs:58:41
[INFO] [stdout]    |
[INFO] [stdout] 58 |                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout]    |                                         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 58 -                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout] 58 +                 (&MExpr::Exp(box ref x, ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 58 -                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout] 58 +                 (&MExpr::Exp(box ref x, deref!(ref y)), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/exprs.rs:58:65
[INFO] [stdout]    |
[INFO] [stdout] 58 |                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout]    |                                                                 ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 58 -                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout] 58 +                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(ref x_, box ref y_)) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 58 -                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout] 58 +                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(deref!(ref x_), box ref y_)) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/exprs.rs:58:77
[INFO] [stdout]    |
[INFO] [stdout] 58 |                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout]    |                                                                             ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 58 -                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout] 58 +                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, ref y_)) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 58 -                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout] 58 +                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, deref!(ref y_))) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/exprs.rs:88:30
[INFO] [stdout]    |
[INFO] [stdout] 88 |                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout]    |                              ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 88 -                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout] 88 +                 (&MExpr::Exp(ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 88 -                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout] 88 +                 (&MExpr::Exp(deref!(ref x), box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/exprs.rs:88:41
[INFO] [stdout]    |
[INFO] [stdout] 88 |                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout]    |                                         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 88 -                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout] 88 +                 (&MExpr::Exp(box ref x, ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 88 -                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout] 88 +                 (&MExpr::Exp(box ref x, deref!(ref y)), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/exprs.rs:88:65
[INFO] [stdout]    |
[INFO] [stdout] 88 |                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout]    |                                                                 ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 88 -                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout] 88 +                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(ref x_, box ref y_)) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 88 -                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout] 88 +                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(deref!(ref x_), box ref y_)) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/exprs.rs:88:77
[INFO] [stdout]    |
[INFO] [stdout] 88 |                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout]    |                                                                             ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 88 -                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout] 88 +                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, ref y_)) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 88 -                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, box ref y_)) => {
[INFO] [stdout] 88 +                 (&MExpr::Exp(box ref x, box ref y), &MExpr::Exp(box ref x_, deref!(ref y_))) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/display.rs:51:24
[INFO] [stdout]    |
[INFO] [stdout] 51 |             MExpr::Exp(box ref base, box ref exp) => {
[INFO] [stdout]    |                        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 51 -             MExpr::Exp(box ref base, box ref exp) => {
[INFO] [stdout] 51 +             MExpr::Exp(ref base, box ref exp) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 51 -             MExpr::Exp(box ref base, box ref exp) => {
[INFO] [stdout] 51 +             MExpr::Exp(deref!(ref base), box ref exp) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/display.rs:51:38
[INFO] [stdout]    |
[INFO] [stdout] 51 |             MExpr::Exp(box ref base, box ref exp) => {
[INFO] [stdout]    |                                      ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 51 -             MExpr::Exp(box ref base, box ref exp) => {
[INFO] [stdout] 51 +             MExpr::Exp(box ref base, ref exp) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 51 -             MExpr::Exp(box ref base, box ref exp) => {
[INFO] [stdout] 51 +             MExpr::Exp(box ref base, deref!(ref exp)) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/display.rs:67:24
[INFO] [stdout]    |
[INFO] [stdout] 67 |             MExpr::Div(box ref base, box ref exp) => {
[INFO] [stdout]    |                        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 67 -             MExpr::Div(box ref base, box ref exp) => {
[INFO] [stdout] 67 +             MExpr::Div(ref base, box ref exp) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 67 -             MExpr::Div(box ref base, box ref exp) => {
[INFO] [stdout] 67 +             MExpr::Div(deref!(ref base), box ref exp) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/display.rs:67:38
[INFO] [stdout]    |
[INFO] [stdout] 67 |             MExpr::Div(box ref base, box ref exp) => {
[INFO] [stdout]    |                                      ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 67 -             MExpr::Div(box ref base, box ref exp) => {
[INFO] [stdout] 67 +             MExpr::Div(box ref base, ref exp) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 67 -             MExpr::Div(box ref base, box ref exp) => {
[INFO] [stdout] 67 +             MExpr::Div(box ref base, deref!(ref exp)) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/expr/display.rs:124:27
[INFO] [stdout]     |
[INFO] [stdout] 124 |             MPattern::Div(box num, box den) => {
[INFO] [stdout]     |                           ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 124 -             MPattern::Div(box num, box den) => {
[INFO] [stdout] 124 +             MPattern::Div(num, box den) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 124 -             MPattern::Div(box num, box den) => {
[INFO] [stdout] 124 +             MPattern::Div(deref!(num), box den) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/expr/display.rs:124:36
[INFO] [stdout]     |
[INFO] [stdout] 124 |             MPattern::Div(box num, box den) => {
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 124 -             MPattern::Div(box num, box den) => {
[INFO] [stdout] 124 +             MPattern::Div(box num, den) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 124 -             MPattern::Div(box num, box den) => {
[INFO] [stdout] 124 +             MPattern::Div(box num, deref!(den)) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/eval.rs:41:24
[INFO] [stdout]    |
[INFO] [stdout] 41 |             MExpr::Div(box num, box den) => {
[INFO] [stdout]    |                        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 41 -             MExpr::Div(box num, box den) => {
[INFO] [stdout] 41 +             MExpr::Div(num, box den) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 41 -             MExpr::Div(box num, box den) => {
[INFO] [stdout] 41 +             MExpr::Div(deref!(num), box den) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/eval.rs:41:33
[INFO] [stdout]    |
[INFO] [stdout] 41 |             MExpr::Div(box num, box den) => {
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 41 -             MExpr::Div(box num, box den) => {
[INFO] [stdout] 41 +             MExpr::Div(box num, den) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 41 -             MExpr::Div(box num, box den) => {
[INFO] [stdout] 41 +             MExpr::Div(box num, deref!(den)) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]   --> src/expr/eval.rs:42:28
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 MExpr::Div(box num.trivial_reduce(), box den.trivial_reduce())
[INFO] [stdout]    |                            ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]    --> src/expr/eval.rs:123:32
[INFO] [stdout]     |
[INFO] [stdout] 123 |                     MExpr::Div(box MExpr::Prod(num), box MExpr::Prod(den)).reduce(should_factor)
[INFO] [stdout]     |                                ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/expr/eval.rs:132:24
[INFO] [stdout]     |
[INFO] [stdout] 132 |             MExpr::Div(box num, box den) => {
[INFO] [stdout]     |                        ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 132 -             MExpr::Div(box num, box den) => {
[INFO] [stdout] 132 +             MExpr::Div(num, box den) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 132 -             MExpr::Div(box num, box den) => {
[INFO] [stdout] 132 +             MExpr::Div(deref!(num), box den) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/expr/eval.rs:132:33
[INFO] [stdout]     |
[INFO] [stdout] 132 |             MExpr::Div(box num, box den) => {
[INFO] [stdout]     |                                 ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 132 -             MExpr::Div(box num, box den) => {
[INFO] [stdout] 132 +             MExpr::Div(box num, den) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 132 -             MExpr::Div(box num, box den) => {
[INFO] [stdout] 132 +             MExpr::Div(box num, deref!(den)) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/expr/eval.rs:145:32
[INFO] [stdout]     |
[INFO] [stdout] 145 |                     MExpr::Div(box num, box den) => {
[INFO] [stdout]     |                                ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 145 -                     MExpr::Div(box num, box den) => {
[INFO] [stdout] 145 +                     MExpr::Div(num, box den) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 145 -                     MExpr::Div(box num, box den) => {
[INFO] [stdout] 145 +                     MExpr::Div(deref!(num), box den) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/expr/eval.rs:145:41
[INFO] [stdout]     |
[INFO] [stdout] 145 |                     MExpr::Div(box num, box den) => {
[INFO] [stdout]     |                                         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 145 -                     MExpr::Div(box num, box den) => {
[INFO] [stdout] 145 +                     MExpr::Div(box num, den) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 145 -                     MExpr::Div(box num, box den) => {
[INFO] [stdout] 145 +                     MExpr::Div(box num, deref!(den)) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]    --> src/expr/eval.rs:150:40
[INFO] [stdout]     |
[INFO] [stdout] 150 | ...                   MExpr::Div(box num, box den)
[INFO] [stdout]     |                                  ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]    --> src/expr/eval.rs:170:36
[INFO] [stdout]     |
[INFO] [stdout] 170 |                         MExpr::Div(box MExpr::ConstNum(a / gcd), box MExpr::ConstNum(b / gcd)),
[INFO] [stdout]     |                                    ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]    --> src/expr/eval.rs:177:49
[INFO] [stdout]     |
[INFO] [stdout] 177 |                 (MExpr::ConstNum(1), MExpr::Div(box a, box b))
[INFO] [stdout]     |                                                 ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/expr/eval.rs:194:39
[INFO] [stdout]     |
[INFO] [stdout] 194 |                     if let MExpr::Div(box a, box b) = ratio {
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 194 -                     if let MExpr::Div(box a, box b) = ratio {
[INFO] [stdout] 194 +                     if let MExpr::Div(a, box b) = ratio {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 194 -                     if let MExpr::Div(box a, box b) = ratio {
[INFO] [stdout] 194 +                     if let MExpr::Div(deref!(a), box b) = ratio {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/expr/eval.rs:194:46
[INFO] [stdout]     |
[INFO] [stdout] 194 |                     if let MExpr::Div(box a, box b) = ratio {
[INFO] [stdout]     |                                              ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 194 -                     if let MExpr::Div(box a, box b) = ratio {
[INFO] [stdout] 194 +                     if let MExpr::Div(box a, b) = ratio {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 194 -                     if let MExpr::Div(box a, box b) = ratio {
[INFO] [stdout] 194 +                     if let MExpr::Div(box a, deref!(b)) = ratio {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]    --> src/expr/eval.rs:225:40
[INFO] [stdout]     |
[INFO] [stdout] 225 |                 let ratio = MExpr::Div(box num, box den).reduce(false);
[INFO] [stdout]     |                                        ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]    --> src/expr/eval.rs:237:53
[INFO] [stdout]     |
[INFO] [stdout] 237 |                     (MExpr::ConstNum(1), MExpr::Div(box a, box b).reduce(false))
[INFO] [stdout]     |                                                     ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]   --> src/expr/parse.rs:91:34
[INFO] [stdout]    |
[INFO] [stdout] 91 |             return Ok(MExpr::Div(box num, box den));
[INFO] [stdout]    |                                  ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]    --> src/expr/parse.rs:206:37
[INFO] [stdout]     |
[INFO] [stdout] 206 |             return Ok(MPattern::Div(box num, box den));
[INFO] [stdout]     |                                     ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/expr_pattern.rs:23:25
[INFO] [stdout]    |
[INFO] [stdout] 23 |             &MExpr::Div(box ref a, box ref b) | &MExpr::Exp(box ref a, box ref b) => {
[INFO] [stdout]    |                         ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 23 -             &MExpr::Div(box ref a, box ref b) | &MExpr::Exp(box ref a, box ref b) => {
[INFO] [stdout] 23 +             &MExpr::Div(ref a, box ref b) | &MExpr::Exp(box ref a, box ref b) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 23 -             &MExpr::Div(box ref a, box ref b) | &MExpr::Exp(box ref a, box ref b) => {
[INFO] [stdout] 23 +             &MExpr::Div(deref!(ref a), box ref b) | &MExpr::Exp(box ref a, box ref b) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/expr_pattern.rs:23:36
[INFO] [stdout]    |
[INFO] [stdout] 23 |             &MExpr::Div(box ref a, box ref b) | &MExpr::Exp(box ref a, box ref b) => {
[INFO] [stdout]    |                                    ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 23 -             &MExpr::Div(box ref a, box ref b) | &MExpr::Exp(box ref a, box ref b) => {
[INFO] [stdout] 23 +             &MExpr::Div(box ref a, ref b) | &MExpr::Exp(box ref a, box ref b) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 23 -             &MExpr::Div(box ref a, box ref b) | &MExpr::Exp(box ref a, box ref b) => {
[INFO] [stdout] 23 +             &MExpr::Div(box ref a, deref!(ref b)) | &MExpr::Exp(box ref a, box ref b) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/expr_pattern.rs:23:61
[INFO] [stdout]    |
[INFO] [stdout] 23 |             &MExpr::Div(box ref a, box ref b) | &MExpr::Exp(box ref a, box ref b) => {
[INFO] [stdout]    |                                                             ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 23 -             &MExpr::Div(box ref a, box ref b) | &MExpr::Exp(box ref a, box ref b) => {
[INFO] [stdout] 23 +             &MExpr::Div(box ref a, box ref b) | &MExpr::Exp(ref a, box ref b) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 23 -             &MExpr::Div(box ref a, box ref b) | &MExpr::Exp(box ref a, box ref b) => {
[INFO] [stdout] 23 +             &MExpr::Div(box ref a, box ref b) | &MExpr::Exp(deref!(ref a), box ref b) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/expr_pattern.rs:23:72
[INFO] [stdout]    |
[INFO] [stdout] 23 |             &MExpr::Div(box ref a, box ref b) | &MExpr::Exp(box ref a, box ref b) => {
[INFO] [stdout]    |                                                                        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 23 -             &MExpr::Div(box ref a, box ref b) | &MExpr::Exp(box ref a, box ref b) => {
[INFO] [stdout] 23 +             &MExpr::Div(box ref a, box ref b) | &MExpr::Exp(box ref a, ref b) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 23 -             &MExpr::Div(box ref a, box ref b) | &MExpr::Exp(box ref a, box ref b) => {
[INFO] [stdout] 23 +             &MExpr::Div(box ref a, box ref b) | &MExpr::Exp(box ref a, deref!(ref b)) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/expr_pattern.rs:40:24
[INFO] [stdout]    |
[INFO] [stdout] 40 |             MExpr::Div(box num, box den) => {
[INFO] [stdout]    |                        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 40 -             MExpr::Div(box num, box den) => {
[INFO] [stdout] 40 +             MExpr::Div(num, box den) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 40 -             MExpr::Div(box num, box den) => {
[INFO] [stdout] 40 +             MExpr::Div(deref!(num), box den) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/expr_pattern.rs:40:33
[INFO] [stdout]    |
[INFO] [stdout] 40 |             MExpr::Div(box num, box den) => {
[INFO] [stdout]    |                                 ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 40 -             MExpr::Div(box num, box den) => {
[INFO] [stdout] 40 +             MExpr::Div(box num, den) => {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 40 -             MExpr::Div(box num, box den) => {
[INFO] [stdout] 40 +             MExpr::Div(box num, deref!(den)) => {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]   --> src/expr/expr_pattern.rs:49:48
[INFO] [stdout]    |
[INFO] [stdout] 49 |                         res.push(MPattern::Div(box num_pat.clone(), box den_pat));
[INFO] [stdout]    |                                                ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/expr_pattern.rs:54:24
[INFO] [stdout]    |
[INFO] [stdout] 54 |             MExpr::Exp(box _, box _) => ( vec![], var_idx ),
[INFO] [stdout]    |                        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 54 -             MExpr::Exp(box _, box _) => ( vec![], var_idx ),
[INFO] [stdout] 54 +             MExpr::Exp(_, box _) => ( vec![], var_idx ),
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 54 -             MExpr::Exp(box _, box _) => ( vec![], var_idx ),
[INFO] [stdout] 54 +             MExpr::Exp(deref!(_), box _) => ( vec![], var_idx ),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/expr_pattern.rs:54:31
[INFO] [stdout]    |
[INFO] [stdout] 54 |             MExpr::Exp(box _, box _) => ( vec![], var_idx ),
[INFO] [stdout]    |                               ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 54 -             MExpr::Exp(box _, box _) => ( vec![], var_idx ),
[INFO] [stdout] 54 +             MExpr::Exp(box _, _) => ( vec![], var_idx ),
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 54 -             MExpr::Exp(box _, box _) => ( vec![], var_idx ),
[INFO] [stdout] 54 +             MExpr::Exp(box _, deref!(_)) => ( vec![], var_idx ),
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/expr/expr_pattern.rs:136:27
[INFO] [stdout]     |
[INFO] [stdout] 136 |             MPattern::Div(box num, box den) => {
[INFO] [stdout]     |                           ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 136 -             MPattern::Div(box num, box den) => {
[INFO] [stdout] 136 +             MPattern::Div(num, box den) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 136 -             MPattern::Div(box num, box den) => {
[INFO] [stdout] 136 +             MPattern::Div(deref!(num), box den) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/expr/expr_pattern.rs:136:36
[INFO] [stdout]     |
[INFO] [stdout] 136 |             MPattern::Div(box num, box den) => {
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 136 -             MPattern::Div(box num, box den) => {
[INFO] [stdout] 136 +             MPattern::Div(box num, den) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 136 -             MPattern::Div(box num, box den) => {
[INFO] [stdout] 136 +             MPattern::Div(box num, deref!(den)) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]    --> src/expr/expr_pattern.rs:137:31
[INFO] [stdout]     |
[INFO] [stdout] 137 |                 MPattern::Div(box num.trivial_reduce(), box den.trivial_reduce())
[INFO] [stdout]     |                               ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/expr/expr_pattern.rs:158:27
[INFO] [stdout]     |
[INFO] [stdout] 158 |             MPattern::Div(box num, box den) => {
[INFO] [stdout]     |                           ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 158 -             MPattern::Div(box num, box den) => {
[INFO] [stdout] 158 +             MPattern::Div(num, box den) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 158 -             MPattern::Div(box num, box den) => {
[INFO] [stdout] 158 +             MPattern::Div(deref!(num), box den) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/expr/expr_pattern.rs:158:36
[INFO] [stdout]     |
[INFO] [stdout] 158 |             MPattern::Div(box num, box den) => {
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 158 -             MPattern::Div(box num, box den) => {
[INFO] [stdout] 158 +             MPattern::Div(box num, den) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 158 -             MPattern::Div(box num, box den) => {
[INFO] [stdout] 158 +             MPattern::Div(box num, deref!(den)) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/expr/expr_pattern.rs:190:28
[INFO] [stdout]     |
[INFO] [stdout] 190 |             (MPattern::Div(box a_pat, box b_pat), MExpr::Div(box a, box b)) => {
[INFO] [stdout]     |                            ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 190 -             (MPattern::Div(box a_pat, box b_pat), MExpr::Div(box a, box b)) => {
[INFO] [stdout] 190 +             (MPattern::Div(a_pat, box b_pat), MExpr::Div(box a, box b)) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 190 -             (MPattern::Div(box a_pat, box b_pat), MExpr::Div(box a, box b)) => {
[INFO] [stdout] 190 +             (MPattern::Div(deref!(a_pat), box b_pat), MExpr::Div(box a, box b)) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/expr/expr_pattern.rs:190:39
[INFO] [stdout]     |
[INFO] [stdout] 190 |             (MPattern::Div(box a_pat, box b_pat), MExpr::Div(box a, box b)) => {
[INFO] [stdout]     |                                       ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 190 -             (MPattern::Div(box a_pat, box b_pat), MExpr::Div(box a, box b)) => {
[INFO] [stdout] 190 +             (MPattern::Div(box a_pat, b_pat), MExpr::Div(box a, box b)) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 190 -             (MPattern::Div(box a_pat, box b_pat), MExpr::Div(box a, box b)) => {
[INFO] [stdout] 190 +             (MPattern::Div(box a_pat, deref!(b_pat)), MExpr::Div(box a, box b)) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/expr/expr_pattern.rs:190:62
[INFO] [stdout]     |
[INFO] [stdout] 190 |             (MPattern::Div(box a_pat, box b_pat), MExpr::Div(box a, box b)) => {
[INFO] [stdout]     |                                                              ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 190 -             (MPattern::Div(box a_pat, box b_pat), MExpr::Div(box a, box b)) => {
[INFO] [stdout] 190 +             (MPattern::Div(box a_pat, box b_pat), MExpr::Div(a, box b)) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 190 -             (MPattern::Div(box a_pat, box b_pat), MExpr::Div(box a, box b)) => {
[INFO] [stdout] 190 +             (MPattern::Div(box a_pat, box b_pat), MExpr::Div(deref!(a), box b)) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/expr/expr_pattern.rs:190:69
[INFO] [stdout]     |
[INFO] [stdout] 190 |             (MPattern::Div(box a_pat, box b_pat), MExpr::Div(box a, box b)) => {
[INFO] [stdout]     |                                                                     ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 190 -             (MPattern::Div(box a_pat, box b_pat), MExpr::Div(box a, box b)) => {
[INFO] [stdout] 190 +             (MPattern::Div(box a_pat, box b_pat), MExpr::Div(box a, b)) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 190 -             (MPattern::Div(box a_pat, box b_pat), MExpr::Div(box a, box b)) => {
[INFO] [stdout] 190 +             (MPattern::Div(box a_pat, box b_pat), MExpr::Div(box a, deref!(b))) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/expr/expr_pattern.rs:304:27
[INFO] [stdout]     |
[INFO] [stdout] 304 |             MPattern::Div(box den, box num) => {
[INFO] [stdout]     |                           ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 304 -             MPattern::Div(box den, box num) => {
[INFO] [stdout] 304 +             MPattern::Div(den, box num) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 304 -             MPattern::Div(box den, box num) => {
[INFO] [stdout] 304 +             MPattern::Div(deref!(den), box num) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]    --> src/expr/expr_pattern.rs:304:36
[INFO] [stdout]     |
[INFO] [stdout] 304 |             MPattern::Div(box den, box num) => {
[INFO] [stdout]     |                                    ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]     |
[INFO] [stdout] 304 -             MPattern::Div(box den, box num) => {
[INFO] [stdout] 304 +             MPattern::Div(box den, num) => {
[INFO] [stdout]     |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]     |
[INFO] [stdout] 304 -             MPattern::Div(box den, box num) => {
[INFO] [stdout] 304 +             MPattern::Div(box den, deref!(num)) => {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]    --> src/expr/expr_pattern.rs:306:21
[INFO] [stdout]     |
[INFO] [stdout] 306 |                     box den.convert_to_mexpr(),
[INFO] [stdout]     |                     ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]    --> src/expr/expr_pattern.rs:330:33
[INFO] [stdout]     |
[INFO] [stdout] 330 |     let pattern = MPattern::Div(box MPattern::Const(0), box MPattern::Var(0));
[INFO] [stdout]     |                                 ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]    --> src/expr/expr_pattern.rs:331:27
[INFO] [stdout]     |
[INFO] [stdout] 331 |     let expr = MExpr::Div(box MExpr::ConstNum(3), box MExpr::Prod(vec![ MExpr::ConstNum(2), MExpr::Var(21)] ));
[INFO] [stdout]     |                           ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/reduce_prod.rs:21:27
[INFO] [stdout]    |
[INFO] [stdout] 21 |         if let MExpr::Div(box num, box den) = term {
[INFO] [stdout]    |                           ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 21 -         if let MExpr::Div(box num, box den) = term {
[INFO] [stdout] 21 +         if let MExpr::Div(num, box den) = term {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 21 -         if let MExpr::Div(box num, box den) = term {
[INFO] [stdout] 21 +         if let MExpr::Div(deref!(num), box den) = term {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: `box` patterns have been removed (feature `box_patterns`)
[INFO] [stdout]   --> src/expr/reduce_prod.rs:21:36
[INFO] [stdout]    |
[INFO] [stdout] 21 |         if let MExpr::Div(box num, box den) = term {
[INFO] [stdout]    |                                    ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = help: enable feature `deref_patterns` instead and...
[INFO] [stdout] help: ...if possible just remove keyword `box`...
[INFO] [stdout]    |
[INFO] [stdout] 21 -         if let MExpr::Div(box num, box den) = term {
[INFO] [stdout] 21 +         if let MExpr::Div(box num, den) = term {
[INFO] [stdout]    |
[INFO] [stdout] help: ...otherwise replace it with an invocation of macro `deref`
[INFO] [stdout]    |
[INFO] [stdout] 21 -         if let MExpr::Div(box num, box den) = term {
[INFO] [stdout] 21 +         if let MExpr::Div(box num, deref!(den)) = term {
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]   --> src/equation/action.rs:66:44
[INFO] [stdout]    |
[INFO] [stdout] 66 | ...                   MExpr::Div(box lhs, box x.clone()),
[INFO] [stdout]    |                                  ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]   --> src/equation/action.rs:67:44
[INFO] [stdout]    |
[INFO] [stdout] 67 | ...                   MExpr::Div(box rhs, box x.clone()),
[INFO] [stdout]    |                                  ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]   --> src/equation/action.rs:94:44
[INFO] [stdout]    |
[INFO] [stdout] 94 | ...                   MExpr::Div(box lhs, box x.clone()),
[INFO] [stdout]    |                                  ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected expression, found reserved keyword `box`
[INFO] [stdout]   --> src/equation/action.rs:95:44
[INFO] [stdout]    |
[INFO] [stdout] 95 | ...                   MExpr::Div(box rhs, box x.clone()),
[INFO] [stdout]    |                                  ^^^ expected expression
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0583]: file not found for module `solver`
[INFO] [stdout]  --> src/main.rs:6:1
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub mod solver;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = help: to create the module `solver`, create file "src/solver.rs" or "src/solver/mod.rs"
[INFO] [stdout]   = note: if there is a `mod solver` elsewhere in the crate already, import it with `use crate::...` instead
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/expr/reduce_prod.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |     for mut term in terms {
[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: variable does not need to be mutable
[INFO] [stdout]   --> src/expr/reduce_sum.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     for mut term in terms {
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0557, E0583.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0557`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `patact` (bin "patact") due to 63 previous errors; 2 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/expr/reduce_prod.rs:40:9
[INFO] [stdout]    |
[INFO] [stdout] 40 |     for mut term in terms {
[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: variable does not need to be mutable
[INFO] [stdout]   --> src/expr/reduce_sum.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |     for mut term in terms {
[INFO] [stdout]    |         ----^^^^
[INFO] [stdout]    |         |
[INFO] [stdout]    |         help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0557, E0583.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0557`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `patact` (bin "patact" test) due to 69 previous errors; 2 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "050ef3a4b9a08027f121b041d20bb5628d110147e4cc9920cbc3e70dc2d9c1f6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "050ef3a4b9a08027f121b041d20bb5628d110147e4cc9920cbc3e70dc2d9c1f6", kill_on_drop: false }`
[INFO] [stdout] 050ef3a4b9a08027f121b041d20bb5628d110147e4cc9920cbc3e70dc2d9c1f6
