[INFO] fetching crate fungi-lang 0.1.63...
[INFO] checking fungi-lang-0.1.63 against master#b0696a5160711c068cb1f01b7437db7990d15750 for pr-121848
[INFO] extracting crate fungi-lang 0.1.63 into /workspace/builds/worker-2-tc1/source
[INFO] validating manifest of crates.io crate fungi-lang 0.1.63 on toolchain b0696a5160711c068cb1f01b7437db7990d15750
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking crates.io crate fungi-lang 0.1.63
[INFO] finished tweaking crates.io crate fungi-lang 0.1.63
[INFO] tweaked toml for crates.io crate fungi-lang 0.1.63 written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "generate-lockfile" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded proc-macro2 v0.3.8
[INFO] [stderr]   Downloaded adapton v0.3.31
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c8a129f8c7bb50793a5cd8c4dedcb27bb12a147bbc8aba93a3aab98cf89f0698
[INFO] running `Command { std: "docker" "start" "-a" "c8a129f8c7bb50793a5cd8c4dedcb27bb12a147bbc8aba93a3aab98cf89f0698", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c8a129f8c7bb50793a5cd8c4dedcb27bb12a147bbc8aba93a3aab98cf89f0698", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c8a129f8c7bb50793a5cd8c4dedcb27bb12a147bbc8aba93a3aab98cf89f0698", kill_on_drop: false }`
[INFO] [stdout] c8a129f8c7bb50793a5cd8c4dedcb27bb12a147bbc8aba93a3aab98cf89f0698
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:2788e3201cd34a07e3172128adcd8b3090168a8e3bcc40d7c032b9dda1df7d1c" "/opt/rustwide/cargo-home/bin/cargo" "+b0696a5160711c068cb1f01b7437db7990d15750" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b3376695b2f3fd5813fee835cb7d850fb3e33dc2265b4edddbf1b69ee2189dae
[INFO] running `Command { std: "docker" "start" "-a" "b3376695b2f3fd5813fee835cb7d850fb3e33dc2265b4edddbf1b69ee2189dae", kill_on_drop: false }`
[INFO] [stderr]     Checking memchr v2.7.1
[INFO] [stderr]    Compiling serde v1.0.197
[INFO] [stderr]    Compiling regex v0.2.11
[INFO] [stderr]     Checking ucd-util v0.1.10
[INFO] [stderr]    Compiling nom v4.2.3
[INFO] [stderr]     Checking thread_local v0.3.6
[INFO] [stderr]     Checking utf8-ranges v1.0.5
[INFO] [stderr]     Checking adapton v0.3.31
[INFO] [stderr]     Checking proc-macro2 v0.3.8
[INFO] [stderr]     Checking regex-syntax v0.5.6
[INFO] [stderr]     Checking aho-corasick v0.6.10
[INFO] [stderr]     Checking serde_json v1.0.114
[INFO] [stderr]     Checking fungi-lang v0.1.63 (/opt/rustwide/workdir)
[INFO] [stdout] error: expected `,`
[INFO] [stdout]    --> src/ast.rs:451:19
[INFO] [stdout]     |
[INFO] [stdout] 451 |     pub eval:Rc<Fn(Vec<dynamics::RtVal>) -> dynamics::ExpTerm>
[INFO] [stdout]     |                   ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: expected `,`
[INFO] [stdout]    --> src/ast.rs:451:19
[INFO] [stdout]     |
[INFO] [stdout] 451 |     pub eval:Rc<Fn(Vec<dynamics::RtVal>) -> dynamics::ExpTerm>
[INFO] [stdout]     |                   ^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/shared.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | / /// Global table of serialized objects; permits us to avoid multiple
[INFO] [stdout] 183 | | /// serialized copies of a single, shared object.
[INFO] [stdout]     | |_------------------------------------------------^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/normal.rs:501:19
[INFO] [stdout]     |
[INFO] [stdout] 501 |                 }};
[INFO] [stdout]     |                   ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `vt100` is imported redundantly
[INFO] [stdout]    --> src/decide.rs:420:13
[INFO] [stdout]     |
[INFO] [stdout] 203 |         decide::equiv, vt100,
[INFO] [stdout]     |                        ----- the item `vt100` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 420 |         use crate::vt100;
[INFO] [stdout]     |             ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `vt100` is imported redundantly
[INFO] [stdout]    --> src/decide.rs:560:13
[INFO] [stdout]     |
[INFO] [stdout] 203 |         decide::equiv, vt100,
[INFO] [stdout]     |                        ----- the item `vt100` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 560 |         use crate::vt100;
[INFO] [stdout]     |             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `HasClas` is imported redundantly
[INFO] [stdout]    --> src/decide.rs:696:25
[INFO] [stdout]     |
[INFO] [stdout] 696 |     use crate::bitype::{HasClas};
[INFO] [stdout]     |                         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 703 |     use super::*;
[INFO] [stdout]     |         -------- the item `HasClas` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Rc` is imported redundantly
[INFO] [stdout]    --> src/decide.rs:702:9
[INFO] [stdout]     |
[INFO] [stdout] 702 |     use std::rc::Rc;
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 703 |     use super::*;
[INFO] [stdout]     |         -------- the item `Rc` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Ctx` is imported redundantly
[INFO] [stdout]     --> src/decide.rs:1120:25
[INFO] [stdout]      |
[INFO] [stdout] 1120 |     use crate::bitype::{Ctx};
[INFO] [stdout]      |                         ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1124 |     use super::*;
[INFO] [stdout]      |         -------- the item `Ctx` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Rc` is imported redundantly
[INFO] [stdout]     --> src/decide.rs:1123:9
[INFO] [stdout]      |
[INFO] [stdout] 1123 |     use std::rc::Rc;
[INFO] [stdout]      |         ^^^^^^^^^^^
[INFO] [stdout] 1124 |     use super::*;
[INFO] [stdout]      |         -------- the item `Rc` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/decide.rs:1376:18
[INFO] [stdout]      |
[INFO] [stdout] 1376 |                 };
[INFO] [stdout]      |                  ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `vt100` is imported redundantly
[INFO] [stdout]     --> src/decide.rs:1740:13
[INFO] [stdout]      |
[INFO] [stdout] 1128 |     use crate::vt100;
[INFO] [stdout]      |         ------------ the item `vt100` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 1740 |         use crate::vt100;
[INFO] [stdout]      |             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `vt100` is imported redundantly
[INFO] [stdout]     --> src/decide.rs:1913:13
[INFO] [stdout]      |
[INFO] [stdout] 1128 |     use crate::vt100;
[INFO] [stdout]      |         ------------ the item `vt100` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 1913 |         use crate::vt100;
[INFO] [stdout]      |             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `HasClas` is imported redundantly
[INFO] [stdout]     --> src/decide.rs:1989:25
[INFO] [stdout]      |
[INFO] [stdout] 1989 |     use crate::bitype::{HasClas};
[INFO] [stdout]      |                         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1995 |     use super::*;
[INFO] [stdout]      |         -------- the item `HasClas` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/bitype.rs:1514:6
[INFO] [stdout]      |
[INFO] [stdout] 1514 |     };
[INFO] [stdout]      |      ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Sort` is imported redundantly
[INFO] [stdout]    --> src/dynamics.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 20  | use crate::ast::*;
[INFO] [stdout]     |     ------------- the item `Sort` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 174 |     use crate::ast::Sort;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Rc` is imported redundantly
[INFO] [stdout]   --> src/eval.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | use adapton::macros::*;
[INFO] [stdout]    |     ------------------ the item `Rc` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 50 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/eval.rs:268:14
[INFO] [stdout]     |
[INFO] [stdout] 268 |             };
[INFO] [stdout]     |              ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Rc` is imported redundantly
[INFO] [stdout]   --> src/reduce.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 | use adapton::macros::*;
[INFO] [stdout]    |     ------------------ the item `Rc` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/reduce.rs:630:14
[INFO] [stdout]     |
[INFO] [stdout] 630 |             };
[INFO] [stdout]     |              ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `RtVal` is imported redundantly
[INFO] [stdout]   --> src/examples/basic_hostobj.rs:88:31
[INFO] [stdout]    |
[INFO] [stdout] 88 |         use crate::dynamics::{RtVal,ExpTerm,ret};
[INFO] [stdout]    |                               ^^^^^
[INFO] [stdout] 89 |         use super::*;
[INFO] [stdout]    |             -------- the item `RtVal` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `crate_in_paths` has been stable since 1.30.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> src/lib.rs:95:12
[INFO] [stdout]    |
[INFO] [stdout] 95 | #![feature(crate_in_paths)]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/db.rs:10:29
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub bracket_indent: Box<Display>,
[INFO] [stdout]    |                             ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub bracket_indent: Box<dyn Display>,
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/db.rs:11:28
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub bracket_close: Box<Display>,
[INFO] [stdout]    |                            ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub bracket_close: Box<dyn Display>,
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/shared.rs:179:29
[INFO] [stdout]     |
[INFO] [stdout] 179 |     table:HashMap<Id,Box<Rc<Any>>>
[INFO] [stdout]     |                             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 179 |     table:HashMap<Id,Box<Rc<dyn Any>>>
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ast.rs:416:16
[INFO] [stdout]     |
[INFO] [stdout] 416 |     pub ops:Rc<HostObjOps>,
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 416 |     pub ops:Rc<dyn HostObjOps>,
[INFO] [stdout]     |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ast.rs:418:16
[INFO] [stdout]     |
[INFO] [stdout] 418 |     pub any:Rc<any::Any>
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 418 |     pub any:Rc<dyn any::Any>
[INFO] [stdout]     |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ast.rs:451:17
[INFO] [stdout]     |
[INFO] [stdout] 451 |     pub eval:Rc<Fn(Vec<dynamics::RtVal>) -> dynamics::ExpTerm>
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 451 |     pub eval:Rc<dyn Fn(Vec<dynamics::RtVal>) -> dynamics::ExpTerm>
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ast.rs:421:24
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn eq(&self, x:&Rc<any::Any>, y:&Rc<any::Any>) -> bool;
[INFO] [stdout]     |                        ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn eq(&self, x:&Rc<dyn any::Any>, y:&Rc<any::Any>) -> bool;
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ast.rs:421:41
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn eq(&self, x:&Rc<any::Any>, y:&Rc<any::Any>) -> bool;
[INFO] [stdout]     |                                         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn eq(&self, x:&Rc<any::Any>, y:&Rc<dyn any::Any>) -> bool;
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ast.rs:422:26
[INFO] [stdout]     |
[INFO] [stdout] 422 |     fn hash(&self, x:&Rc<any::Any>) -> u64;
[INFO] [stdout]     |                          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 422 |     fn hash(&self, x:&Rc<dyn any::Any>) -> u64;
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ast.rs:423:43
[INFO] [stdout]     |
[INFO] [stdout] 423 |     fn fmt(&self, f:&mut Formatter, x:&Rc<any::Any> ) -> fmt::Result;
[INFO] [stdout]     |                                           ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 423 |     fn fmt(&self, f:&mut Formatter, x:&Rc<dyn any::Any> ) -> fmt::Result;
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/hostobj.rs:53:67
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn obj_of_any<X:'static+Debug+Hash+Eq+PartialEq+Clone> (x:&Rc<Any>) -> Option<X> {
[INFO] [stdout]    |                                                                   ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn obj_of_any<X:'static+Debug+Hash+Eq+PartialEq+Clone> (x:&Rc<dyn Any>) -> Option<X> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/hostobj.rs:63:24
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn eq(&self, x:&Rc<Any>, y:&Rc<Any>) -> bool {
[INFO] [stdout]    |                        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn eq(&self, x:&Rc<dyn Any>, y:&Rc<Any>) -> bool {
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/hostobj.rs:63:36
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn eq(&self, x:&Rc<Any>, y:&Rc<Any>) -> bool {
[INFO] [stdout]    |                                    ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn eq(&self, x:&Rc<Any>, y:&Rc<dyn Any>) -> bool {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/hostobj.rs:69:26
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn hash(&self, x:&Rc<Any>) -> u64 {
[INFO] [stdout]    |                          ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn hash(&self, x:&Rc<dyn Any>) -> u64 {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/hostobj.rs:75:43
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn fmt(&self, f:&mut Formatter, x:&Rc<Any> ) -> fmt::Result {
[INFO] [stdout]    |                                           ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn fmt(&self, f:&mut Formatter, x:&Rc<dyn Any> ) -> fmt::Result {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused doc comment
[INFO] [stdout]    --> src/shared.rs:182:1
[INFO] [stdout]     |
[INFO] [stdout] 182 | / /// Global table of serialized objects; permits us to avoid multiple
[INFO] [stdout] 183 | | /// serialized copies of a single, shared object.
[INFO] [stdout]     | |_------------------------------------------------^
[INFO] [stdout]     |   |
[INFO] [stdout]     |   rustdoc does not generate documentation for macro invocations
[INFO] [stdout]     |
[INFO] [stdout]     = help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
[INFO] [stdout]     = note: `#[warn(unused_doc_comments)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/normal.rs:501:19
[INFO] [stdout]     |
[INFO] [stdout] 501 |                 }};
[INFO] [stdout]     |                   ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(redundant_semicolons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `vt100` is imported redundantly
[INFO] [stdout]    --> src/decide.rs:420:13
[INFO] [stdout]     |
[INFO] [stdout] 203 |         decide::equiv, vt100,
[INFO] [stdout]     |                        ----- the item `vt100` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 420 |         use crate::vt100;
[INFO] [stdout]     |             ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_imports)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `vt100` is imported redundantly
[INFO] [stdout]    --> src/decide.rs:560:13
[INFO] [stdout]     |
[INFO] [stdout] 203 |         decide::equiv, vt100,
[INFO] [stdout]     |                        ----- the item `vt100` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 560 |         use crate::vt100;
[INFO] [stdout]     |             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `HasClas` is imported redundantly
[INFO] [stdout]    --> src/decide.rs:696:25
[INFO] [stdout]     |
[INFO] [stdout] 696 |     use crate::bitype::{HasClas};
[INFO] [stdout]     |                         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 703 |     use super::*;
[INFO] [stdout]     |         -------- the item `HasClas` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Rc` is imported redundantly
[INFO] [stdout]    --> src/decide.rs:702:9
[INFO] [stdout]     |
[INFO] [stdout] 702 |     use std::rc::Rc;
[INFO] [stdout]     |         ^^^^^^^^^^^
[INFO] [stdout] 703 |     use super::*;
[INFO] [stdout]     |         -------- the item `Rc` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Ctx` is imported redundantly
[INFO] [stdout]     --> src/decide.rs:1120:25
[INFO] [stdout]      |
[INFO] [stdout] 1120 |     use crate::bitype::{Ctx};
[INFO] [stdout]      |                         ^^^
[INFO] [stdout] ...
[INFO] [stdout] 1124 |     use super::*;
[INFO] [stdout]      |         -------- the item `Ctx` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Rc` is imported redundantly
[INFO] [stdout]     --> src/decide.rs:1123:9
[INFO] [stdout]      |
[INFO] [stdout] 1123 |     use std::rc::Rc;
[INFO] [stdout]      |         ^^^^^^^^^^^
[INFO] [stdout] 1124 |     use super::*;
[INFO] [stdout]      |         -------- the item `Rc` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/decide.rs:1376:18
[INFO] [stdout]      |
[INFO] [stdout] 1376 |                 };
[INFO] [stdout]      |                  ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `vt100` is imported redundantly
[INFO] [stdout]     --> src/decide.rs:1740:13
[INFO] [stdout]      |
[INFO] [stdout] 1128 |     use crate::vt100;
[INFO] [stdout]      |         ------------ the item `vt100` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 1740 |         use crate::vt100;
[INFO] [stdout]      |             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `vt100` is imported redundantly
[INFO] [stdout]     --> src/decide.rs:1913:13
[INFO] [stdout]      |
[INFO] [stdout] 1128 |     use crate::vt100;
[INFO] [stdout]      |         ------------ the item `vt100` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 1913 |         use crate::vt100;
[INFO] [stdout]      |             ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `HasClas` is imported redundantly
[INFO] [stdout]     --> src/decide.rs:1989:25
[INFO] [stdout]      |
[INFO] [stdout] 1989 |     use crate::bitype::{HasClas};
[INFO] [stdout]      |                         ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1995 |     use super::*;
[INFO] [stdout]      |         -------- the item `HasClas` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]     --> src/bitype.rs:1514:6
[INFO] [stdout]      |
[INFO] [stdout] 1514 |     };
[INFO] [stdout]      |      ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Sort` is imported redundantly
[INFO] [stdout]    --> src/dynamics.rs:174:9
[INFO] [stdout]     |
[INFO] [stdout] 20  | use crate::ast::*;
[INFO] [stdout]     |     ------------- the item `Sort` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 174 |     use crate::ast::Sort;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Rc` is imported redundantly
[INFO] [stdout]   --> src/eval.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 46 | use adapton::macros::*;
[INFO] [stdout]    |     ------------------ the item `Rc` is already imported here
[INFO] [stdout] ...
[INFO] [stdout] 50 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/eval.rs:268:14
[INFO] [stdout]     |
[INFO] [stdout] 268 |             };
[INFO] [stdout]     |              ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `Rc` is imported redundantly
[INFO] [stdout]   --> src/reduce.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::rc::Rc;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 19 | use adapton::macros::*;
[INFO] [stdout]    |     ------------------ the item `Rc` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/reduce.rs:630:14
[INFO] [stdout]     |
[INFO] [stdout] 630 |             };
[INFO] [stdout]     |              ^ help: remove this semicolon
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/vis.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 |           };
[INFO] [stdout]     |            ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/examples/op_nat.rs:100:23
[INFO] [stdout]     |
[INFO] [stdout] 100 |       pub fn typing() { fgi_listing_test!{
[INFO] [stdout]     |  _______________________-
[INFO] [stdout] 101 | |         open crate::examples::op_nat;
[INFO] [stdout] 102 | |         ret 0
[INFO] [stdout] 103 | |     }}
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `fgi_listing_expect` which comes from the expansion of the macro `fgi_listing_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/vis.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 |           };
[INFO] [stdout]     |            ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/examples/nat.rs:75:23
[INFO] [stdout]     |
[INFO] [stdout] 75  |       pub fn typing() { fgi_listing_test!{
[INFO] [stdout]     |  _______________________-
[INFO] [stdout] 76  | |         open crate::examples::nat;
[INFO] [stdout] 77  | |         ret 0
[INFO] [stdout] 78  | |     }}
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `fgi_listing_expect` which comes from the expansion of the macro `fgi_listing_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/vis.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 |           };
[INFO] [stdout]     |            ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/examples/name.rs:55:23
[INFO] [stdout]     |
[INFO] [stdout] 55  |       pub fn typing() { fgi_listing_test!{
[INFO] [stdout]     |  _______________________-
[INFO] [stdout] 56  | |         open crate::examples::name;
[INFO] [stdout] 57  | |         ret 0
[INFO] [stdout] 58  | |     }}
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `fgi_listing_expect` which comes from the expansion of the macro `fgi_listing_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/vis.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 |           };
[INFO] [stdout]     |            ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/examples/pure_list_nat.rs:138:23
[INFO] [stdout]     |
[INFO] [stdout] 138 |       pub fn typing() { fgi_listing_test!{
[INFO] [stdout]     |  _______________________-
[INFO] [stdout] 139 | |         open crate::examples::pure_list_nat;
[INFO] [stdout] 140 | |         ret 0
[INFO] [stdout] 141 | |     }}
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `fgi_listing_expect` which comes from the expansion of the macro `fgi_listing_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/vis.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 |           };
[INFO] [stdout]     |            ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/examples/ref_edit.rs:36:23
[INFO] [stdout]     |
[INFO] [stdout] 36  |       pub fn typing() { fgi_listing_test!{
[INFO] [stdout]     |  _______________________-
[INFO] [stdout] 37  | |         open crate::examples::ref_edit;
[INFO] [stdout] 38  | |         ret 0
[INFO] [stdout] 39  | |     }}
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `fgi_listing_expect` which comes from the expansion of the macro `fgi_listing_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/vis.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 |           };
[INFO] [stdout]     |            ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/examples/list_nat.rs:155:23
[INFO] [stdout]     |
[INFO] [stdout] 155 |       pub fn typing() { fgi_listing_test!{
[INFO] [stdout]     |  _______________________-
[INFO] [stdout] 156 | |         open crate::examples::list_nat;
[INFO] [stdout] 157 | |         ret 0
[INFO] [stdout] 158 | |     }}
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `fgi_listing_expect` which comes from the expansion of the macro `fgi_listing_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/vis.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 |           };
[INFO] [stdout]     |            ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/examples/list_nat.rs:258:22
[INFO] [stdout]     |
[INFO] [stdout] 258 |   pub fn listing1 () { fgi_listing_expect![
[INFO] [stdout]     |  ______________________-
[INFO] [stdout] 259 | |     [Expect::FailureXXX]
[INFO] [stdout] 260 | |         
[INFO] [stdout] 261 | |         decls {
[INFO] [stdout] ...   |
[INFO] [stdout] 286 | |     ret 0
[INFO] [stdout] 287 | | ]}
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `fgi_listing_expect` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/vis.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 |           };
[INFO] [stdout]     |            ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/examples/trie_nat.rs:176:23
[INFO] [stdout]     |
[INFO] [stdout] 176 |       pub fn typing() { fgi_listing_test!{
[INFO] [stdout]     |  _______________________-
[INFO] [stdout] 177 | |         open crate::examples::trie_nat;
[INFO] [stdout] 178 | |         ret 0
[INFO] [stdout] 179 | |     }}
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `fgi_listing_expect` which comes from the expansion of the macro `fgi_listing_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/vis.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 |           };
[INFO] [stdout]     |            ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/examples/list_nat_dedup.rs:113:23
[INFO] [stdout]     |
[INFO] [stdout] 113 |       pub fn typing() { fgi_listing_test!{
[INFO] [stdout]     |  _______________________-
[INFO] [stdout] 114 | |         open crate::examples::list_nat_dedup;
[INFO] [stdout] 115 | |         ret 0
[INFO] [stdout] 116 | |     }}
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `fgi_listing_expect` which comes from the expansion of the macro `fgi_listing_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/vis.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 |           };
[INFO] [stdout]     |            ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/examples/seq_nat.rs:38:23
[INFO] [stdout]     |
[INFO] [stdout] 38  |       pub fn typing() { fgi_listing_test!{
[INFO] [stdout]     |  _______________________-
[INFO] [stdout] 39  | |         open crate::examples::seq_nat;
[INFO] [stdout] 40  | |         ret 0
[INFO] [stdout] 41  | |     }}
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `fgi_listing_expect` which comes from the expansion of the macro `fgi_listing_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/vis.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 |           };
[INFO] [stdout]     |            ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/examples/seq_nat_gen.rs:32:23
[INFO] [stdout]     |
[INFO] [stdout] 32  |       pub fn typing() { fgi_listing_test!{
[INFO] [stdout]     |  _______________________-
[INFO] [stdout] 33  | |         open crate::examples::seq_nat_gen;
[INFO] [stdout] 34  | |         ret 0
[INFO] [stdout] 35  | |     }}
[INFO] [stdout]     | |_____- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `fgi_listing_expect` which comes from the expansion of the macro `fgi_listing_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/vis.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 |           };
[INFO] [stdout]     |            ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/examples/seq_max.rs:2:21
[INFO] [stdout]     |
[INFO] [stdout] 2   |   pub fn listing () { fgi_listing_expect![
[INFO] [stdout]     |  _____________________-
[INFO] [stdout] 3   | |     [Expect::Success]
[INFO] [stdout] 4   | |         
[INFO] [stdout] 5   | |     decls {
[INFO] [stdout] ...   |
[INFO] [stdout] 71  | |     ret 0
[INFO] [stdout] 72  | | ]}
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `fgi_listing_expect` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/vis.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 |           };
[INFO] [stdout]     |            ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/examples/seq_filter.rs:2:21
[INFO] [stdout]     |
[INFO] [stdout] 2   |   pub fn listing () { fgi_listing_expect![
[INFO] [stdout]     |  _____________________-
[INFO] [stdout] 3   | |     [Expect::Success]
[INFO] [stdout] 4   | |  
[INFO] [stdout] 5   | |     decls {
[INFO] [stdout] ...   |
[INFO] [stdout] 119 | |     ret 0
[INFO] [stdout] 120 | | ]}
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `fgi_listing_expect` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/vis.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 |           };
[INFO] [stdout]     |            ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/examples/basic_hostobj.rs:55:27
[INFO] [stdout]     |
[INFO] [stdout] 55  |           pub fn typing() { fgi_listing_test!{
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 56  | |             open crate::examples::basic_hostobj::color;
[INFO] [stdout] 57  | |             let red   = {ret color_red}
[INFO] [stdout] 58  | |             let green = {ret color_green}
[INFO] [stdout] ...   |
[INFO] [stdout] 65  | |             ret (triple, triple_next)
[INFO] [stdout] 66  | |         }}
[INFO] [stdout]     | |_________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `fgi_listing_expect` which comes from the expansion of the macro `fgi_listing_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the item `RtVal` is imported redundantly
[INFO] [stdout]   --> src/examples/basic_hostobj.rs:88:31
[INFO] [stdout]    |
[INFO] [stdout] 88 |         use crate::dynamics::{RtVal,ExpTerm,ret};
[INFO] [stdout]    |                               ^^^^^
[INFO] [stdout] 89 |         use super::*;
[INFO] [stdout]    |             -------- the item `RtVal` is already imported here
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/vis.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 |           };
[INFO] [stdout]     |            ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/examples/basic_read_effects.rs:2:25
[INFO] [stdout]     |
[INFO] [stdout] 2   |   pub fn listing0_ok () { fgi_listing_test![
[INFO] [stdout]     |  _________________________-
[INFO] [stdout] 3   | |
[INFO] [stdout] 4   | |     let get:(
[INFO] [stdout] 5   | |         Thk[0] foralli X:NmSet.
[INFO] [stdout] ...   |
[INFO] [stdout] 14  | |     ret 0
[INFO] [stdout] 15  | | ]}
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `fgi_listing_expect` which comes from the expansion of the macro `fgi_listing_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/vis.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 |           };
[INFO] [stdout]     |            ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/examples/basic_read_effects.rs:18:26
[INFO] [stdout]     |
[INFO] [stdout] 18  |   pub fn listing0_err () { fgi_listing_expect![
[INFO] [stdout]     |  __________________________-
[INFO] [stdout] 19  | |     [Expect::Failure]
[INFO] [stdout] 20  | |         
[INFO] [stdout] 21  | |     let get:(
[INFO] [stdout] ...   |
[INFO] [stdout] 31  | |     ret 0
[INFO] [stdout] 32  | | ]}
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `fgi_listing_expect` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/vis.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 |           };
[INFO] [stdout]     |            ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/examples/basic_read_effects.rs:35:25
[INFO] [stdout]     |
[INFO] [stdout] 35  |   pub fn listing1_ok () { fgi_listing_test![
[INFO] [stdout]     |  _________________________-
[INFO] [stdout] 36  | |         
[INFO] [stdout] 37  | |     let get:(
[INFO] [stdout] 38  | |         Thk[0] foralli (X,Y):NmSet.
[INFO] [stdout] ...   |
[INFO] [stdout] 49  | |     ret 0
[INFO] [stdout] 50  | | ]}
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `fgi_listing_expect` which comes from the expansion of the macro `fgi_listing_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/vis.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 |           };
[INFO] [stdout]     |            ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/examples/basic_write_effects.rs:2:22
[INFO] [stdout]     |
[INFO] [stdout] 2   |   pub fn listing0 () { fgi_listing_test![
[INFO] [stdout]     |  ______________________-
[INFO] [stdout] 3   | |
[INFO] [stdout] 4   | |     let set:(
[INFO] [stdout] 5   | |         Thk[0] foralli X:NmSet.
[INFO] [stdout] ...   |
[INFO] [stdout] 13  | |     ret 0
[INFO] [stdout] 14  | | ]}
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `fgi_listing_expect` which comes from the expansion of the macro `fgi_listing_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/vis.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 |           };
[INFO] [stdout]     |            ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/examples/basic_write_effects.rs:18:34
[INFO] [stdout]     |
[INFO] [stdout] 18  |   pub fn listing0_fail0_check () { fgi_listing_expect![
[INFO] [stdout]     |  __________________________________-
[INFO] [stdout] 19  | |     [Expect::FailureXXX]
[INFO] [stdout] 20  | |
[INFO] [stdout] 21  | |     let set:(
[INFO] [stdout] ...   |
[INFO] [stdout] 30  | |     ret 0
[INFO] [stdout] 31  | | ]}
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `fgi_listing_expect` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/vis.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 |           };
[INFO] [stdout]     |            ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/examples/basic_write_effects.rs:34:34
[INFO] [stdout]     |
[INFO] [stdout] 34  |   pub fn listing0_fail0_synth () { fgi_listing_expect![
[INFO] [stdout]     |  __________________________________-
[INFO] [stdout] 35  | |     [Expect::Failure]
[INFO] [stdout] 36  | |
[INFO] [stdout] 37  | |     let set:(
[INFO] [stdout] ...   |
[INFO] [stdout] 47  | |     ret 0
[INFO] [stdout] 48  | | ]}
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `fgi_listing_expect` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/vis.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 |           };
[INFO] [stdout]     |            ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/examples/basic_write_effects.rs:51:34
[INFO] [stdout]     |
[INFO] [stdout] 51  |   pub fn listing0_fail1_check () { fgi_listing_expect![
[INFO] [stdout]     |  __________________________________-
[INFO] [stdout] 52  | |     [Expect::FailureXXX]
[INFO] [stdout] 53  | |
[INFO] [stdout] 54  | |     let set:(
[INFO] [stdout] ...   |
[INFO] [stdout] 63  | |     ret 0
[INFO] [stdout] 64  | | ]}
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `fgi_listing_expect` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/vis.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 |           };
[INFO] [stdout]     |            ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/examples/basic_write_effects.rs:67:34
[INFO] [stdout]     |
[INFO] [stdout] 67  |   pub fn listing0_fail1_synth () { fgi_listing_expect![
[INFO] [stdout]     |  __________________________________-
[INFO] [stdout] 68  | |     [Expect::Failure]
[INFO] [stdout] 69  | |
[INFO] [stdout] 70  | |     let set:(
[INFO] [stdout] ...   |
[INFO] [stdout] 80  | |     ret 0
[INFO] [stdout] 81  | | ]}
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `fgi_listing_expect` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/vis.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 |           };
[INFO] [stdout]     |            ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/examples/basic_write_effects.rs:84:34
[INFO] [stdout]     |
[INFO] [stdout] 84  |   pub fn listing0_fail2_check () { fgi_listing_expect![
[INFO] [stdout]     |  __________________________________-
[INFO] [stdout] 85  | |     [Expect::FailureXXX]
[INFO] [stdout] 86  | |
[INFO] [stdout] 87  | |      let set:(
[INFO] [stdout] ...   |
[INFO] [stdout] 97  | |     ret 0
[INFO] [stdout] 98  | | ]}
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `fgi_listing_expect` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/vis.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 |           };
[INFO] [stdout]     |            ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/examples/basic_write_effects.rs:101:34
[INFO] [stdout]     |
[INFO] [stdout] 101 |   pub fn listing0_fail2_synth () { fgi_listing_expect![
[INFO] [stdout]     |  __________________________________-
[INFO] [stdout] 102 | |     [Expect::Failure]
[INFO] [stdout] 103 | |
[INFO] [stdout] 104 | |     let set:(
[INFO] [stdout] ...   |
[INFO] [stdout] 115 | |     ret 0
[INFO] [stdout] 116 | | ]}
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `fgi_listing_expect` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/vis.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 |           };
[INFO] [stdout]     |            ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/examples/basic_write_scope.rs:2:21
[INFO] [stdout]     |
[INFO] [stdout] 2   |   pub fn listing () { fgi_listing_test![
[INFO] [stdout]     |  _____________________-
[INFO] [stdout] 3   | |
[INFO] [stdout] 4   | |     let foo:(
[INFO] [stdout] 5   | |         Thk[0] 
[INFO] [stdout] ...   |
[INFO] [stdout] 28  | |     ret 0
[INFO] [stdout] 29  | | ]}
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `fgi_listing_expect` which comes from the expansion of the macro `fgi_listing_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/vis.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 |           };
[INFO] [stdout]     |            ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/examples/basic_subtyping.rs:2:26
[INFO] [stdout]     |
[INFO] [stdout] 2   |   pub fn listing0_one () { fgi_listing_test![
[INFO] [stdout]     |  __________________________-
[INFO] [stdout] 3   | |
[INFO] [stdout] 4   | |     let get_one:(
[INFO] [stdout] 5   | |         Thk[0] foralli (X,Y,Z):NmSet.
[INFO] [stdout] ...   |
[INFO] [stdout] 19  | |     ret 0
[INFO] [stdout] 20  | | ]}
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `fgi_listing_expect` which comes from the expansion of the macro `fgi_listing_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/vis.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 |           };
[INFO] [stdout]     |            ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/examples/basic_subtyping.rs:23:27
[INFO] [stdout]     |
[INFO] [stdout] 23  |   pub fn listing0_pair () { fgi_listing_test![
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 24  | |
[INFO] [stdout] 25  | |     let get_pair:(
[INFO] [stdout] 26  | |         Thk[0] foralli (X,Y,Z):NmSet.
[INFO] [stdout] ...   |
[INFO] [stdout] 41  | |     ret 0
[INFO] [stdout] 42  | | ]}
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `fgi_listing_expect` which comes from the expansion of the macro `fgi_listing_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/vis.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 |           };
[INFO] [stdout]     |            ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/examples/basic_subtyping.rs:45:28
[INFO] [stdout]     |
[INFO] [stdout] 45  |   pub fn listing1_check () { fgi_listing_test![
[INFO] [stdout]     |  ____________________________-
[INFO] [stdout] 46  | |
[INFO] [stdout] 47  | |     let put_one:(
[INFO] [stdout] 48  | |         Thk[0] foralli (X,Y,Z):NmSet.
[INFO] [stdout] ...   |
[INFO] [stdout] 58  | |     ret 0
[INFO] [stdout] 59  | | ]}
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `fgi_listing_expect` which comes from the expansion of the macro `fgi_listing_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/vis.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 |           };
[INFO] [stdout]     |            ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/examples/basic_subtyping.rs:62:28
[INFO] [stdout]     |
[INFO] [stdout] 62  |   pub fn listing2_synth () { fgi_listing_test![
[INFO] [stdout]     |  ____________________________-
[INFO] [stdout] 63  | |
[INFO] [stdout] 64  | |     let put_one:(
[INFO] [stdout] 65  | |         Thk[0] foralli (X,Y,Z):NmSet.
[INFO] [stdout] ...   |
[INFO] [stdout] 81  | |     ret 0
[INFO] [stdout] 82  | | ]}
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `fgi_listing_expect` which comes from the expansion of the macro `fgi_listing_test` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/vis.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 |           };
[INFO] [stdout]     |            ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/examples/basic_existentials.rs:2:25
[INFO] [stdout]     |
[INFO] [stdout] 2   |   pub fn listing0_ok () { fgi_listing_expect![ [Expect::Success]
[INFO] [stdout]     |  _________________________-
[INFO] [stdout] 3   | |
[INFO] [stdout] 4   | |     let foo:(
[INFO] [stdout] 5   | |         Thk[0] foralli (X,Y):NmSet.
[INFO] [stdout] ...   |
[INFO] [stdout] 22  | |     ret 0
[INFO] [stdout] 23  | | ]}
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `fgi_listing_expect` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/vis.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 |           };
[INFO] [stdout]     |            ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/examples/basic_existentials.rs:27:25
[INFO] [stdout]     |
[INFO] [stdout] 27  |   pub fn listing1_ok () { fgi_listing_expect![ [Expect::Success]
[INFO] [stdout]     |  _________________________-
[INFO] [stdout] 28  | |     let foo:(
[INFO] [stdout] 29  | |         Thk[0] foralli (X,Y,Z):NmSet.
[INFO] [stdout] 30  | |             0 Bool ->
[INFO] [stdout] ...   |
[INFO] [stdout] 47  | |     ret 0
[INFO] [stdout] 48  | | ]}
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `fgi_listing_expect` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/shared.rs:215:29
[INFO] [stdout]     |
[INFO] [stdout] 215 |                 let x : &Rc<Any> = &**brc;
[INFO] [stdout]     |                             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 215 |                 let x : &Rc<dyn Any> = &**brc;
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/shared.rs:216:42
[INFO] [stdout]     |
[INFO] [stdout] 216 |                 let y : Result<Rc<T>, Rc<Any>> = (x.clone()).downcast::<T>();
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 216 |                 let y : Result<Rc<T>, Rc<dyn Any>> = (x.clone()).downcast::<T>();
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/vis.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 |           };
[INFO] [stdout]     |            ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/examples/basic_existentials.rs:51:27
[INFO] [stdout]     |
[INFO] [stdout] 51  |   pub fn listing1_err1 () { fgi_listing_expect![[Expect::Failure]
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 52  | |
[INFO] [stdout] 53  | |     let foo:(
[INFO] [stdout] 54  | |         Thk[0] foralli (X,Y,Z):NmSet.
[INFO] [stdout] ...   |
[INFO] [stdout] 72  | |     ret 0
[INFO] [stdout] 73  | | ]}
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `fgi_listing_expect` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary trailing semicolon
[INFO] [stdout]    --> src/vis.rs:209:10
[INFO] [stdout]     |
[INFO] [stdout] 209 |           };
[INFO] [stdout]     |            ^ help: remove this semicolon
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/examples/basic_existentials.rs:76:27
[INFO] [stdout]     |
[INFO] [stdout] 76  |   pub fn listing1_err2 () { fgi_listing_expect![[Expect::Failure]
[INFO] [stdout]     |  ___________________________-
[INFO] [stdout] 77  | |
[INFO] [stdout] 78  | |     let foo:(
[INFO] [stdout] 79  | |         Thk[0] foralli (X,Y,Z):NmSet.
[INFO] [stdout] ...   |
[INFO] [stdout] 97  | |     ret 0
[INFO] [stdout] 98  | | ]}
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in the macro `fgi_listing_expect` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::HostEvalFn: serde::Serialize` is not satisfied
[INFO] [stdout]    --> src/ast.rs:507:40
[INFO] [stdout]     |
[INFO] [stdout] 507 | #[derive(Clone,Debug,Eq,PartialEq,Hash,Serialize)]
[INFO] [stdout]     |                                        ^^^^^^^^^ the trait `serde::Serialize` is not implemented for `ast::HostEvalFn`
[INFO] [stdout] ...
[INFO] [stdout] 532 |     HostFn(HostEvalFn),
[INFO] [stdout]     |            ---------- required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `serde::Serialize`:
[INFO] [stdout]               bool
[INFO] [stdout]               char
[INFO] [stdout]               isize
[INFO] [stdout]               i8
[INFO] [stdout]               i16
[INFO] [stdout]               i32
[INFO] [stdout]               i64
[INFO] [stdout]               i128
[INFO] [stdout]             and 193 others
[INFO] [stdout] note: required by a bound in `serialize_newtype_variant`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.197/src/ser/mod.rs:936:12
[INFO] [stdout]     |
[INFO] [stdout] 928 |     fn serialize_newtype_variant<T: ?Sized>(
[INFO] [stdout]     |        ------------------------- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 936 |         T: Serialize;
[INFO] [stdout]     |            ^^^^^^^^^ required by this bound in `Serializer::serialize_newtype_variant`
[INFO] [stdout]     = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the feature `crate_in_paths` has been stable since 1.30.0 and no longer requires an attribute to enable
[INFO] [stdout]   --> src/lib.rs:95:12
[INFO] [stdout]    |
[INFO] [stdout] 95 | #![feature(crate_in_paths)]
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(stable_features)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/db.rs:10:29
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub bracket_indent: Box<Display>,
[INFO] [stdout]    |                             ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout]    = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub bracket_indent: Box<dyn Display>,
[INFO] [stdout]    |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/db.rs:11:28
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub bracket_close: Box<Display>,
[INFO] [stdout]    |                            ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub bracket_close: Box<dyn Display>,
[INFO] [stdout]    |                            +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/shared.rs:179:29
[INFO] [stdout]     |
[INFO] [stdout] 179 |     table:HashMap<Id,Box<Rc<Any>>>
[INFO] [stdout]     |                             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 179 |     table:HashMap<Id,Box<Rc<dyn Any>>>
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ast.rs:416:16
[INFO] [stdout]     |
[INFO] [stdout] 416 |     pub ops:Rc<HostObjOps>,
[INFO] [stdout]     |                ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 416 |     pub ops:Rc<dyn HostObjOps>,
[INFO] [stdout]     |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ast.rs:418:16
[INFO] [stdout]     |
[INFO] [stdout] 418 |     pub any:Rc<any::Any>
[INFO] [stdout]     |                ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 418 |     pub any:Rc<dyn any::Any>
[INFO] [stdout]     |                +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ast.rs:451:17
[INFO] [stdout]     |
[INFO] [stdout] 451 |     pub eval:Rc<Fn(Vec<dynamics::RtVal>) -> dynamics::ExpTerm>
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 451 |     pub eval:Rc<dyn Fn(Vec<dynamics::RtVal>) -> dynamics::ExpTerm>
[INFO] [stdout]     |                 +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ast.rs:421:24
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn eq(&self, x:&Rc<any::Any>, y:&Rc<any::Any>) -> bool;
[INFO] [stdout]     |                        ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn eq(&self, x:&Rc<dyn any::Any>, y:&Rc<any::Any>) -> bool;
[INFO] [stdout]     |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ast.rs:421:41
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn eq(&self, x:&Rc<any::Any>, y:&Rc<any::Any>) -> bool;
[INFO] [stdout]     |                                         ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 421 |     fn eq(&self, x:&Rc<any::Any>, y:&Rc<dyn any::Any>) -> bool;
[INFO] [stdout]     |                                         +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ast.rs:422:26
[INFO] [stdout]     |
[INFO] [stdout] 422 |     fn hash(&self, x:&Rc<any::Any>) -> u64;
[INFO] [stdout]     |                          ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 422 |     fn hash(&self, x:&Rc<dyn any::Any>) -> u64;
[INFO] [stdout]     |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/ast.rs:423:43
[INFO] [stdout]     |
[INFO] [stdout] 423 |     fn fmt(&self, f:&mut Formatter, x:&Rc<any::Any> ) -> fmt::Result;
[INFO] [stdout]     |                                           ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 423 |     fn fmt(&self, f:&mut Formatter, x:&Rc<dyn any::Any> ) -> fmt::Result;
[INFO] [stdout]     |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/hostobj.rs:53:67
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn obj_of_any<X:'static+Debug+Hash+Eq+PartialEq+Clone> (x:&Rc<Any>) -> Option<X> {
[INFO] [stdout]    |                                                                   ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 53 | pub fn obj_of_any<X:'static+Debug+Hash+Eq+PartialEq+Clone> (x:&Rc<dyn Any>) -> Option<X> {
[INFO] [stdout]    |                                                                   +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/hostobj.rs:63:24
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn eq(&self, x:&Rc<Any>, y:&Rc<Any>) -> bool {
[INFO] [stdout]    |                        ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn eq(&self, x:&Rc<dyn Any>, y:&Rc<Any>) -> bool {
[INFO] [stdout]    |                        +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/hostobj.rs:63:36
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn eq(&self, x:&Rc<Any>, y:&Rc<Any>) -> bool {
[INFO] [stdout]    |                                    ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 63 |     fn eq(&self, x:&Rc<Any>, y:&Rc<dyn Any>) -> bool {
[INFO] [stdout]    |                                    +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/hostobj.rs:69:26
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn hash(&self, x:&Rc<Any>) -> u64 {
[INFO] [stdout]    |                          ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 69 |     fn hash(&self, x:&Rc<dyn Any>) -> u64 {
[INFO] [stdout]    |                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/hostobj.rs:75:43
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn fmt(&self, f:&mut Formatter, x:&Rc<Any> ) -> fmt::Result {
[INFO] [stdout]    |                                           ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn fmt(&self, f:&mut Formatter, x:&Rc<dyn Any> ) -> fmt::Result {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/shared.rs:215:29
[INFO] [stdout]     |
[INFO] [stdout] 215 |                 let x : &Rc<Any> = &**brc;
[INFO] [stdout]     |                             ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 215 |                 let x : &Rc<dyn Any> = &**brc;
[INFO] [stdout]     |                             +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/shared.rs:216:42
[INFO] [stdout]     |
[INFO] [stdout] 216 |                 let y : Result<Rc<T>, Rc<Any>> = (x.clone()).downcast::<T>();
[INFO] [stdout]     |                                          ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]     = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]     |
[INFO] [stdout] 216 |                 let y : Result<Rc<T>, Rc<dyn Any>> = (x.clone()).downcast::<T>();
[INFO] [stdout]     |                                          +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::HostEvalFn: serde::Serialize` is not satisfied
[INFO] [stdout]    --> src/bitype.rs:494:40
[INFO] [stdout]     |
[INFO] [stdout] 494 | #[derive(Clone,Debug,Eq,PartialEq,Hash,Serialize)]
[INFO] [stdout]     |                                        ^^^^^^^^^ the trait `serde::Serialize` is not implemented for `ast::HostEvalFn`
[INFO] [stdout] ...
[INFO] [stdout] 510 |     HostFn(HostEvalFn),
[INFO] [stdout]     |            ---------- required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `serde::Serialize`:
[INFO] [stdout]               bool
[INFO] [stdout]               char
[INFO] [stdout]               isize
[INFO] [stdout]               i8
[INFO] [stdout]               i16
[INFO] [stdout]               i32
[INFO] [stdout]               i64
[INFO] [stdout]               i128
[INFO] [stdout]             and 193 others
[INFO] [stdout] note: required by a bound in `serialize_newtype_variant`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.197/src/ser/mod.rs:936:12
[INFO] [stdout]     |
[INFO] [stdout] 928 |     fn serialize_newtype_variant<T: ?Sized>(
[INFO] [stdout]     |        ------------------------- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 936 |         T: Serialize;
[INFO] [stdout]     |            ^^^^^^^^^ required by this bound in `Serializer::serialize_newtype_variant`
[INFO] [stdout]     = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::HostEvalFn: serde::Serialize` is not satisfied
[INFO] [stdout]    --> src/ast.rs:507:40
[INFO] [stdout]     |
[INFO] [stdout] 507 | #[derive(Clone,Debug,Eq,PartialEq,Hash,Serialize)]
[INFO] [stdout]     |                                        ^^^^^^^^^ the trait `serde::Serialize` is not implemented for `ast::HostEvalFn`
[INFO] [stdout] ...
[INFO] [stdout] 532 |     HostFn(HostEvalFn),
[INFO] [stdout]     |            ---------- required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `serde::Serialize`:
[INFO] [stdout]               bool
[INFO] [stdout]               char
[INFO] [stdout]               isize
[INFO] [stdout]               i8
[INFO] [stdout]               i16
[INFO] [stdout]               i32
[INFO] [stdout]               i64
[INFO] [stdout]               i128
[INFO] [stdout]             and 193 others
[INFO] [stdout] note: required by a bound in `serialize_newtype_variant`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.197/src/ser/mod.rs:936:12
[INFO] [stdout]     |
[INFO] [stdout] 928 |     fn serialize_newtype_variant<T: ?Sized>(
[INFO] [stdout]     |        ------------------------- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 936 |         T: Serialize;
[INFO] [stdout]     |            ^^^^^^^^^ required by this bound in `Serializer::serialize_newtype_variant`
[INFO] [stdout]     = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::HostEvalFn: serde::Serialize` is not satisfied
[INFO] [stdout]     --> src/dynamics.rs:117:40
[INFO] [stdout]      |
[INFO] [stdout] 117  | #[derive(Clone,Debug,Eq,PartialEq,Hash,Serialize)]
[INFO] [stdout]      |                                        ^^^^^^^^^ the trait `serde::Serialize` is not implemented for `ast::HostEvalFn`
[INFO] [stdout] ...
[INFO] [stdout] 122  |     HostFn(HostEvalFn, Vec<RtVal>),
[INFO] [stdout]      |            ---------- required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following other types implement trait `serde::Serialize`:
[INFO] [stdout]                bool
[INFO] [stdout]                char
[INFO] [stdout]                isize
[INFO] [stdout]                i8
[INFO] [stdout]                i16
[INFO] [stdout]                i32
[INFO] [stdout]                i64
[INFO] [stdout]                i128
[INFO] [stdout]              and 193 others
[INFO] [stdout] note: required by a bound in `serde::ser::SerializeTupleVariant::serialize_field`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.197/src/ser/mod.rs:1701:12
[INFO] [stdout]      |
[INFO] [stdout] 1699 |     fn serialize_field<T: ?Sized>(&mut self, value: &T) -> Result<(), Self::Error>
[INFO] [stdout]      |        --------------- required by a bound in this associated function
[INFO] [stdout] 1700 |     where
[INFO] [stdout] 1701 |         T: Serialize;
[INFO] [stdout]      |            ^^^^^^^^^ required by this bound in `SerializeTupleVariant::serialize_field`
[INFO] [stdout]      = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/hostobj.rs:54:30
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let r : Result<Rc<X>, Rc<Any>> = (x.clone()).downcast::<X>();
[INFO] [stdout]    |                              ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let r : Result<Rc<X>, Rc<dyn Any>> = (x.clone()).downcast::<X>();
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::HostEvalFn: serde::Serialize` is not satisfied
[INFO] [stdout]    --> src/bitype.rs:494:40
[INFO] [stdout]     |
[INFO] [stdout] 494 | #[derive(Clone,Debug,Eq,PartialEq,Hash,Serialize)]
[INFO] [stdout]     |                                        ^^^^^^^^^ the trait `serde::Serialize` is not implemented for `ast::HostEvalFn`
[INFO] [stdout] ...
[INFO] [stdout] 510 |     HostFn(HostEvalFn),
[INFO] [stdout]     |            ---------- required by a bound introduced by this call
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `serde::Serialize`:
[INFO] [stdout]               bool
[INFO] [stdout]               char
[INFO] [stdout]               isize
[INFO] [stdout]               i8
[INFO] [stdout]               i16
[INFO] [stdout]               i32
[INFO] [stdout]               i64
[INFO] [stdout]               i128
[INFO] [stdout]             and 193 others
[INFO] [stdout] note: required by a bound in `serialize_newtype_variant`
[INFO] [stdout]    --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.197/src/ser/mod.rs:936:12
[INFO] [stdout]     |
[INFO] [stdout] 928 |     fn serialize_newtype_variant<T: ?Sized>(
[INFO] [stdout]     |        ------------------------- required by a bound in this associated function
[INFO] [stdout] ...
[INFO] [stdout] 936 |         T: Serialize;
[INFO] [stdout]     |            ^^^^^^^^^ required by this bound in `Serializer::serialize_newtype_variant`
[INFO] [stdout]     = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `ast::HostEvalFn: serde::Serialize` is not satisfied
[INFO] [stdout]     --> src/dynamics.rs:117:40
[INFO] [stdout]      |
[INFO] [stdout] 117  | #[derive(Clone,Debug,Eq,PartialEq,Hash,Serialize)]
[INFO] [stdout]      |                                        ^^^^^^^^^ the trait `serde::Serialize` is not implemented for `ast::HostEvalFn`
[INFO] [stdout] ...
[INFO] [stdout] 122  |     HostFn(HostEvalFn, Vec<RtVal>),
[INFO] [stdout]      |            ---------- required by a bound introduced by this call
[INFO] [stdout]      |
[INFO] [stdout]      = help: the following other types implement trait `serde::Serialize`:
[INFO] [stdout]                bool
[INFO] [stdout]                char
[INFO] [stdout]                isize
[INFO] [stdout]                i8
[INFO] [stdout]                i16
[INFO] [stdout]                i32
[INFO] [stdout]                i64
[INFO] [stdout]                i128
[INFO] [stdout]              and 193 others
[INFO] [stdout] note: required by a bound in `serde::ser::SerializeTupleVariant::serialize_field`
[INFO] [stdout]     --> /opt/rustwide/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/serde-1.0.197/src/ser/mod.rs:1701:12
[INFO] [stdout]      |
[INFO] [stdout] 1699 |     fn serialize_field<T: ?Sized>(&mut self, value: &T) -> Result<(), Self::Error>
[INFO] [stdout]      |        --------------- required by a bound in this associated function
[INFO] [stdout] 1700 |     where
[INFO] [stdout] 1701 |         T: Serialize;
[INFO] [stdout]      |            ^^^^^^^^^ required by this bound in `SerializeTupleVariant::serialize_field`
[INFO] [stdout]      = note: this error originates in the derive macro `Serialize` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/hostobj.rs:54:30
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let r : Result<Rc<X>, Rc<Any>> = (x.clone()).downcast::<X>();
[INFO] [stdout]    |                              ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = warning: this is accepted in the current edition (Rust 2015) but is a hard error in Rust 2021!
[INFO] [stdout]    = note: for more information, see <https://doc.rust-lang.org/nightly/edition-guide/rust-2021/warnings-promoted-to-error.html>
[INFO] [stdout] help: if this is an object-safe trait, use `dyn`
[INFO] [stdout]    |
[INFO] [stdout] 54 |     let r : Result<Rc<X>, Rc<dyn Any>> = (x.clone()).downcast::<X>();
[INFO] [stdout]    |                              +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 4 previous errors; 38 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `fungi-lang` (lib) due to 5 previous errors; 38 warnings emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error: aborting due to 4 previous errors; 71 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `fungi-lang` (lib test) due to 5 previous errors; 71 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "b3376695b2f3fd5813fee835cb7d850fb3e33dc2265b4edddbf1b69ee2189dae", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b3376695b2f3fd5813fee835cb7d850fb3e33dc2265b4edddbf1b69ee2189dae", kill_on_drop: false }`
[INFO] [stdout] b3376695b2f3fd5813fee835cb7d850fb3e33dc2265b4edddbf1b69ee2189dae
