[INFO] cloning repository https://github.com/mvespin1/BramarProgramingLanguage
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/mvespin1/BramarProgramingLanguage" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmvespin1%2FBramarProgramingLanguage", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmvespin1%2FBramarProgramingLanguage'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 251ade914ce3c33e4b3fa1fc7ae0cf05477c3dec
[INFO] checking mvespin1/BramarProgramingLanguage/251ade914ce3c33e4b3fa1fc7ae0cf05477c3dec against master#292be5c7c05138d753bbd4b30db7a3f1a5c914f7 for pr-148271
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmvespin1%2FBramarProgramingLanguage" "/workspace/builds/worker-3-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-3-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/mvespin1/BramarProgramingLanguage
[INFO] finished tweaking git repo https://github.com/mvespin1/BramarProgramingLanguage
[INFO] tweaked toml for git repo https://github.com/mvespin1/BramarProgramingLanguage written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/mvespin1/BramarProgramingLanguage on toolchain 292be5c7c05138d753bbd4b30db7a3f1a5c914f7
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+292be5c7c05138d753bbd4b30db7a3f1a5c914f7" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/mvespin1/BramarProgramingLanguage already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+292be5c7c05138d753bbd4b30db7a3f1a5c914f7" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded clap v4.5.7
[INFO] [stderr]   Downloaded TSPL v0.0.13
[INFO] [stderr]   Downloaded clap_derive v4.5.5
[INFO] [stderr]   Downloaded similar v2.5.0
[INFO] [stderr]   Downloaded highlight_error v0.1.1
[INFO] [stderr]   Downloaded loaned v0.1.2
[INFO] [stderr]   Downloaded stdext v0.3.3
[INFO] [stderr]   Downloaded insta v1.39.0
[INFO] [stderr]   Downloaded interner v0.2.1
[INFO] [stderr]   Downloaded clap_builder v4.5.7
[INFO] [stderr]   Downloaded hvm v2.0.22
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+292be5c7c05138d753bbd4b30db7a3f1a5c914f7" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 90ae2ac0cc63fa22ba73e17d74fc71bbb2105f223406d52163372da7ac81dc7b
[INFO] running `Command { std: "docker" "start" "-a" "90ae2ac0cc63fa22ba73e17d74fc71bbb2105f223406d52163372da7ac81dc7b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "90ae2ac0cc63fa22ba73e17d74fc71bbb2105f223406d52163372da7ac81dc7b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "90ae2ac0cc63fa22ba73e17d74fc71bbb2105f223406d52163372da7ac81dc7b", kill_on_drop: false }`
[INFO] [stdout] 90ae2ac0cc63fa22ba73e17d74fc71bbb2105f223406d52163372da7ac81dc7b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:e90291280db7d1fac5b66fc6dad9f9662629e7365a55743daf9bdf73ebc4ea79" "/opt/rustwide/cargo-home/bin/cargo" "+292be5c7c05138d753bbd4b30db7a3f1a5c914f7" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4d3a9b48bb008382848841939d1cd6f1b1b05ab945e4acd085f36ffc102172f6
[INFO] running `Command { std: "docker" "start" "-a" "4d3a9b48bb008382848841939d1cd6f1b1b05ab945e4acd085f36ffc102172f6", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.155
[INFO] [stderr]    Compiling cc v1.0.99
[INFO] [stderr]    Compiling proc-macro2 v1.0.85
[INFO] [stderr]     Checking colorchoice v1.0.1
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.0
[INFO] [stderr]     Checking anstyle-query v1.1.0
[INFO] [stderr]     Checking anstyle v1.0.7
[INFO] [stderr]     Checking clap_lex v0.7.1
[INFO] [stderr]     Checking highlight_error v0.1.1
[INFO] [stderr]     Checking either v1.12.0
[INFO] [stderr]     Checking anstyle-parse v0.2.4
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]     Checking lazy_static v1.4.0
[INFO] [stderr]     Checking interner v0.2.1
[INFO] [stderr]     Checking loaned v0.1.2
[INFO] [stderr]     Checking similar v2.5.0
[INFO] [stderr]     Checking linked-hash-map v0.5.6
[INFO] [stderr]     Checking stdext v0.3.3
[INFO] [stderr]     Checking TSPL v0.0.13
[INFO] [stderr]     Checking anstream v0.6.14
[INFO] [stderr]     Checking itertools v0.11.0
[INFO] [stderr]     Checking indexmap v2.2.6
[INFO] [stderr]     Checking clap_builder v4.5.7
[INFO] [stderr]    Compiling quote v1.0.36
[INFO] [stderr]    Compiling syn v2.0.66
[INFO] [stderr]    Compiling num_cpus v1.16.0
[INFO] [stderr]     Checking console v0.15.8
[INFO] [stderr]     Checking insta v1.39.0
[INFO] [stderr]    Compiling psm v0.1.21
[INFO] [stderr]    Compiling hvm v2.0.22
[INFO] [stderr]    Compiling stacker v0.1.15
[INFO] [stderr]    Compiling clap_derive v4.5.5
[INFO] [stderr]     Checking clap v4.5.7
[INFO] [stderr]     Checking bramar-lang v0.2.37 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0271]: expected `IntoIter<(&mut Term, BindsIter<..., ..., ..., ..., ..., ..., _>), 2>` to be an iterator that yields `&mut Term`, but it yields `(&mut Term, BindsIter<IntoIter<&..., 0>, ..., ..., ..., ..., ..., _>)`
[INFO] [stdout]    --> src/fun/mod.rs:721:8
[INFO] [stdout]     |
[INFO] [stdout] 721 |     ) -> impl DoubleEndedIterator<Item = (&mut Term, impl DoubleEndedIterator<Item = &Option<Name>> + Clone)>
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&mut Term`, found `(&mut Term, ...)`
[INFO] [stdout] ...
[INFO] [stdout] 725 | /     match self {
[INFO] [stdout] 726 | |       Term::Mat { arg, bnd, with_bnd, with_arg, arms }
[INFO] [stdout] 727 | |       | Term::Fold { bnd, arg, with_bnd, with_arg, arms } => {
[INFO] [stdout] 728 | |         let arg = [(arg.as_mut(), BindsIter::Zero([]))].into_iter();
[INFO] [stdout] ...   |
[INFO] [stdout] 778 | |       Term::Open { .. } => unreachable!("Open should be removed in earlier pass"),
[INFO] [stdout] 779 | |     }
[INFO] [stdout]     | |_____- return type was inferred to be `ChildrenIter<IntoIter<_, 0>, ..., ..., ..., ..., ..., ...>` here
[INFO] [stdout] ...
[INFO] [stdout] 994 |     pub fn binds(&self) -> impl DoubleEndedIterator<Item = &Option<Name>> + Clone {
[INFO] [stdout]     |                            ------------------------------------------------------ the found opaque type
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut Term`
[INFO] [stdout]                            found tuple `(&mut Term, BindsIter<IntoIter<&..., 0>, ..., ..., ..., ..., ..., _>)`
[INFO] [stdout] note: required for `ChildrenIter<IntoIter<&mut Term, 0>, ..., ..., ..., ..., ..., ...>` to implement `DoubleEndedIterator`
[INFO] [stdout]    --> src/utils.rs:32:59
[INFO] [stdout]     |
[INFO] [stdout]  32 |     impl<T, $($Variant: DoubleEndedIterator<Item = T>),*> DoubleEndedIterator for $Iter<$($Variant),*> {
[INFO] [stdout]     |                                             --------      ^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             unsatisfied trait bound introduced here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/fun/mod.rs:723:5
[INFO] [stdout]     |
[INFO] [stdout] 723 |     multi_iterator!(ChildrenIter { Zero, One, Two, Vec, Mat, Swt, Bend });
[INFO] [stdout]     |     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/bramar-82fd5b7d24f5a1f0.long-type-2498470751198672558.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the macro `multi_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: expected `Chain<Chain<IntoIter<(&mut Term, ...), 1>, ...>, ...>` to be an iterator that yields `&mut Term`, but it yields `(&mut Term, BindsIter<IntoIter<&..., 0>, ..., ..., ..., ..., ..., _>)`
[INFO] [stdout]    --> src/fun/mod.rs:721:8
[INFO] [stdout]     |
[INFO] [stdout] 721 |     ) -> impl DoubleEndedIterator<Item = (&mut Term, impl DoubleEndedIterator<Item = &Option<Name>> + Clone)>
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&mut Term`, found `(&mut Term, ...)`
[INFO] [stdout] ...
[INFO] [stdout] 725 | /     match self {
[INFO] [stdout] 726 | |       Term::Mat { arg, bnd, with_bnd, with_arg, arms }
[INFO] [stdout] 727 | |       | Term::Fold { bnd, arg, with_bnd, with_arg, arms } => {
[INFO] [stdout] 728 | |         let arg = [(arg.as_mut(), BindsIter::Zero([]))].into_iter();
[INFO] [stdout] ...   |
[INFO] [stdout] 778 | |       Term::Open { .. } => unreachable!("Open should be removed in earlier pass"),
[INFO] [stdout] 779 | |     }
[INFO] [stdout]     | |_____- return type was inferred to be `ChildrenIter<IntoIter<_, 0>, ..., ..., ..., ..., ..., ...>` here
[INFO] [stdout] ...
[INFO] [stdout] 994 |     pub fn binds(&self) -> impl DoubleEndedIterator<Item = &Option<Name>> + Clone {
[INFO] [stdout]     |                            ------------------------------------------------------ the found opaque type
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut Term`
[INFO] [stdout]                            found tuple `(&mut Term, BindsIter<IntoIter<&..., 0>, ..., ..., ..., ..., ..., _>)`
[INFO] [stdout] note: required for `ChildrenIter<IntoIter<&mut Term, 0>, ..., ..., ..., ..., ..., ...>` to implement `DoubleEndedIterator`
[INFO] [stdout]    --> src/utils.rs:32:59
[INFO] [stdout]     |
[INFO] [stdout]  32 |     impl<T, $($Variant: DoubleEndedIterator<Item = T>),*> DoubleEndedIterator for $Iter<$($Variant),*> {
[INFO] [stdout]     |                                             --------      ^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             unsatisfied trait bound introduced here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/fun/mod.rs:723:5
[INFO] [stdout]     |
[INFO] [stdout] 723 |     multi_iterator!(ChildrenIter { Zero, One, Two, Vec, Mat, Swt, Bend });
[INFO] [stdout]     |     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/bramar-82fd5b7d24f5a1f0.long-type-1578651425251036717.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the macro `multi_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: expected `Chain<Chain<Chain<IntoIter<(&mut Term, ...), 1>, ...>, ...>, ...>` to be an iterator that yields `&mut Term`, but it yields `(&mut Term, BindsIter<IntoIter<&..., 0>, ..., ..., ..., ..., ..., _>)`
[INFO] [stdout]    --> src/fun/mod.rs:721:8
[INFO] [stdout]     |
[INFO] [stdout] 721 |     ) -> impl DoubleEndedIterator<Item = (&mut Term, impl DoubleEndedIterator<Item = &Option<Name>> + Clone)>
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&mut Term`, found `(&mut Term, ...)`
[INFO] [stdout] ...
[INFO] [stdout] 725 | /     match self {
[INFO] [stdout] 726 | |       Term::Mat { arg, bnd, with_bnd, with_arg, arms }
[INFO] [stdout] 727 | |       | Term::Fold { bnd, arg, with_bnd, with_arg, arms } => {
[INFO] [stdout] 728 | |         let arg = [(arg.as_mut(), BindsIter::Zero([]))].into_iter();
[INFO] [stdout] ...   |
[INFO] [stdout] 778 | |       Term::Open { .. } => unreachable!("Open should be removed in earlier pass"),
[INFO] [stdout] 779 | |     }
[INFO] [stdout]     | |_____- return type was inferred to be `ChildrenIter<IntoIter<_, 0>, ..., ..., ..., ..., ..., ...>` here
[INFO] [stdout] ...
[INFO] [stdout] 994 |     pub fn binds(&self) -> impl DoubleEndedIterator<Item = &Option<Name>> + Clone {
[INFO] [stdout]     |                            ------------------------------------------------------ the found opaque type
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut Term`
[INFO] [stdout]                            found tuple `(&mut Term, BindsIter<IntoIter<&..., 0>, ..., ..., ..., ..., ..., _>)`
[INFO] [stdout] note: required for `ChildrenIter<IntoIter<&mut Term, 0>, ..., ..., ..., ..., ..., ...>` to implement `DoubleEndedIterator`
[INFO] [stdout]    --> src/utils.rs:32:59
[INFO] [stdout]     |
[INFO] [stdout]  32 |     impl<T, $($Variant: DoubleEndedIterator<Item = T>),*> DoubleEndedIterator for $Iter<$($Variant),*> {
[INFO] [stdout]     |                                             --------      ^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             unsatisfied trait bound introduced here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/fun/mod.rs:723:5
[INFO] [stdout]     |
[INFO] [stdout] 723 |     multi_iterator!(ChildrenIter { Zero, One, Two, Vec, Mat, Swt, Bend });
[INFO] [stdout]     |     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/bramar-82fd5b7d24f5a1f0.long-type-862772404396723268.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the macro `multi_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: expected `IntoIter<&mut Term, 0>` to be an iterator that yields `(&mut Term, BindsIter<IntoIter<&..., 0>, ..., ..., ..., ..., ..., _>)`, but it yields `&mut Term`
[INFO] [stdout]    --> src/fun/mod.rs:721:8
[INFO] [stdout]     |
[INFO] [stdout] 721 |     ) -> impl DoubleEndedIterator<Item = (&mut Term, impl DoubleEndedIterator<Item = &Option<Name>> + Clone)>
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `(&mut Term, ...)`, found `&mut Term`
[INFO] [stdout] ...
[INFO] [stdout] 725 | /     match self {
[INFO] [stdout] 726 | |       Term::Mat { arg, bnd, with_bnd, with_arg, arms }
[INFO] [stdout] 727 | |       | Term::Fold { bnd, arg, with_bnd, with_arg, arms } => {
[INFO] [stdout] 728 | |         let arg = [(arg.as_mut(), BindsIter::Zero([]))].into_iter();
[INFO] [stdout] ...   |
[INFO] [stdout] 778 | |       Term::Open { .. } => unreachable!("Open should be removed in earlier pass"),
[INFO] [stdout] 779 | |     }
[INFO] [stdout]     | |_____- return type was inferred to be `ChildrenIter<IntoIter<_, 0>, ..., ..., ..., ..., ..., ...>` here
[INFO] [stdout] ...
[INFO] [stdout] 994 |     pub fn binds(&self) -> impl DoubleEndedIterator<Item = &Option<Name>> + Clone {
[INFO] [stdout]     |                            ------------------------------------------------------ the expected opaque type
[INFO] [stdout]     |
[INFO] [stdout]     = note:          expected tuple `(&mut Term, BindsIter<IntoIter<&..., 0>, ..., ..., ..., ..., ..., _>)`
[INFO] [stdout]             found mutable reference `&mut Term`
[INFO] [stdout] note: required for `ChildrenIter<IntoIter<&mut Term, 0>, ..., ..., ..., ..., ..., ...>` to implement `Iterator`
[INFO] [stdout]    --> src/utils.rs:21:48
[INFO] [stdout]     |
[INFO] [stdout]  21 |     impl<T, $($Variant: Iterator<Item = T>),*> Iterator for $Iter<$($Variant),*> {
[INFO] [stdout]     |                                  --------      ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  unsatisfied trait bound introduced here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/fun/mod.rs:723:5
[INFO] [stdout]     |
[INFO] [stdout] 723 |     multi_iterator!(ChildrenIter { Zero, One, Two, Vec, Mat, Swt, Bend });
[INFO] [stdout]     |     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/bramar-82fd5b7d24f5a1f0.long-type-2289668915932974604.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the macro `multi_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: expected `IntoIter<&mut Term, 1>` to be an iterator that yields `(&mut Term, BindsIter<IntoIter<&..., 0>, ..., ..., ..., ..., ..., _>)`, but it yields `&mut Term`
[INFO] [stdout]    --> src/fun/mod.rs:721:8
[INFO] [stdout]     |
[INFO] [stdout] 721 |     ) -> impl DoubleEndedIterator<Item = (&mut Term, impl DoubleEndedIterator<Item = &Option<Name>> + Clone)>
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `(&mut Term, ...)`, found `&mut Term`
[INFO] [stdout] ...
[INFO] [stdout] 725 | /     match self {
[INFO] [stdout] 726 | |       Term::Mat { arg, bnd, with_bnd, with_arg, arms }
[INFO] [stdout] 727 | |       | Term::Fold { bnd, arg, with_bnd, with_arg, arms } => {
[INFO] [stdout] 728 | |         let arg = [(arg.as_mut(), BindsIter::Zero([]))].into_iter();
[INFO] [stdout] ...   |
[INFO] [stdout] 778 | |       Term::Open { .. } => unreachable!("Open should be removed in earlier pass"),
[INFO] [stdout] 779 | |     }
[INFO] [stdout]     | |_____- return type was inferred to be `ChildrenIter<IntoIter<_, 0>, ..., ..., ..., ..., ..., ...>` here
[INFO] [stdout] ...
[INFO] [stdout] 994 |     pub fn binds(&self) -> impl DoubleEndedIterator<Item = &Option<Name>> + Clone {
[INFO] [stdout]     |                            ------------------------------------------------------ the expected opaque type
[INFO] [stdout]     |
[INFO] [stdout]     = note:          expected tuple `(&mut Term, BindsIter<IntoIter<&..., 0>, ..., ..., ..., ..., ..., _>)`
[INFO] [stdout]             found mutable reference `&mut Term`
[INFO] [stdout] note: required for `ChildrenIter<IntoIter<&mut Term, 0>, ..., ..., ..., ..., ..., ...>` to implement `Iterator`
[INFO] [stdout]    --> src/utils.rs:21:48
[INFO] [stdout]     |
[INFO] [stdout]  21 |     impl<T, $($Variant: Iterator<Item = T>),*> Iterator for $Iter<$($Variant),*> {
[INFO] [stdout]     |                                  --------      ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  unsatisfied trait bound introduced here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/fun/mod.rs:723:5
[INFO] [stdout]     |
[INFO] [stdout] 723 |     multi_iterator!(ChildrenIter { Zero, One, Two, Vec, Mat, Swt, Bend });
[INFO] [stdout]     |     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/bramar-82fd5b7d24f5a1f0.long-type-2289668915932974604.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the macro `multi_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: expected `Map<IterMut<'_, Term>, {closure@mod.rs:756:46}>` to be an iterator that yields `(&mut Term, BindsIter<IntoIter<&..., 0>, ..., ..., ..., ..., ..., _>)`, but it yields `&mut Term`
[INFO] [stdout]    --> src/fun/mod.rs:721:8
[INFO] [stdout]     |
[INFO] [stdout] 721 |     ) -> impl DoubleEndedIterator<Item = (&mut Term, impl DoubleEndedIterator<Item = &Option<Name>> + Clone)>
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `(&mut Term, ...)`, found `&mut Term`
[INFO] [stdout] ...
[INFO] [stdout] 725 | /     match self {
[INFO] [stdout] 726 | |       Term::Mat { arg, bnd, with_bnd, with_arg, arms }
[INFO] [stdout] 727 | |       | Term::Fold { bnd, arg, with_bnd, with_arg, arms } => {
[INFO] [stdout] 728 | |         let arg = [(arg.as_mut(), BindsIter::Zero([]))].into_iter();
[INFO] [stdout] ...   |
[INFO] [stdout] 778 | |       Term::Open { .. } => unreachable!("Open should be removed in earlier pass"),
[INFO] [stdout] 779 | |     }
[INFO] [stdout]     | |_____- return type was inferred to be `ChildrenIter<IntoIter<_, 0>, ..., ..., ..., ..., ..., ...>` here
[INFO] [stdout] ...
[INFO] [stdout] 994 |     pub fn binds(&self) -> impl DoubleEndedIterator<Item = &Option<Name>> + Clone {
[INFO] [stdout]     |                            ------------------------------------------------------ the expected opaque type
[INFO] [stdout]     |
[INFO] [stdout]     = note:          expected tuple `(&mut Term, BindsIter<IntoIter<&..., 0>, ..., ..., ..., ..., ..., _>)`
[INFO] [stdout]             found mutable reference `&mut Term`
[INFO] [stdout] note: required for `ChildrenIter<IntoIter<&mut Term, 0>, ..., ..., ..., ..., ..., ...>` to implement `Iterator`
[INFO] [stdout]    --> src/utils.rs:21:48
[INFO] [stdout]     |
[INFO] [stdout]  21 |     impl<T, $($Variant: Iterator<Item = T>),*> Iterator for $Iter<$($Variant),*> {
[INFO] [stdout]     |                                  --------      ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  unsatisfied trait bound introduced here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/fun/mod.rs:723:5
[INFO] [stdout]     |
[INFO] [stdout] 723 |     multi_iterator!(ChildrenIter { Zero, One, Two, Vec, Mat, Swt, Bend });
[INFO] [stdout]     |     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/bramar-82fd5b7d24f5a1f0.long-type-2289668915932974604.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the macro `multi_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: expected `Chain<Map<IterMut<'_, Term>, {closure@...}>, ...>` to be an iterator that yields `(&mut Term, BindsIter<IntoIter<&..., 0>, ..., ..., ..., ..., ..., _>)`, but it yields `&mut Term`
[INFO] [stdout]    --> src/fun/mod.rs:721:8
[INFO] [stdout]     |
[INFO] [stdout] 721 |     ) -> impl DoubleEndedIterator<Item = (&mut Term, impl DoubleEndedIterator<Item = &Option<Name>> + Clone)>
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `(&mut Term, ...)`, found `&mut Term`
[INFO] [stdout] ...
[INFO] [stdout] 725 | /     match self {
[INFO] [stdout] 726 | |       Term::Mat { arg, bnd, with_bnd, with_arg, arms }
[INFO] [stdout] 727 | |       | Term::Fold { bnd, arg, with_bnd, with_arg, arms } => {
[INFO] [stdout] 728 | |         let arg = [(arg.as_mut(), BindsIter::Zero([]))].into_iter();
[INFO] [stdout] ...   |
[INFO] [stdout] 778 | |       Term::Open { .. } => unreachable!("Open should be removed in earlier pass"),
[INFO] [stdout] 779 | |     }
[INFO] [stdout]     | |_____- return type was inferred to be `ChildrenIter<IntoIter<_, 0>, ..., ..., ..., ..., ..., ...>` here
[INFO] [stdout] ...
[INFO] [stdout] 994 |     pub fn binds(&self) -> impl DoubleEndedIterator<Item = &Option<Name>> + Clone {
[INFO] [stdout]     |                            ------------------------------------------------------ the expected opaque type
[INFO] [stdout]     |
[INFO] [stdout]     = note:          expected tuple `(&mut Term, BindsIter<IntoIter<&..., 0>, ..., ..., ..., ..., ..., _>)`
[INFO] [stdout]             found mutable reference `&mut Term`
[INFO] [stdout] note: required for `ChildrenIter<IntoIter<&mut Term, 0>, ..., ..., ..., ..., ..., ...>` to implement `Iterator`
[INFO] [stdout]    --> src/utils.rs:21:48
[INFO] [stdout]     |
[INFO] [stdout]  21 |     impl<T, $($Variant: Iterator<Item = T>),*> Iterator for $Iter<$($Variant),*> {
[INFO] [stdout]     |                                  --------      ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  unsatisfied trait bound introduced here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/fun/mod.rs:723:5
[INFO] [stdout]     |
[INFO] [stdout] 723 |     multi_iterator!(ChildrenIter { Zero, One, Two, Vec, Mat, Swt, Bend });
[INFO] [stdout]     |     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/bramar-82fd5b7d24f5a1f0.long-type-13749670555460998414.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the macro `multi_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: expected `{closure@mod.rs:756:46}` to return `&mut Term`, but it returns `(&mut Term, BindsIter<IntoIter<_, 0>, _, _, _, _, _, _>)`
[INFO] [stdout]    --> src/fun/mod.rs:756:51
[INFO] [stdout]     |
[INFO] [stdout] 721 |     ) -> impl DoubleEndedIterator<Item = (&mut Term, impl DoubleEndedIterator<Item = &Option<Name>> + Clone)>
[INFO] [stdout]     |          ---------------------------------------------------------------------------------------------------- closure used here
[INFO] [stdout] ...
[INFO] [stdout] 725 | /     match self {
[INFO] [stdout] 726 | |       Term::Mat { arg, bnd, with_bnd, with_arg, arms }
[INFO] [stdout] 727 | |       | Term::Fold { bnd, arg, with_bnd, with_arg, arms } => {
[INFO] [stdout] 728 | |         let arg = [(arg.as_mut(), BindsIter::Zero([]))].into_iter();
[INFO] [stdout] ...   |
[INFO] [stdout] 756 | |         ChildrenIter::Vec(els.iter_mut().map(|el| (el, BindsIter::Zero([]))))
[INFO] [stdout]     | |                                              ---- ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&mut Term`, found `(&mut Term, ...)`
[INFO] [stdout]     | |                                              |
[INFO] [stdout]     | |                                              this closure
[INFO] [stdout] ...   |
[INFO] [stdout] 778 | |       Term::Open { .. } => unreachable!("Open should be removed in earlier pass"),
[INFO] [stdout] 779 | |     }
[INFO] [stdout]     | |_____- return type was inferred to be `ChildrenIter<IntoIter<_, 0>, ..., ..., ..., ..., ..., ...>` here
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut Term`
[INFO] [stdout]                            found tuple `(&mut Term, Term::children_mut_with_binds::BindsIter<std::array::IntoIter<_, 0>, _, _, _, _, _, _>)`
[INFO] [stdout]     = note: required for `Map<std::slice::IterMut<'_, Term>, {closure@src/fun/mod.rs:756:46: 756:50}>` to implement `Iterator`
[INFO] [stdout] note: required for `ChildrenIter<IntoIter<&mut Term, 0>, ..., ..., ..., ..., ..., ...>` to implement `DoubleEndedIterator`
[INFO] [stdout]    --> src/utils.rs:32:59
[INFO] [stdout]     |
[INFO] [stdout]  32 |     impl<T, $($Variant: DoubleEndedIterator<Item = T>),*> DoubleEndedIterator for $Iter<$($Variant),*> {
[INFO] [stdout]     |                                             --------      ^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             unsatisfied trait bound introduced here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/fun/mod.rs:723:5
[INFO] [stdout]     |
[INFO] [stdout] 723 |     multi_iterator!(ChildrenIter { Zero, One, Two, Vec, Mat, Swt, Bend });
[INFO] [stdout]     |     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/bramar-82fd5b7d24f5a1f0.long-type-12672960817509219111.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the macro `multi_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: expected `{closure@mod.rs:748:47}` to return `&mut Term`, but it returns `(&mut Term, BindsIter<IntoIter<_, 0>, _, _, _, _, _, Iter<'_, Option<Name>>>)`
[INFO] [stdout]    --> src/fun/mod.rs:748:51
[INFO] [stdout]     |
[INFO] [stdout] 721 |     ) -> impl DoubleEndedIterator<Item = (&mut Term, impl DoubleEndedIterator<Item = &Option<Name>> + Clone)>
[INFO] [stdout]     |          ---------------------------------------------------------------------------------------------------- closure used here
[INFO] [stdout] ...
[INFO] [stdout] 725 | /     match self {
[INFO] [stdout] 726 | |       Term::Mat { arg, bnd, with_bnd, with_arg, arms }
[INFO] [stdout] 727 | |       | Term::Fold { bnd, arg, with_bnd, with_arg, arms } => {
[INFO] [stdout] 728 | |         let arg = [(arg.as_mut(), BindsIter::Zero([]))].into_iter();
[INFO] [stdout] ...   |
[INFO] [stdout] 748 | |         ChildrenIter::Bend(arg.iter_mut().map(|x| (x, BindsIter::Zero([]))).chain([
[INFO] [stdout]     | |                                               --- ^^^^^^^^^^^^^^^^^^^^^^^^ expected `&mut Term`, found `(&mut Term, ...)`
[INFO] [stdout]     | |                                               |
[INFO] [stdout]     | |                                               this closure
[INFO] [stdout] ...   |
[INFO] [stdout] 778 | |       Term::Open { .. } => unreachable!("Open should be removed in earlier pass"),
[INFO] [stdout] 779 | |     }
[INFO] [stdout]     | |_____- return type was inferred to be `ChildrenIter<IntoIter<_, 0>, ..., ..., ..., ..., ..., ...>` here
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut Term`
[INFO] [stdout]                            found tuple `(&mut Term, Term::children_mut_with_binds::BindsIter<std::array::IntoIter<_, 0>, _, _, _, _, _, std::slice::Iter<'_, Option<Name>>>)`
[INFO] [stdout]     = note: required for `Map<std::slice::IterMut<'_, Term>, {closure@src/fun/mod.rs:748:47: 748:50}>` to implement `Iterator`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Chain<Map<IterMut<'_, Term>, {closure@...}>, ...>` to implement `Iterator`
[INFO] [stdout] note: required for `ChildrenIter<IntoIter<&mut Term, 0>, ..., ..., ..., ..., ..., ...>` to implement `DoubleEndedIterator`
[INFO] [stdout]    --> src/utils.rs:32:59
[INFO] [stdout]     |
[INFO] [stdout]  32 |     impl<T, $($Variant: DoubleEndedIterator<Item = T>),*> DoubleEndedIterator for $Iter<$($Variant),*> {
[INFO] [stdout]     |                                             --------      ^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             unsatisfied trait bound introduced here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/fun/mod.rs:723:5
[INFO] [stdout]     |
[INFO] [stdout] 723 |     multi_iterator!(ChildrenIter { Zero, One, Two, Vec, Mat, Swt, Bend });
[INFO] [stdout]     |     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/bramar-82fd5b7d24f5a1f0.long-type-13749670555460998414.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the macro `multi_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: expected `IntoIter<(&mut Term, BindsIter<IntoIter<_, 0>, _, _, _, _, _, Iter<'_, Option<Name>>>), 3>` to be an iterator that yields `&mut Term`, but it yields `(&mut Term, BindsIter<IntoIter<_, 0>, _, _, _, _, _, Iter<'_, Option<Name>>>)`
[INFO] [stdout]    --> src/fun/mod.rs:721:8
[INFO] [stdout]     |
[INFO] [stdout] 721 |     ) -> impl DoubleEndedIterator<Item = (&mut Term, impl DoubleEndedIterator<Item = &Option<Name>> + Clone)>
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&mut Term`, found `(&mut Term, ...)`
[INFO] [stdout] ...
[INFO] [stdout] 725 | /     match self {
[INFO] [stdout] 726 | |       Term::Mat { arg, bnd, with_bnd, with_arg, arms }
[INFO] [stdout] 727 | |       | Term::Fold { bnd, arg, with_bnd, with_arg, arms } => {
[INFO] [stdout] 728 | |         let arg = [(arg.as_mut(), BindsIter::Zero([]))].into_iter();
[INFO] [stdout] ...   |
[INFO] [stdout] 778 | |       Term::Open { .. } => unreachable!("Open should be removed in earlier pass"),
[INFO] [stdout] 779 | |     }
[INFO] [stdout]     | |_____- return type was inferred to be `ChildrenIter<IntoIter<_, 0>, ..., ..., ..., ..., ..., ...>` here
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut Term`
[INFO] [stdout]                            found tuple `(&mut Term, Term::children_mut_with_binds::BindsIter<std::array::IntoIter<_, 0>, _, _, _, _, _, std::slice::Iter<'_, Option<Name>>>)`
[INFO] [stdout]     = note: required for `Chain<Map<IterMut<'_, Term>, {closure@...}>, ...>` to implement `Iterator`
[INFO] [stdout] note: required for `ChildrenIter<IntoIter<&mut Term, 0>, ..., ..., ..., ..., ..., ...>` to implement `DoubleEndedIterator`
[INFO] [stdout]    --> src/utils.rs:32:59
[INFO] [stdout]     |
[INFO] [stdout]  32 |     impl<T, $($Variant: DoubleEndedIterator<Item = T>),*> DoubleEndedIterator for $Iter<$($Variant),*> {
[INFO] [stdout]     |                                             --------      ^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             unsatisfied trait bound introduced here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/fun/mod.rs:723:5
[INFO] [stdout]     |
[INFO] [stdout] 723 |     multi_iterator!(ChildrenIter { Zero, One, Two, Vec, Mat, Swt, Bend });
[INFO] [stdout]     |     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/bramar-82fd5b7d24f5a1f0.long-type-13749670555460998414.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the macro `multi_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: expected `IntoIter<(&mut Term, BindsIter<..., ..., ..., ..., ..., ..., _>), 2>` to be an iterator that yields `&mut Term`, but it yields `(&mut Term, BindsIter<IntoIter<&..., 0>, ..., ..., ..., ..., ..., _>)`
[INFO] [stdout]    --> src/fun/mod.rs:721:8
[INFO] [stdout]     |
[INFO] [stdout] 721 |     ) -> impl DoubleEndedIterator<Item = (&mut Term, impl DoubleEndedIterator<Item = &Option<Name>> + Clone)>
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&mut Term`, found `(&mut Term, ...)`
[INFO] [stdout] ...
[INFO] [stdout] 725 | /     match self {
[INFO] [stdout] 726 | |       Term::Mat { arg, bnd, with_bnd, with_arg, arms }
[INFO] [stdout] 727 | |       | Term::Fold { bnd, arg, with_bnd, with_arg, arms } => {
[INFO] [stdout] 728 | |         let arg = [(arg.as_mut(), BindsIter::Zero([]))].into_iter();
[INFO] [stdout] ...   |
[INFO] [stdout] 778 | |       Term::Open { .. } => unreachable!("Open should be removed in earlier pass"),
[INFO] [stdout] 779 | |     }
[INFO] [stdout]     | |_____- return type was inferred to be `ChildrenIter<IntoIter<_, 0>, ..., ..., ..., ..., ..., ...>` here
[INFO] [stdout] ...
[INFO] [stdout] 994 |     pub fn binds(&self) -> impl DoubleEndedIterator<Item = &Option<Name>> + Clone {
[INFO] [stdout]     |                            ------------------------------------------------------ the found opaque type
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut Term`
[INFO] [stdout]                            found tuple `(&mut Term, BindsIter<IntoIter<&..., 0>, ..., ..., ..., ..., ..., _>)`
[INFO] [stdout] note: required for `ChildrenIter<IntoIter<&mut Term, 0>, ..., ..., ..., ..., ..., ...>` to implement `DoubleEndedIterator`
[INFO] [stdout]    --> src/utils.rs:32:59
[INFO] [stdout]     |
[INFO] [stdout]  32 |     impl<T, $($Variant: DoubleEndedIterator<Item = T>),*> DoubleEndedIterator for $Iter<$($Variant),*> {
[INFO] [stdout]     |                                             --------      ^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             unsatisfied trait bound introduced here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/fun/mod.rs:723:5
[INFO] [stdout]     |
[INFO] [stdout] 723 |     multi_iterator!(ChildrenIter { Zero, One, Two, Vec, Mat, Swt, Bend });
[INFO] [stdout]     |     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/bramar-a365519144456124.long-type-14218247989929909444.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the macro `multi_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: expected `Chain<Chain<IntoIter<(&mut Term, ...), 1>, ...>, ...>` to be an iterator that yields `&mut Term`, but it yields `(&mut Term, BindsIter<IntoIter<&..., 0>, ..., ..., ..., ..., ..., _>)`
[INFO] [stdout]    --> src/fun/mod.rs:721:8
[INFO] [stdout]     |
[INFO] [stdout] 721 |     ) -> impl DoubleEndedIterator<Item = (&mut Term, impl DoubleEndedIterator<Item = &Option<Name>> + Clone)>
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&mut Term`, found `(&mut Term, ...)`
[INFO] [stdout] ...
[INFO] [stdout] 725 | /     match self {
[INFO] [stdout] 726 | |       Term::Mat { arg, bnd, with_bnd, with_arg, arms }
[INFO] [stdout] 727 | |       | Term::Fold { bnd, arg, with_bnd, with_arg, arms } => {
[INFO] [stdout] 728 | |         let arg = [(arg.as_mut(), BindsIter::Zero([]))].into_iter();
[INFO] [stdout] ...   |
[INFO] [stdout] 778 | |       Term::Open { .. } => unreachable!("Open should be removed in earlier pass"),
[INFO] [stdout] 779 | |     }
[INFO] [stdout]     | |_____- return type was inferred to be `ChildrenIter<IntoIter<_, 0>, ..., ..., ..., ..., ..., ...>` here
[INFO] [stdout] ...
[INFO] [stdout] 994 |     pub fn binds(&self) -> impl DoubleEndedIterator<Item = &Option<Name>> + Clone {
[INFO] [stdout]     |                            ------------------------------------------------------ the found opaque type
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut Term`
[INFO] [stdout]                            found tuple `(&mut Term, BindsIter<IntoIter<&..., 0>, ..., ..., ..., ..., ..., _>)`
[INFO] [stdout] note: required for `ChildrenIter<IntoIter<&mut Term, 0>, ..., ..., ..., ..., ..., ...>` to implement `DoubleEndedIterator`
[INFO] [stdout]    --> src/utils.rs:32:59
[INFO] [stdout]     |
[INFO] [stdout]  32 |     impl<T, $($Variant: DoubleEndedIterator<Item = T>),*> DoubleEndedIterator for $Iter<$($Variant),*> {
[INFO] [stdout]     |                                             --------      ^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             unsatisfied trait bound introduced here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/fun/mod.rs:723:5
[INFO] [stdout]     |
[INFO] [stdout] 723 |     multi_iterator!(ChildrenIter { Zero, One, Two, Vec, Mat, Swt, Bend });
[INFO] [stdout]     |     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/bramar-a365519144456124.long-type-15003394119695647698.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the macro `multi_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: expected `Chain<Chain<Chain<IntoIter<(&mut Term, ...), 1>, ...>, ...>, ...>` to be an iterator that yields `&mut Term`, but it yields `(&mut Term, BindsIter<IntoIter<&..., 0>, ..., ..., ..., ..., ..., _>)`
[INFO] [stdout]    --> src/fun/mod.rs:721:8
[INFO] [stdout]     |
[INFO] [stdout] 721 |     ) -> impl DoubleEndedIterator<Item = (&mut Term, impl DoubleEndedIterator<Item = &Option<Name>> + Clone)>
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&mut Term`, found `(&mut Term, ...)`
[INFO] [stdout] ...
[INFO] [stdout] 725 | /     match self {
[INFO] [stdout] 726 | |       Term::Mat { arg, bnd, with_bnd, with_arg, arms }
[INFO] [stdout] 727 | |       | Term::Fold { bnd, arg, with_bnd, with_arg, arms } => {
[INFO] [stdout] 728 | |         let arg = [(arg.as_mut(), BindsIter::Zero([]))].into_iter();
[INFO] [stdout] ...   |
[INFO] [stdout] 778 | |       Term::Open { .. } => unreachable!("Open should be removed in earlier pass"),
[INFO] [stdout] 779 | |     }
[INFO] [stdout]     | |_____- return type was inferred to be `ChildrenIter<IntoIter<_, 0>, ..., ..., ..., ..., ..., ...>` here
[INFO] [stdout] ...
[INFO] [stdout] 994 |     pub fn binds(&self) -> impl DoubleEndedIterator<Item = &Option<Name>> + Clone {
[INFO] [stdout]     |                            ------------------------------------------------------ the found opaque type
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut Term`
[INFO] [stdout]                            found tuple `(&mut Term, BindsIter<IntoIter<&..., 0>, ..., ..., ..., ..., ..., _>)`
[INFO] [stdout] note: required for `ChildrenIter<IntoIter<&mut Term, 0>, ..., ..., ..., ..., ..., ...>` to implement `DoubleEndedIterator`
[INFO] [stdout]    --> src/utils.rs:32:59
[INFO] [stdout]     |
[INFO] [stdout]  32 |     impl<T, $($Variant: DoubleEndedIterator<Item = T>),*> DoubleEndedIterator for $Iter<$($Variant),*> {
[INFO] [stdout]     |                                             --------      ^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             unsatisfied trait bound introduced here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/fun/mod.rs:723:5
[INFO] [stdout]     |
[INFO] [stdout] 723 |     multi_iterator!(ChildrenIter { Zero, One, Two, Vec, Mat, Swt, Bend });
[INFO] [stdout]     |     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/bramar-a365519144456124.long-type-3297153513931620348.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the macro `multi_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: expected `IntoIter<&mut Term, 0>` to be an iterator that yields `(&mut Term, BindsIter<IntoIter<&..., 0>, ..., ..., ..., ..., ..., _>)`, but it yields `&mut Term`
[INFO] [stdout]    --> src/fun/mod.rs:721:8
[INFO] [stdout]     |
[INFO] [stdout] 721 |     ) -> impl DoubleEndedIterator<Item = (&mut Term, impl DoubleEndedIterator<Item = &Option<Name>> + Clone)>
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `(&mut Term, ...)`, found `&mut Term`
[INFO] [stdout] ...
[INFO] [stdout] 725 | /     match self {
[INFO] [stdout] 726 | |       Term::Mat { arg, bnd, with_bnd, with_arg, arms }
[INFO] [stdout] 727 | |       | Term::Fold { bnd, arg, with_bnd, with_arg, arms } => {
[INFO] [stdout] 728 | |         let arg = [(arg.as_mut(), BindsIter::Zero([]))].into_iter();
[INFO] [stdout] ...   |
[INFO] [stdout] 778 | |       Term::Open { .. } => unreachable!("Open should be removed in earlier pass"),
[INFO] [stdout] 779 | |     }
[INFO] [stdout]     | |_____- return type was inferred to be `ChildrenIter<IntoIter<_, 0>, ..., ..., ..., ..., ..., ...>` here
[INFO] [stdout] ...
[INFO] [stdout] 994 |     pub fn binds(&self) -> impl DoubleEndedIterator<Item = &Option<Name>> + Clone {
[INFO] [stdout]     |                            ------------------------------------------------------ the expected opaque type
[INFO] [stdout]     |
[INFO] [stdout]     = note:          expected tuple `(&mut Term, BindsIter<IntoIter<&..., 0>, ..., ..., ..., ..., ..., _>)`
[INFO] [stdout]             found mutable reference `&mut Term`
[INFO] [stdout] note: required for `ChildrenIter<IntoIter<&mut Term, 0>, ..., ..., ..., ..., ..., ...>` to implement `Iterator`
[INFO] [stdout]    --> src/utils.rs:21:48
[INFO] [stdout]     |
[INFO] [stdout]  21 |     impl<T, $($Variant: Iterator<Item = T>),*> Iterator for $Iter<$($Variant),*> {
[INFO] [stdout]     |                                  --------      ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  unsatisfied trait bound introduced here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/fun/mod.rs:723:5
[INFO] [stdout]     |
[INFO] [stdout] 723 |     multi_iterator!(ChildrenIter { Zero, One, Two, Vec, Mat, Swt, Bend });
[INFO] [stdout]     |     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/bramar-a365519144456124.long-type-4060400504152491952.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the macro `multi_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: expected `IntoIter<&mut Term, 1>` to be an iterator that yields `(&mut Term, BindsIter<IntoIter<&..., 0>, ..., ..., ..., ..., ..., _>)`, but it yields `&mut Term`
[INFO] [stdout]    --> src/fun/mod.rs:721:8
[INFO] [stdout]     |
[INFO] [stdout] 721 |     ) -> impl DoubleEndedIterator<Item = (&mut Term, impl DoubleEndedIterator<Item = &Option<Name>> + Clone)>
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `(&mut Term, ...)`, found `&mut Term`
[INFO] [stdout] ...
[INFO] [stdout] 725 | /     match self {
[INFO] [stdout] 726 | |       Term::Mat { arg, bnd, with_bnd, with_arg, arms }
[INFO] [stdout] 727 | |       | Term::Fold { bnd, arg, with_bnd, with_arg, arms } => {
[INFO] [stdout] 728 | |         let arg = [(arg.as_mut(), BindsIter::Zero([]))].into_iter();
[INFO] [stdout] ...   |
[INFO] [stdout] 778 | |       Term::Open { .. } => unreachable!("Open should be removed in earlier pass"),
[INFO] [stdout] 779 | |     }
[INFO] [stdout]     | |_____- return type was inferred to be `ChildrenIter<IntoIter<_, 0>, ..., ..., ..., ..., ..., ...>` here
[INFO] [stdout] ...
[INFO] [stdout] 994 |     pub fn binds(&self) -> impl DoubleEndedIterator<Item = &Option<Name>> + Clone {
[INFO] [stdout]     |                            ------------------------------------------------------ the expected opaque type
[INFO] [stdout]     |
[INFO] [stdout]     = note:          expected tuple `(&mut Term, BindsIter<IntoIter<&..., 0>, ..., ..., ..., ..., ..., _>)`
[INFO] [stdout]             found mutable reference `&mut Term`
[INFO] [stdout] note: required for `ChildrenIter<IntoIter<&mut Term, 0>, ..., ..., ..., ..., ..., ...>` to implement `Iterator`
[INFO] [stdout]    --> src/utils.rs:21:48
[INFO] [stdout]     |
[INFO] [stdout]  21 |     impl<T, $($Variant: Iterator<Item = T>),*> Iterator for $Iter<$($Variant),*> {
[INFO] [stdout]     |                                  --------      ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  unsatisfied trait bound introduced here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/fun/mod.rs:723:5
[INFO] [stdout]     |
[INFO] [stdout] 723 |     multi_iterator!(ChildrenIter { Zero, One, Two, Vec, Mat, Swt, Bend });
[INFO] [stdout]     |     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/bramar-a365519144456124.long-type-4060400504152491952.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the macro `multi_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: expected `Map<IterMut<'_, Term>, {closure@mod.rs:756:46}>` to be an iterator that yields `(&mut Term, BindsIter<IntoIter<&..., 0>, ..., ..., ..., ..., ..., _>)`, but it yields `&mut Term`
[INFO] [stdout]    --> src/fun/mod.rs:721:8
[INFO] [stdout]     |
[INFO] [stdout] 721 |     ) -> impl DoubleEndedIterator<Item = (&mut Term, impl DoubleEndedIterator<Item = &Option<Name>> + Clone)>
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `(&mut Term, ...)`, found `&mut Term`
[INFO] [stdout] ...
[INFO] [stdout] 725 | /     match self {
[INFO] [stdout] 726 | |       Term::Mat { arg, bnd, with_bnd, with_arg, arms }
[INFO] [stdout] 727 | |       | Term::Fold { bnd, arg, with_bnd, with_arg, arms } => {
[INFO] [stdout] 728 | |         let arg = [(arg.as_mut(), BindsIter::Zero([]))].into_iter();
[INFO] [stdout] ...   |
[INFO] [stdout] 778 | |       Term::Open { .. } => unreachable!("Open should be removed in earlier pass"),
[INFO] [stdout] 779 | |     }
[INFO] [stdout]     | |_____- return type was inferred to be `ChildrenIter<IntoIter<_, 0>, ..., ..., ..., ..., ..., ...>` here
[INFO] [stdout] ...
[INFO] [stdout] 994 |     pub fn binds(&self) -> impl DoubleEndedIterator<Item = &Option<Name>> + Clone {
[INFO] [stdout]     |                            ------------------------------------------------------ the expected opaque type
[INFO] [stdout]     |
[INFO] [stdout]     = note:          expected tuple `(&mut Term, BindsIter<IntoIter<&..., 0>, ..., ..., ..., ..., ..., _>)`
[INFO] [stdout]             found mutable reference `&mut Term`
[INFO] [stdout] note: required for `ChildrenIter<IntoIter<&mut Term, 0>, ..., ..., ..., ..., ..., ...>` to implement `Iterator`
[INFO] [stdout]    --> src/utils.rs:21:48
[INFO] [stdout]     |
[INFO] [stdout]  21 |     impl<T, $($Variant: Iterator<Item = T>),*> Iterator for $Iter<$($Variant),*> {
[INFO] [stdout]     |                                  --------      ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  unsatisfied trait bound introduced here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/fun/mod.rs:723:5
[INFO] [stdout]     |
[INFO] [stdout] 723 |     multi_iterator!(ChildrenIter { Zero, One, Two, Vec, Mat, Swt, Bend });
[INFO] [stdout]     |     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/bramar-a365519144456124.long-type-4060400504152491952.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the macro `multi_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: expected `Chain<Map<IterMut<'_, Term>, {closure@...}>, ...>` to be an iterator that yields `(&mut Term, BindsIter<IntoIter<&..., 0>, ..., ..., ..., ..., ..., _>)`, but it yields `&mut Term`
[INFO] [stdout]    --> src/fun/mod.rs:721:8
[INFO] [stdout]     |
[INFO] [stdout] 721 |     ) -> impl DoubleEndedIterator<Item = (&mut Term, impl DoubleEndedIterator<Item = &Option<Name>> + Clone)>
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `(&mut Term, ...)`, found `&mut Term`
[INFO] [stdout] ...
[INFO] [stdout] 725 | /     match self {
[INFO] [stdout] 726 | |       Term::Mat { arg, bnd, with_bnd, with_arg, arms }
[INFO] [stdout] 727 | |       | Term::Fold { bnd, arg, with_bnd, with_arg, arms } => {
[INFO] [stdout] 728 | |         let arg = [(arg.as_mut(), BindsIter::Zero([]))].into_iter();
[INFO] [stdout] ...   |
[INFO] [stdout] 778 | |       Term::Open { .. } => unreachable!("Open should be removed in earlier pass"),
[INFO] [stdout] 779 | |     }
[INFO] [stdout]     | |_____- return type was inferred to be `ChildrenIter<IntoIter<_, 0>, ..., ..., ..., ..., ..., ...>` here
[INFO] [stdout] ...
[INFO] [stdout] 994 |     pub fn binds(&self) -> impl DoubleEndedIterator<Item = &Option<Name>> + Clone {
[INFO] [stdout]     |                            ------------------------------------------------------ the expected opaque type
[INFO] [stdout]     |
[INFO] [stdout]     = note:          expected tuple `(&mut Term, BindsIter<IntoIter<&..., 0>, ..., ..., ..., ..., ..., _>)`
[INFO] [stdout]             found mutable reference `&mut Term`
[INFO] [stdout] note: required for `ChildrenIter<IntoIter<&mut Term, 0>, ..., ..., ..., ..., ..., ...>` to implement `Iterator`
[INFO] [stdout]    --> src/utils.rs:21:48
[INFO] [stdout]     |
[INFO] [stdout]  21 |     impl<T, $($Variant: Iterator<Item = T>),*> Iterator for $Iter<$($Variant),*> {
[INFO] [stdout]     |                                  --------      ^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                  |
[INFO] [stdout]     |                                  unsatisfied trait bound introduced here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/fun/mod.rs:723:5
[INFO] [stdout]     |
[INFO] [stdout] 723 |     multi_iterator!(ChildrenIter { Zero, One, Two, Vec, Mat, Swt, Bend });
[INFO] [stdout]     |     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/bramar-a365519144456124.long-type-13669897644770056953.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the macro `multi_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: expected `{closure@mod.rs:756:46}` to return `&mut Term`, but it returns `(&mut Term, BindsIter<IntoIter<_, 0>, _, _, _, _, _, _>)`
[INFO] [stdout]    --> src/fun/mod.rs:756:51
[INFO] [stdout]     |
[INFO] [stdout] 721 |     ) -> impl DoubleEndedIterator<Item = (&mut Term, impl DoubleEndedIterator<Item = &Option<Name>> + Clone)>
[INFO] [stdout]     |          ---------------------------------------------------------------------------------------------------- closure used here
[INFO] [stdout] ...
[INFO] [stdout] 725 | /     match self {
[INFO] [stdout] 726 | |       Term::Mat { arg, bnd, with_bnd, with_arg, arms }
[INFO] [stdout] 727 | |       | Term::Fold { bnd, arg, with_bnd, with_arg, arms } => {
[INFO] [stdout] 728 | |         let arg = [(arg.as_mut(), BindsIter::Zero([]))].into_iter();
[INFO] [stdout] ...   |
[INFO] [stdout] 756 | |         ChildrenIter::Vec(els.iter_mut().map(|el| (el, BindsIter::Zero([]))))
[INFO] [stdout]     | |                                              ---- ^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&mut Term`, found `(&mut Term, ...)`
[INFO] [stdout]     | |                                              |
[INFO] [stdout]     | |                                              this closure
[INFO] [stdout] ...   |
[INFO] [stdout] 778 | |       Term::Open { .. } => unreachable!("Open should be removed in earlier pass"),
[INFO] [stdout] 779 | |     }
[INFO] [stdout]     | |_____- return type was inferred to be `ChildrenIter<IntoIter<_, 0>, ..., ..., ..., ..., ..., ...>` here
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut Term`
[INFO] [stdout]                            found tuple `(&mut Term, Term::children_mut_with_binds::BindsIter<std::array::IntoIter<_, 0>, _, _, _, _, _, _>)`
[INFO] [stdout]     = note: required for `Map<std::slice::IterMut<'_, Term>, {closure@src/fun/mod.rs:756:46: 756:50}>` to implement `Iterator`
[INFO] [stdout] note: required for `ChildrenIter<IntoIter<&mut Term, 0>, ..., ..., ..., ..., ..., ...>` to implement `DoubleEndedIterator`
[INFO] [stdout]    --> src/utils.rs:32:59
[INFO] [stdout]     |
[INFO] [stdout]  32 |     impl<T, $($Variant: DoubleEndedIterator<Item = T>),*> DoubleEndedIterator for $Iter<$($Variant),*> {
[INFO] [stdout]     |                                             --------      ^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             unsatisfied trait bound introduced here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/fun/mod.rs:723:5
[INFO] [stdout]     |
[INFO] [stdout] 723 |     multi_iterator!(ChildrenIter { Zero, One, Two, Vec, Mat, Swt, Bend });
[INFO] [stdout]     |     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/bramar-a365519144456124.long-type-11132181449442572434.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the macro `multi_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: expected `{closure@mod.rs:748:47}` to return `&mut Term`, but it returns `(&mut Term, BindsIter<IntoIter<_, 0>, _, _, _, _, _, Iter<'_, Option<Name>>>)`
[INFO] [stdout]    --> src/fun/mod.rs:748:51
[INFO] [stdout]     |
[INFO] [stdout] 721 |     ) -> impl DoubleEndedIterator<Item = (&mut Term, impl DoubleEndedIterator<Item = &Option<Name>> + Clone)>
[INFO] [stdout]     |          ---------------------------------------------------------------------------------------------------- closure used here
[INFO] [stdout] ...
[INFO] [stdout] 725 | /     match self {
[INFO] [stdout] 726 | |       Term::Mat { arg, bnd, with_bnd, with_arg, arms }
[INFO] [stdout] 727 | |       | Term::Fold { bnd, arg, with_bnd, with_arg, arms } => {
[INFO] [stdout] 728 | |         let arg = [(arg.as_mut(), BindsIter::Zero([]))].into_iter();
[INFO] [stdout] ...   |
[INFO] [stdout] 748 | |         ChildrenIter::Bend(arg.iter_mut().map(|x| (x, BindsIter::Zero([]))).chain([
[INFO] [stdout]     | |                                               --- ^^^^^^^^^^^^^^^^^^^^^^^^ expected `&mut Term`, found `(&mut Term, ...)`
[INFO] [stdout]     | |                                               |
[INFO] [stdout]     | |                                               this closure
[INFO] [stdout] ...   |
[INFO] [stdout] 778 | |       Term::Open { .. } => unreachable!("Open should be removed in earlier pass"),
[INFO] [stdout] 779 | |     }
[INFO] [stdout]     | |_____- return type was inferred to be `ChildrenIter<IntoIter<_, 0>, ..., ..., ..., ..., ..., ...>` here
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut Term`
[INFO] [stdout]                            found tuple `(&mut Term, Term::children_mut_with_binds::BindsIter<std::array::IntoIter<_, 0>, _, _, _, _, _, std::slice::Iter<'_, Option<Name>>>)`
[INFO] [stdout]     = note: required for `Map<std::slice::IterMut<'_, Term>, {closure@src/fun/mod.rs:748:47: 748:50}>` to implement `Iterator`
[INFO] [stdout]     = note: 1 redundant requirement hidden
[INFO] [stdout]     = note: required for `Chain<Map<IterMut<'_, Term>, {closure@...}>, ...>` to implement `Iterator`
[INFO] [stdout] note: required for `ChildrenIter<IntoIter<&mut Term, 0>, ..., ..., ..., ..., ..., ...>` to implement `DoubleEndedIterator`
[INFO] [stdout]    --> src/utils.rs:32:59
[INFO] [stdout]     |
[INFO] [stdout]  32 |     impl<T, $($Variant: DoubleEndedIterator<Item = T>),*> DoubleEndedIterator for $Iter<$($Variant),*> {
[INFO] [stdout]     |                                             --------      ^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             unsatisfied trait bound introduced here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/fun/mod.rs:723:5
[INFO] [stdout]     |
[INFO] [stdout] 723 |     multi_iterator!(ChildrenIter { Zero, One, Two, Vec, Mat, Swt, Bend });
[INFO] [stdout]     |     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/bramar-a365519144456124.long-type-13669897644770056953.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the macro `multi_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0271]: expected `IntoIter<(&mut Term, BindsIter<IntoIter<_, 0>, _, _, _, _, _, Iter<'_, Option<Name>>>), 3>` to be an iterator that yields `&mut Term`, but it yields `(&mut Term, BindsIter<IntoIter<_, 0>, _, _, _, _, _, Iter<'_, Option<Name>>>)`
[INFO] [stdout]    --> src/fun/mod.rs:721:8
[INFO] [stdout]     |
[INFO] [stdout] 721 |     ) -> impl DoubleEndedIterator<Item = (&mut Term, impl DoubleEndedIterator<Item = &Option<Name>> + Clone)>
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `&mut Term`, found `(&mut Term, ...)`
[INFO] [stdout] ...
[INFO] [stdout] 725 | /     match self {
[INFO] [stdout] 726 | |       Term::Mat { arg, bnd, with_bnd, with_arg, arms }
[INFO] [stdout] 727 | |       | Term::Fold { bnd, arg, with_bnd, with_arg, arms } => {
[INFO] [stdout] 728 | |         let arg = [(arg.as_mut(), BindsIter::Zero([]))].into_iter();
[INFO] [stdout] ...   |
[INFO] [stdout] 778 | |       Term::Open { .. } => unreachable!("Open should be removed in earlier pass"),
[INFO] [stdout] 779 | |     }
[INFO] [stdout]     | |_____- return type was inferred to be `ChildrenIter<IntoIter<_, 0>, ..., ..., ..., ..., ..., ...>` here
[INFO] [stdout]     |
[INFO] [stdout]     = note: expected mutable reference `&mut Term`
[INFO] [stdout]                            found tuple `(&mut Term, Term::children_mut_with_binds::BindsIter<std::array::IntoIter<_, 0>, _, _, _, _, _, std::slice::Iter<'_, Option<Name>>>)`
[INFO] [stdout]     = note: required for `Chain<Map<IterMut<'_, Term>, {closure@...}>, ...>` to implement `Iterator`
[INFO] [stdout] note: required for `ChildrenIter<IntoIter<&mut Term, 0>, ..., ..., ..., ..., ..., ...>` to implement `DoubleEndedIterator`
[INFO] [stdout]    --> src/utils.rs:32:59
[INFO] [stdout]     |
[INFO] [stdout]  32 |     impl<T, $($Variant: DoubleEndedIterator<Item = T>),*> DoubleEndedIterator for $Iter<$($Variant),*> {
[INFO] [stdout]     |                                             --------      ^^^^^^^^^^^^^^^^^^^     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |                                             |
[INFO] [stdout]     |                                             unsatisfied trait bound introduced here
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/fun/mod.rs:723:5
[INFO] [stdout]     |
[INFO] [stdout] 723 |     multi_iterator!(ChildrenIter { Zero, One, Two, Vec, Mat, Swt, Bend });
[INFO] [stdout]     |     --------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/bramar-a365519144456124.long-type-13669897644770056953.txt'
[INFO] [stdout]     = note: consider using `--verbose` to print the full type name to the console
[INFO] [stdout]     = note: this error originates in the macro `multi_iterator` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pat`
[INFO] [stdout]    --> src/fun/mod.rs:635:19
[INFO] [stdout]     |
[INFO] [stdout] 635 |       Term::Lam { pat, bod, .. } => ChildrenIter::One([bod.as_mut()]),
[INFO] [stdout]     |                   ^^^ help: try ignoring the field: `pat: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `pat`
[INFO] [stdout]    --> src/fun/mod.rs:635:19
[INFO] [stdout]     |
[INFO] [stdout] 635 |       Term::Lam { pat, bod, .. } => ChildrenIter::One([bod.as_mut()]),
[INFO] [stdout]     |                   ^^^ help: try ignoring the field: `pat: _`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0271`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `bramar-lang` (lib test) due to 10 previous errors; 1 warning emitted
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] For more information about this error, try `rustc --explain E0271`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `bramar-lang` (lib) due to 10 previous errors; 1 warning emitted
[INFO] running `Command { std: "docker" "inspect" "4d3a9b48bb008382848841939d1cd6f1b1b05ab945e4acd085f36ffc102172f6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4d3a9b48bb008382848841939d1cd6f1b1b05ab945e4acd085f36ffc102172f6", kill_on_drop: false }`
[INFO] [stdout] 4d3a9b48bb008382848841939d1cd6f1b1b05ab945e4acd085f36ffc102172f6
