[INFO] updating cached repository rookie1024/AbsoluteUnity [INFO] running `"git" "fetch" "--all"` [INFO] [stdout] Fetching origin [INFO] [stderr] From git://github.com/rookie1024/AbsoluteUnity [INFO] [stderr] * branch HEAD -> FETCH_HEAD [INFO] running `"git" "clone" "work/cache/sources/gh/rookie1024/AbsoluteUnity" "work/ex/pr-59199/sources/master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7/gh/rookie1024/AbsoluteUnity"` [INFO] [stderr] Cloning into 'work/ex/pr-59199/sources/master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7/gh/rookie1024/AbsoluteUnity'... [INFO] [stderr] done. [INFO] running `"git" "clone" "work/cache/sources/gh/rookie1024/AbsoluteUnity" "work/ex/pr-59199/sources/try#68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b/gh/rookie1024/AbsoluteUnity"` [INFO] [stderr] Cloning into 'work/ex/pr-59199/sources/try#68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b/gh/rookie1024/AbsoluteUnity'... [INFO] [stderr] done. [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 83d2b532acd33df547cabbf8616a943020ef3228 [INFO] sha for GitHub repo rookie1024/AbsoluteUnity: 83d2b532acd33df547cabbf8616a943020ef3228 [INFO] validating manifest of rookie1024/AbsoluteUnity on toolchain master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7 [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] validating manifest of rookie1024/AbsoluteUnity on toolchain try#68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b-alt" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started frobbing rookie1024/AbsoluteUnity [INFO] finished frobbing rookie1024/AbsoluteUnity [INFO] frobbed toml for rookie1024/AbsoluteUnity written to work/ex/pr-59199/sources/master#bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7/gh/rookie1024/AbsoluteUnity/Cargo.toml [INFO] started frobbing rookie1024/AbsoluteUnity [INFO] finished frobbing rookie1024/AbsoluteUnity [INFO] frobbed toml for rookie1024/AbsoluteUnity written to work/ex/pr-59199/sources/try#68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b/gh/rookie1024/AbsoluteUnity/Cargo.toml [INFO] crate rookie1024/AbsoluteUnity already has a lockfile, it will not be regenerated [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+bc44841ad2a2ad5f6c5e67b9e35ed8e7e71d4dc7-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"/mnt/crater-raid/crater/work/local/cargo-home/bin/cargo" "+68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b-alt" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] checking rookie1024/AbsoluteUnity against try#68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b for pr-59199 [INFO] running `"docker" "create" "-v" "/mnt/crater-raid/crater/work/local/target-dirs/pr-59199/worker-0/try#68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b:/opt/crater/target:rw,Z" "-v" "/mnt/crater-raid/crater/work/ex/pr-59199/sources/try#68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b/gh/rookie1024/AbsoluteUnity:/opt/crater/workdir:ro,Z" "-v" "/mnt/crater-raid/crater/work/local/cargo-home:/opt/crater/cargo-home:ro,Z" "-v" "/mnt/crater-raid/crater/work/local/rustup-home:/opt/crater/rustup-home:ro,Z" "-e" "USER_ID=1000" "-e" "SOURCE_DIR=/opt/crater/workdir" "-e" "MAP_USER_ID=1000" "-e" "CARGO_TARGET_DIR=/opt/crater/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/crater/cargo-home" "-e" "RUSTUP_HOME=/opt/crater/rustup-home" "-w" "/opt/crater/workdir" "-m" "1536M" "--network" "none" "rustops/crates-build-env" "/opt/crater/cargo-home/bin/cargo" "+68fcf881bd1e4dbfc21e22f8c7a56b8a5d8e8f7b-alt" "check" "--frozen" "--all" "--all-targets"` [INFO] [stdout] df95724d24e8fc39083d8b0bd8f9e90c6f38a5d53696956ac11f8e04893ab02a [INFO] running `"docker" "start" "-a" "df95724d24e8fc39083d8b0bd8f9e90c6f38a5d53696956ac11f8e04893ab02a"` [INFO] [stderr] Compiling byte-tools v0.3.0 [INFO] [stderr] Compiling void v1.0.2 [INFO] [stderr] Compiling byteorder v1.2.7 [INFO] [stderr] Compiling precomputed-hash v0.1.1 [INFO] [stderr] Compiling opaque-debug v0.2.1 [INFO] [stderr] Compiling fake-simd v0.1.2 [INFO] [stderr] Compiling ordermap v0.3.5 [INFO] [stderr] Compiling bit-vec v0.5.0 [INFO] [stderr] Compiling lalrpop-util v0.16.1 [INFO] [stderr] Checking unicode-segmentation v1.2.1 [INFO] [stderr] Compiling phf_shared v0.7.23 [INFO] [stderr] Compiling regex-syntax v0.6.3 [INFO] [stderr] Compiling itertools v0.7.11 [INFO] [stderr] Compiling ascii-canvas v1.0.0 [INFO] [stderr] Compiling typenum v1.10.0 [INFO] [stderr] Compiling ena v0.10.1 [INFO] [stderr] Compiling atty v0.2.11 [INFO] [stderr] Checking dirs v1.0.4 [INFO] [stderr] Checking nix v0.12.0 [INFO] [stderr] Compiling memchr v2.1.1 [INFO] [stderr] Compiling block-padding v0.1.2 [INFO] [stderr] Compiling unreachable v1.0.0 [INFO] [stderr] Compiling phf_generator v0.7.23 [INFO] [stderr] Checking regex v1.0.6 [INFO] [stderr] Checking error-chain v0.12.0 [INFO] [stderr] Compiling new_debug_unreachable v1.0.1 [INFO] [stderr] Checking rustyline v2.1.0 [INFO] [stderr] Compiling string_cache_codegen v0.4.2 [INFO] [stderr] Compiling bit-set v0.5.0 [INFO] [stderr] Compiling aho-corasick v0.6.9 [INFO] [stderr] Compiling petgraph v0.4.13 [INFO] [stderr] Compiling generic-array v0.12.0 [INFO] [stderr] Compiling string_cache v0.7.3 [INFO] [stderr] Compiling block-buffer v0.7.0 [INFO] [stderr] Compiling digest v0.8.0 [INFO] [stderr] Compiling sha2 v0.8.0 [INFO] [stderr] Compiling docopt v1.0.2 [INFO] [stderr] Compiling lalrpop v0.16.1 [INFO] [stderr] Compiling absolute_unity v0.1.0 (/opt/crater/workdir) [INFO] [stderr] error[E0720]: opaque type expands to a recursive type [INFO] [stderr] --> src/aunify/env.rs:19:8 [INFO] [stderr] | [INFO] [stderr] 19 | ) -> impl Iterator + 'a { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expands to self-referential type [INFO] [stderr] | [INFO] [stderr] = note: expanded type is `gen_iter::GenIter<[generator@src/aunify/env.rs:20:13: 69:6 tracer:T, app:pred::App, self:&'a env::Env, src:&'a var::VarSource for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9, 't10, 't11, 't12, 't13, 't14, 't15, 't16, 't17, 't18, 't19, 't20, 't21, 't22, 't23, 't24, 't25, 't26, 't27, 't28, 't29, 't30, 't31, 't32, 't33, 't34, 't35, 't36, 't37, 't38> {::SolveAppHandle, fn(&'r std::vec::Vec>) -> <&'r std::vec::Vec> as std::iter::IntoIterator>::IntoIter {<&'r std::vec::Vec> as std::iter::IntoIterator>::into_iter}, &'s env::Env, env::Env, std::vec::Vec>, &'t0 std::vec::Vec>, std::slice::Iter<'t1, scheme::MaybeScheme>, std::slice::Iter<'t2, scheme::MaybeScheme>, &'t3 scheme::MaybeScheme, &'t4 scheme::MaybeScheme, scheme::MaybeScheme, &'t5 scheme::MaybeScheme, &'t6 var::VarSource, var::VarSource, &'t7 var::VarSource, &'t8 ::SolveAppHandle, <::SolveAppHandle as tracer::Tracer>::ThingTracer, std::result::Result, Error>, std::borrow::Cow<'t10, statement::Statement>, statement::Statement, &'t11 statement::Statement, &'t12 pred::App, pred::App, &'t13 pred::App, &'t14 pred::App, &'t15 pred::App, &'t16 ::SolveAppHandle, <::SolveAppHandle as tracer::Tracer>::UnifyTracer, std::result::Result, [closure@src/aunify/env.rs:39:71: 45:14 stmt:&'t18 std::borrow::Cow<'t19, statement::Statement>, tracer:&'t20 ::SolveAppHandle], std::result::Result<(clause::Clause, sub::Sub), Error>, clause::Clause, sub::Sub, fn(std::boxed::Box::SolveAppHandle, clause:clause::Clause, self:&'t21 env::Env, src:&'t21 var::VarSource for<'t39, 't40, 't41, 't42, 't43, 't44, 't45, 't46, 't47, 't48, 't49, 't50, 't51, 't52, 't53, 't54, 't55, 't56, 't57, 't58, 't59, 't60, 't61, 't62, 't63, 't64, 't65, 't66, 't67, 't68, 't69, 't70, 't71, 't72, 't73, 't74, 't75, 't76, 't77, 't78, 't79, 't80, 't81, 't82, 't83, 't84, 't85, 't86, 't87, 't88, 't89, 't90, 't91, 't92, 't93, 't94, 't95, 't96, 't97, 't98, 't99, 't100, 't101, 't102, 't103, 't104, 't105, 't106, 't107, 't108, 't109, 't110, 't111, 't112, 't113, 't114, 't115, 't116, 't117, 't118, 't119, 't120, 't121, 't122, 't123, 't124, 't125, 't126, 't127, 't128, 't129, 't130, 't131> {<::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, clause::Clause, sub::Sub, (), pred::App, fn(impl std::iter::Iterator) -> ::IntoIter {::into_iter}, &'t41 env::Env, env::Env, &'t42 env::Env, &'t43 var::VarSource, var::VarSource, &'t44 var::VarSource, &'t45 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, impl std::iter::Iterator, impl std::iter::Iterator, impl std::iter::Iterator, std::boxed::Box, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t54 env::Env, &'t55 var::VarSource, &'t56 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, &'t61 mut std::boxed::Box, std::option::Option, fn(std::boxed::Box) -> as std::iter::IntoIterator>::IntoIter { as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t68 env::Env, &'t69 var::VarSource, &'t70 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box, &'t79 std::boxed::Box, &'t80 sub::Sub, &'t81 sub::Sub, &'t82 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, <<::SolveAppHandle as tracer::Tracer>::SolveClauseHandle as tracer::Tracer>::ThingTracer, std::result::Result, fn(std::boxed::Box) -> as std::iter::IntoIterator>::IntoIter { as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t87 env::Env, &'t88 var::VarSource, &'t89 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box, &'t98 sub::Sub, &'t99 sub::Sub, &'t100 sub::Sub, &'t101 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, std::result::Result, fn(std::boxed::Box) -> as std::iter::IntoIterator>::IntoIter { as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t106 env::Env, &'t107 var::VarSource, &'t108 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box, fn(std::boxed::Box) -> as std::iter::IntoIterator>::IntoIter { as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t121 env::Env, &'t122 var::VarSource, &'t123 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box}]>>) -> ::SolveAppHandle, clause:clause::Clause, self:&'t21 env::Env, src:&'t21 var::VarSource for<'t39, 't40, 't41, 't42, 't43, 't44, 't45, 't46, 't47, 't48, 't49, 't50, 't51, 't52, 't53, 't54, 't55, 't56, 't57, 't58, 't59, 't60, 't61, 't62, 't63, 't64, 't65, 't66, 't67, 't68, 't69, 't70, 't71, 't72, 't73, 't74, 't75, 't76, 't77, 't78, 't79, 't80, 't81, 't82, 't83, 't84, 't85, 't86, 't87, 't88, 't89, 't90, 't91, 't92, 't93, 't94, 't95, 't96, 't97, 't98, 't99, 't100, 't101, 't102, 't103, 't104, 't105, 't106, 't107, 't108, 't109, 't110, 't111, 't112, 't113, 't114, 't115, 't116, 't117, 't118, 't119, 't120, 't121, 't122, 't123, 't124, 't125, 't126, 't127, 't128, 't129, 't130, 't131> {<::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, clause::Clause, sub::Sub, (), pred::App, fn(impl std::iter::Iterator) -> ::IntoIter {::into_iter}, &'t41 env::Env, env::Env, &'t42 env::Env, &'t43 var::VarSource, var::VarSource, &'t44 var::VarSource, &'t45 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, impl std::iter::Iterator, impl std::iter::Iterator, impl std::iter::Iterator, std::boxed::Box, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t54 env::Env, &'t55 var::VarSource, &'t56 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, &'t61 mut std::boxed::Box, std::option::Option, fn(std::boxed::Box) -> as std::iter::IntoIterator>::IntoIter { as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t68 env::Env, &'t69 var::VarSource, &'t70 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box, &'t79 std::boxed::Box, &'t80 sub::Sub, &'t81 sub::Sub, &'t82 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, <<::SolveAppHandle as tracer::Tracer>::SolveClauseHandle as tracer::Tracer>::ThingTracer, std::result::Result, fn(std::boxed::Box) -> as std::iter::IntoIterator>::IntoIter { as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t87 env::Env, &'t88 var::VarSource, &'t89 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box, &'t98 sub::Sub, &'t99 sub::Sub, &'t100 sub::Sub, &'t101 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, std::result::Result, fn(std::boxed::Box) -> as std::iter::IntoIterator>::IntoIter { as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t106 env::Env, &'t107 var::VarSource, &'t108 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box, fn(std::boxed::Box) -> as std::iter::IntoIterator>::IntoIter { as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t121 env::Env, &'t122 var::VarSource, &'t123 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box}]>> as std::iter::IntoIterator>::IntoIter {::SolveAppHandle, clause:clause::Clause, self:&'t21 env::Env, src:&'t21 var::VarSource for<'t39, 't40, 't41, 't42, 't43, 't44, 't45, 't46, 't47, 't48, 't49, 't50, 't51, 't52, 't53, 't54, 't55, 't56, 't57, 't58, 't59, 't60, 't61, 't62, 't63, 't64, 't65, 't66, 't67, 't68, 't69, 't70, 't71, 't72, 't73, 't74, 't75, 't76, 't77, 't78, 't79, 't80, 't81, 't82, 't83, 't84, 't85, 't86, 't87, 't88, 't89, 't90, 't91, 't92, 't93, 't94, 't95, 't96, 't97, 't98, 't99, 't100, 't101, 't102, 't103, 't104, 't105, 't106, 't107, 't108, 't109, 't110, 't111, 't112, 't113, 't114, 't115, 't116, 't117, 't118, 't119, 't120, 't121, 't122, 't123, 't124, 't125, 't126, 't127, 't128, 't129, 't130, 't131> {<::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, clause::Clause, sub::Sub, (), pred::App, fn(impl std::iter::Iterator) -> ::IntoIter {::into_iter}, &'t41 env::Env, env::Env, &'t42 env::Env, &'t43 var::VarSource, var::VarSource, &'t44 var::VarSource, &'t45 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, impl std::iter::Iterator, impl std::iter::Iterator, impl std::iter::Iterator, std::boxed::Box, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t54 env::Env, &'t55 var::VarSource, &'t56 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, &'t61 mut std::boxed::Box, std::option::Option, fn(std::boxed::Box) -> as std::iter::IntoIterator>::IntoIter { as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t68 env::Env, &'t69 var::VarSource, &'t70 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box, &'t79 std::boxed::Box, &'t80 sub::Sub, &'t81 sub::Sub, &'t82 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, <<::SolveAppHandle as tracer::Tracer>::SolveClauseHandle as tracer::Tracer>::ThingTracer, std::result::Result, fn(std::boxed::Box) -> as std::iter::IntoIterator>::IntoIter { as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t87 env::Env, &'t88 var::VarSource, &'t89 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box, &'t98 sub::Sub, &'t99 sub::Sub, &'t100 sub::Sub, &'t101 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, std::result::Result, fn(std::boxed::Box) -> as std::iter::IntoIterator>::IntoIter { as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t106 env::Env, &'t107 var::VarSource, &'t108 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box, fn(std::boxed::Box) -> as std::iter::IntoIterator>::IntoIter { as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t121 env::Env, &'t122 var::VarSource, &'t123 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box}]>> as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t24 env::Env, &'t25 var::VarSource, &'t26 ::SolveAppHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box, &'t35 sub::Sub, &'t36 sub::Sub, &'t37 sub::Sub, &'t38 ::SolveAppHandle, ()}]>` [INFO] [stderr] [INFO] [stderr] error[E0720]: opaque type expands to a recursive type [INFO] [stderr] --> src/aunify/env.rs:86:8 [INFO] [stderr] | [INFO] [stderr] 86 | ) -> impl Iterator + 'a { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expands to self-referential type [INFO] [stderr] | [INFO] [stderr] = note: expanded type is `gen_iter::GenIter<[generator@src/aunify/env.rs:89:13: 151:6 tracer:T, clause:clause::Clause, self:&'a env::Env, src:&'a var::VarSource for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9, 't10, 't11, 't12, 't13, 't14, 't15, 't16, 't17, 't18, 't19, 't20, 't21, 't22, 't23, 't24, 't25, 't26, 't27, 't28, 't29, 't30, 't31, 't32, 't33, 't34, 't35, 't36, 't37, 't38, 't39, 't40, 't41, 't42, 't43, 't44, 't45, 't46, 't47, 't48, 't49, 't50, 't51, 't52, 't53, 't54, 't55, 't56, 't57, 't58, 't59, 't60, 't61, 't62, 't63, 't64, 't65, 't66, 't67, 't68, 't69, 't70, 't71, 't72, 't73, 't74, 't75, 't76, 't77, 't78, 't79, 't80, 't81, 't82, 't83, 't84, 't85, 't86, 't87, 't88, 't89> {::SolveClauseHandle, clause::Clause, sub::Sub, (), pred::App, fn(gen_iter::GenIter<[generator@src/aunify/env.rs:20:13: 69:6 tracer:::SolveClauseHandle, app:pred::App, self:&'r env::Env, src:&'r var::VarSource for<'t90, 't91, 't92, 't93, 't94, 't95, 't96, 't97, 't98, 't99, 't100, 't101, 't102, 't103, 't104, 't105, 't106, 't107, 't108, 't109, 't110, 't111, 't112, 't113, 't114, 't115, 't116, 't117, 't118, 't119, 't120, 't121, 't122, 't123, 't124, 't125, 't126, 't127, 't128, 't129, 't130, 't131> {<::SolveClauseHandle as tracer::Tracer>::SolveAppHandle, fn(&'t90 std::vec::Vec>) -> <&'t90 std::vec::Vec> as std::iter::IntoIterator>::IntoIter {<&'t90 std::vec::Vec> as std::iter::IntoIterator>::into_iter}, &'t91 env::Env, env::Env, std::vec::Vec>, &'t92 std::vec::Vec>, std::slice::Iter<'t93, scheme::MaybeScheme>, std::slice::Iter<'t94, scheme::MaybeScheme>, &'t95 scheme::MaybeScheme, &'t96 scheme::MaybeScheme, scheme::MaybeScheme, &'t97 scheme::MaybeScheme, &'t98 var::VarSource, var::VarSource, &'t99 var::VarSource, &'t100 <::SolveClauseHandle as tracer::Tracer>::SolveAppHandle, <<::SolveClauseHandle as tracer::Tracer>::SolveAppHandle as tracer::Tracer>::ThingTracer, std::result::Result, Error>, std::borrow::Cow<'t102, statement::Statement>, statement::Statement, &'t103 statement::Statement, &'t104 pred::App, pred::App, &'t105 pred::App, &'t106 pred::App, &'t107 pred::App, &'t108 <::SolveClauseHandle as tracer::Tracer>::SolveAppHandle, <<::SolveClauseHandle as tracer::Tracer>::SolveAppHandle as tracer::Tracer>::UnifyTracer, std::result::Result, [closure@src/aunify/env.rs:39:71: 45:14 stmt:&'t110 std::borrow::Cow<'t111, statement::Statement>, tracer:&'t112 <::SolveClauseHandle as tracer::Tracer>::SolveAppHandle], std::result::Result<(clause::Clause, sub::Sub), Error>, clause::Clause, sub::Sub, fn(std::boxed::Box) -> as std::iter::IntoIterator>::IntoIter { as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t117 env::Env, &'t118 var::VarSource, &'t119 <::SolveClauseHandle as tracer::Tracer>::SolveAppHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box, &'t128 sub::Sub, &'t129 sub::Sub, &'t130 sub::Sub, &'t131 <::SolveClauseHandle as tracer::Tracer>::SolveAppHandle, ()}]>) -> ::SolveClauseHandle, app:pred::App, self:&'r env::Env, src:&'r var::VarSource for<'t90, 't91, 't92, 't93, 't94, 't95, 't96, 't97, 't98, 't99, 't100, 't101, 't102, 't103, 't104, 't105, 't106, 't107, 't108, 't109, 't110, 't111, 't112, 't113, 't114, 't115, 't116, 't117, 't118, 't119, 't120, 't121, 't122, 't123, 't124, 't125, 't126, 't127, 't128, 't129, 't130, 't131> {<::SolveClauseHandle as tracer::Tracer>::SolveAppHandle, fn(&'t90 std::vec::Vec>) -> <&'t90 std::vec::Vec> as std::iter::IntoIterator>::IntoIter {<&'t90 std::vec::Vec> as std::iter::IntoIterator>::into_iter}, &'t91 env::Env, env::Env, std::vec::Vec>, &'t92 std::vec::Vec>, std::slice::Iter<'t93, scheme::MaybeScheme>, std::slice::Iter<'t94, scheme::MaybeScheme>, &'t95 scheme::MaybeScheme, &'t96 scheme::MaybeScheme, scheme::MaybeScheme, &'t97 scheme::MaybeScheme, &'t98 var::VarSource, var::VarSource, &'t99 var::VarSource, &'t100 <::SolveClauseHandle as tracer::Tracer>::SolveAppHandle, <<::SolveClauseHandle as tracer::Tracer>::SolveAppHandle as tracer::Tracer>::ThingTracer, std::result::Result, Error>, std::borrow::Cow<'t102, statement::Statement>, statement::Statement, &'t103 statement::Statement, &'t104 pred::App, pred::App, &'t105 pred::App, &'t106 pred::App, &'t107 pred::App, &'t108 <::SolveClauseHandle as tracer::Tracer>::SolveAppHandle, <<::SolveClauseHandle as tracer::Tracer>::SolveAppHandle as tracer::Tracer>::UnifyTracer, std::result::Result, [closure@src/aunify/env.rs:39:71: 45:14 stmt:&'t110 std::borrow::Cow<'t111, statement::Statement>, tracer:&'t112 <::SolveClauseHandle as tracer::Tracer>::SolveAppHandle], std::result::Result<(clause::Clause, sub::Sub), Error>, clause::Clause, sub::Sub, fn(std::boxed::Box) -> as std::iter::IntoIterator>::IntoIter { as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t117 env::Env, &'t118 var::VarSource, &'t119 <::SolveClauseHandle as tracer::Tracer>::SolveAppHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box, &'t128 sub::Sub, &'t129 sub::Sub, &'t130 sub::Sub, &'t131 <::SolveClauseHandle as tracer::Tracer>::SolveAppHandle, ()}]> as std::iter::IntoIterator>::IntoIter {::SolveClauseHandle, app:pred::App, self:&'r env::Env, src:&'r var::VarSource for<'t90, 't91, 't92, 't93, 't94, 't95, 't96, 't97, 't98, 't99, 't100, 't101, 't102, 't103, 't104, 't105, 't106, 't107, 't108, 't109, 't110, 't111, 't112, 't113, 't114, 't115, 't116, 't117, 't118, 't119, 't120, 't121, 't122, 't123, 't124, 't125, 't126, 't127, 't128, 't129, 't130, 't131> {<::SolveClauseHandle as tracer::Tracer>::SolveAppHandle, fn(&'t90 std::vec::Vec>) -> <&'t90 std::vec::Vec> as std::iter::IntoIterator>::IntoIter {<&'t90 std::vec::Vec> as std::iter::IntoIterator>::into_iter}, &'t91 env::Env, env::Env, std::vec::Vec>, &'t92 std::vec::Vec>, std::slice::Iter<'t93, scheme::MaybeScheme>, std::slice::Iter<'t94, scheme::MaybeScheme>, &'t95 scheme::MaybeScheme, &'t96 scheme::MaybeScheme, scheme::MaybeScheme, &'t97 scheme::MaybeScheme, &'t98 var::VarSource, var::VarSource, &'t99 var::VarSource, &'t100 <::SolveClauseHandle as tracer::Tracer>::SolveAppHandle, <<::SolveClauseHandle as tracer::Tracer>::SolveAppHandle as tracer::Tracer>::ThingTracer, std::result::Result, Error>, std::borrow::Cow<'t102, statement::Statement>, statement::Statement, &'t103 statement::Statement, &'t104 pred::App, pred::App, &'t105 pred::App, &'t106 pred::App, &'t107 pred::App, &'t108 <::SolveClauseHandle as tracer::Tracer>::SolveAppHandle, <<::SolveClauseHandle as tracer::Tracer>::SolveAppHandle as tracer::Tracer>::UnifyTracer, std::result::Result, [closure@src/aunify/env.rs:39:71: 45:14 stmt:&'t110 std::borrow::Cow<'t111, statement::Statement>, tracer:&'t112 <::SolveClauseHandle as tracer::Tracer>::SolveAppHandle], std::result::Result<(clause::Clause, sub::Sub), Error>, clause::Clause, sub::Sub, fn(std::boxed::Box) -> as std::iter::IntoIterator>::IntoIter { as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t117 env::Env, &'t118 var::VarSource, &'t119 <::SolveClauseHandle as tracer::Tracer>::SolveAppHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box, &'t128 sub::Sub, &'t129 sub::Sub, &'t130 sub::Sub, &'t131 <::SolveClauseHandle as tracer::Tracer>::SolveAppHandle, ()}]> as std::iter::IntoIterator>::into_iter}, &'s env::Env, env::Env, &'t0 env::Env, &'t1 var::VarSource, var::VarSource, &'t2 var::VarSource, &'t3 ::SolveClauseHandle, impl std::iter::Iterator, impl std::iter::Iterator, impl std::iter::Iterator, std::boxed::Box, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t12 env::Env, &'t13 var::VarSource, &'t14 ::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, &'t19 mut std::boxed::Box, std::option::Option, fn(std::boxed::Box) -> as std::iter::IntoIterator>::IntoIter { as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t26 env::Env, &'t27 var::VarSource, &'t28 ::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box, &'t37 std::boxed::Box, &'t38 sub::Sub, &'t39 sub::Sub, &'t40 ::SolveClauseHandle, <::SolveClauseHandle as tracer::Tracer>::ThingTracer, std::result::Result, fn(std::boxed::Box) -> as std::iter::IntoIterator>::IntoIter { as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t45 env::Env, &'t46 var::VarSource, &'t47 ::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box, &'t56 sub::Sub, &'t57 sub::Sub, &'t58 sub::Sub, &'t59 ::SolveClauseHandle, std::result::Result, fn(std::boxed::Box) -> as std::iter::IntoIterator>::IntoIter { as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t64 env::Env, &'t65 var::VarSource, &'t66 ::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box, fn(std::boxed::Box) -> as std::iter::IntoIterator>::IntoIter { as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t79 env::Env, &'t80 var::VarSource, &'t81 ::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box}]>` [INFO] [stderr] [INFO] [stderr] error[E0720]: opaque type expands to a recursive type [INFO] [stderr] --> src/aunify/env.rs:19:8 [INFO] [stderr] | [INFO] [stderr] 19 | ) -> impl Iterator + 'a { [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0720`. [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expands to self-referential type [INFO] [stderr] | [INFO] [stderr] = note: expanded type is `gen_iter::GenIter<[generator@src/aunify/env.rs:20:13: 69:6 tracer:T, app:pred::App, self:&'a env::Env, src:&'a var::VarSource for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9, 't10, 't11, 't12, 't13, 't14, 't15, 't16, 't17, 't18, 't19, 't20, 't21, 't22, 't23, 't24, 't25, 't26, 't27, 't28, 't29, 't30, 't31, 't32, 't33, 't34, 't35, 't36, 't37, 't38> {::SolveAppHandle, fn(&'r std::vec::Vec>) -> <&'r std::vec::Vec> as std::iter::IntoIterator>::IntoIter {<&'r std::vec::Vec> as std::iter::IntoIterator>::into_iter}, &'s env::Env, env::Env, std::vec::Vec>, &'t0 std::vec::Vec>, std::slice::Iter<'t1, scheme::MaybeScheme>, std::slice::Iter<'t2, scheme::MaybeScheme>, &'t3 scheme::MaybeScheme, &'t4 scheme::MaybeScheme, scheme::MaybeScheme, &'t5 scheme::MaybeScheme, &'t6 var::VarSource, var::VarSource, &'t7 var::VarSource, &'t8 ::SolveAppHandle, <::SolveAppHandle as tracer::Tracer>::ThingTracer, std::result::Result, Error>, std::borrow::Cow<'t10, statement::Statement>, statement::Statement, &'t11 statement::Statement, &'t12 pred::App, pred::App, &'t13 pred::App, &'t14 pred::App, &'t15 pred::App, &'t16 ::SolveAppHandle, <::SolveAppHandle as tracer::Tracer>::UnifyTracer, std::result::Result, [closure@src/aunify/env.rs:39:71: 45:14 stmt:&'t18 std::borrow::Cow<'t19, statement::Statement>, tracer:&'t20 ::SolveAppHandle], std::result::Result<(clause::Clause, sub::Sub), Error>, clause::Clause, sub::Sub, fn(std::boxed::Box::SolveAppHandle, clause:clause::Clause, self:&'t21 env::Env, src:&'t21 var::VarSource for<'t39, 't40, 't41, 't42, 't43, 't44, 't45, 't46, 't47, 't48, 't49, 't50, 't51, 't52, 't53, 't54, 't55, 't56, 't57, 't58, 't59, 't60, 't61, 't62, 't63, 't64, 't65, 't66, 't67, 't68, 't69, 't70, 't71, 't72, 't73, 't74, 't75, 't76, 't77, 't78, 't79, 't80, 't81, 't82, 't83, 't84, 't85, 't86, 't87, 't88, 't89, 't90, 't91, 't92, 't93, 't94, 't95, 't96, 't97, 't98, 't99, 't100, 't101, 't102, 't103, 't104, 't105, 't106, 't107, 't108, 't109, 't110, 't111, 't112, 't113, 't114, 't115, 't116, 't117, 't118, 't119, 't120, 't121, 't122, 't123, 't124, 't125, 't126, 't127, 't128, 't129, 't130, 't131> {<::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, clause::Clause, sub::Sub, (), pred::App, fn(impl std::iter::Iterator) -> ::IntoIter {::into_iter}, &'t41 env::Env, env::Env, &'t42 env::Env, &'t43 var::VarSource, var::VarSource, &'t44 var::VarSource, &'t45 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, impl std::iter::Iterator, impl std::iter::Iterator, impl std::iter::Iterator, std::boxed::Box, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t54 env::Env, &'t55 var::VarSource, &'t56 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, &'t61 mut std::boxed::Box, std::option::Option, fn(std::boxed::Box) -> as std::iter::IntoIterator>::IntoIter { as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t68 env::Env, &'t69 var::VarSource, &'t70 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box, &'t79 std::boxed::Box, &'t80 sub::Sub, &'t81 sub::Sub, &'t82 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, <<::SolveAppHandle as tracer::Tracer>::SolveClauseHandle as tracer::Tracer>::ThingTracer, std::result::Result, fn(std::boxed::Box) -> as std::iter::IntoIterator>::IntoIter { as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t87 env::Env, &'t88 var::VarSource, &'t89 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box, &'t98 sub::Sub, &'t99 sub::Sub, &'t100 sub::Sub, &'t101 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, std::result::Result, fn(std::boxed::Box) -> as std::iter::IntoIterator>::IntoIter { as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t106 env::Env, &'t107 var::VarSource, &'t108 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box, fn(std::boxed::Box) -> as std::iter::IntoIterator>::IntoIter { as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t121 env::Env, &'t122 var::VarSource, &'t123 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box}]>>) -> ::SolveAppHandle, clause:clause::Clause, self:&'t21 env::Env, src:&'t21 var::VarSource for<'t39, 't40, 't41, 't42, 't43, 't44, 't45, 't46, 't47, 't48, 't49, 't50, 't51, 't52, 't53, 't54, 't55, 't56, 't57, 't58, 't59, 't60, 't61, 't62, 't63, 't64, 't65, 't66, 't67, 't68, 't69, 't70, 't71, 't72, 't73, 't74, 't75, 't76, 't77, 't78, 't79, 't80, 't81, 't82, 't83, 't84, 't85, 't86, 't87, 't88, 't89, 't90, 't91, 't92, 't93, 't94, 't95, 't96, 't97, 't98, 't99, 't100, 't101, 't102, 't103, 't104, 't105, 't106, 't107, 't108, 't109, 't110, 't111, 't112, 't113, 't114, 't115, 't116, 't117, 't118, 't119, 't120, 't121, 't122, 't123, 't124, 't125, 't126, 't127, 't128, 't129, 't130, 't131> {<::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, clause::Clause, sub::Sub, (), pred::App, fn(impl std::iter::Iterator) -> ::IntoIter {::into_iter}, &'t41 env::Env, env::Env, &'t42 env::Env, &'t43 var::VarSource, var::VarSource, &'t44 var::VarSource, &'t45 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, impl std::iter::Iterator, impl std::iter::Iterator, impl std::iter::Iterator, std::boxed::Box, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t54 env::Env, &'t55 var::VarSource, &'t56 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, &'t61 mut std::boxed::Box, std::option::Option, fn(std::boxed::Box) -> as std::iter::IntoIterator>::IntoIter { as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t68 env::Env, &'t69 var::VarSource, &'t70 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box, &'t79 std::boxed::Box, &'t80 sub::Sub, &'t81 sub::Sub, &'t82 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, <<::SolveAppHandle as tracer::Tracer>::SolveClauseHandle as tracer::Tracer>::ThingTracer, std::result::Result, fn(std::boxed::Box) -> as std::iter::IntoIterator>::IntoIter { as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t87 env::Env, &'t88 var::VarSource, &'t89 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box, &'t98 sub::Sub, &'t99 sub::Sub, &'t100 sub::Sub, &'t101 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, std::result::Result, fn(std::boxed::Box) -> as std::iter::IntoIterator>::IntoIter { as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t106 env::Env, &'t107 var::VarSource, &'t108 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box, fn(std::boxed::Box) -> as std::iter::IntoIterator>::IntoIter { as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t121 env::Env, &'t122 var::VarSource, &'t123 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box}]>> as std::iter::IntoIterator>::IntoIter {::SolveAppHandle, clause:clause::Clause, self:&'t21 env::Env, src:&'t21 var::VarSource for<'t39, 't40, 't41, 't42, 't43, 't44, 't45, 't46, 't47, 't48, 't49, 't50, 't51, 't52, 't53, 't54, 't55, 't56, 't57, 't58, 't59, 't60, 't61, 't62, 't63, 't64, 't65, 't66, 't67, 't68, 't69, 't70, 't71, 't72, 't73, 't74, 't75, 't76, 't77, 't78, 't79, 't80, 't81, 't82, 't83, 't84, 't85, 't86, 't87, 't88, 't89, 't90, 't91, 't92, 't93, 't94, 't95, 't96, 't97, 't98, 't99, 't100, 't101, 't102, 't103, 't104, 't105, 't106, 't107, 't108, 't109, 't110, 't111, 't112, 't113, 't114, 't115, 't116, 't117, 't118, 't119, 't120, 't121, 't122, 't123, 't124, 't125, 't126, 't127, 't128, 't129, 't130, 't131> {<::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, clause::Clause, sub::Sub, (), pred::App, fn(impl std::iter::Iterator) -> ::IntoIter {::into_iter}, &'t41 env::Env, env::Env, &'t42 env::Env, &'t43 var::VarSource, var::VarSource, &'t44 var::VarSource, &'t45 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, impl std::iter::Iterator, impl std::iter::Iterator, impl std::iter::Iterator, std::boxed::Box, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t54 env::Env, &'t55 var::VarSource, &'t56 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, &'t61 mut std::boxed::Box, std::option::Option, fn(std::boxed::Box) -> as std::iter::IntoIterator>::IntoIter { as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t68 env::Env, &'t69 var::VarSource, &'t70 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box, &'t79 std::boxed::Box, &'t80 sub::Sub, &'t81 sub::Sub, &'t82 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, <<::SolveAppHandle as tracer::Tracer>::SolveClauseHandle as tracer::Tracer>::ThingTracer, std::result::Result, fn(std::boxed::Box) -> as std::iter::IntoIterator>::IntoIter { as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t87 env::Env, &'t88 var::VarSource, &'t89 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box, &'t98 sub::Sub, &'t99 sub::Sub, &'t100 sub::Sub, &'t101 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, std::result::Result, fn(std::boxed::Box) -> as std::iter::IntoIterator>::IntoIter { as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t106 env::Env, &'t107 var::VarSource, &'t108 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box, fn(std::boxed::Box) -> as std::iter::IntoIterator>::IntoIter { as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t121 env::Env, &'t122 var::VarSource, &'t123 <::SolveAppHandle as tracer::Tracer>::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box}]>> as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t24 env::Env, &'t25 var::VarSource, &'t26 ::SolveAppHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box, &'t35 sub::Sub, &'t36 sub::Sub, &'t37 sub::Sub, &'t38 ::SolveAppHandle, ()}]>` [INFO] [stderr] [INFO] [stderr] error[E0720]: opaque type expands to a recursive type [INFO] [stderr] --> src/aunify/env.rs:86:8 [INFO] [stderr] | [INFO] [stderr] 86 | ) -> impl Iterator + 'a { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expands to self-referential type [INFO] [stderr] | [INFO] [stderr] = note: expanded type is `gen_iter::GenIter<[generator@src/aunify/env.rs:89:13: 151:6 tracer:T, clause:clause::Clause, self:&'a env::Env, src:&'a var::VarSource for<'r, 's, 't0, 't1, 't2, 't3, 't4, 't5, 't6, 't7, 't8, 't9, 't10, 't11, 't12, 't13, 't14, 't15, 't16, 't17, 't18, 't19, 't20, 't21, 't22, 't23, 't24, 't25, 't26, 't27, 't28, 't29, 't30, 't31, 't32, 't33, 't34, 't35, 't36, 't37, 't38, 't39, 't40, 't41, 't42, 't43, 't44, 't45, 't46, 't47, 't48, 't49, 't50, 't51, 't52, 't53, 't54, 't55, 't56, 't57, 't58, 't59, 't60, 't61, 't62, 't63, 't64, 't65, 't66, 't67, 't68, 't69, 't70, 't71, 't72, 't73, 't74, 't75, 't76, 't77, 't78, 't79, 't80, 't81, 't82, 't83, 't84, 't85, 't86, 't87, 't88, 't89> {::SolveClauseHandle, clause::Clause, sub::Sub, (), pred::App, fn(gen_iter::GenIter<[generator@src/aunify/env.rs:20:13: 69:6 tracer:::SolveClauseHandle, app:pred::App, self:&'r env::Env, src:&'r var::VarSource for<'t90, 't91, 't92, 't93, 't94, 't95, 't96, 't97, 't98, 't99, 't100, 't101, 't102, 't103, 't104, 't105, 't106, 't107, 't108, 't109, 't110, 't111, 't112, 't113, 't114, 't115, 't116, 't117, 't118, 't119, 't120, 't121, 't122, 't123, 't124, 't125, 't126, 't127, 't128, 't129, 't130, 't131> {<::SolveClauseHandle as tracer::Tracer>::SolveAppHandle, fn(&'t90 std::vec::Vec>) -> <&'t90 std::vec::Vec> as std::iter::IntoIterator>::IntoIter {<&'t90 std::vec::Vec> as std::iter::IntoIterator>::into_iter}, &'t91 env::Env, env::Env, std::vec::Vec>, &'t92 std::vec::Vec>, std::slice::Iter<'t93, scheme::MaybeScheme>, std::slice::Iter<'t94, scheme::MaybeScheme>, &'t95 scheme::MaybeScheme, &'t96 scheme::MaybeScheme, scheme::MaybeScheme, &'t97 scheme::MaybeScheme, &'t98 var::VarSource, var::VarSource, &'t99 var::VarSource, &'t100 <::SolveClauseHandle as tracer::Tracer>::SolveAppHandle, <<::SolveClauseHandle as tracer::Tracer>::SolveAppHandle as tracer::Tracer>::ThingTracer, std::result::Result, Error>, std::borrow::Cow<'t102, statement::Statement>, statement::Statement, &'t103 statement::Statement, &'t104 pred::App, pred::App, &'t105 pred::App, &'t106 pred::App, &'t107 pred::App, &'t108 <::SolveClauseHandle as tracer::Tracer>::SolveAppHandle, <<::SolveClauseHandle as tracer::Tracer>::SolveAppHandle as tracer::Tracer>::UnifyTracer, std::result::Result, [closure@src/aunify/env.rs:39:71: 45:14 stmt:&'t110 std::borrow::Cow<'t111, statement::Statement>, tracer:&'t112 <::SolveClauseHandle as tracer::Tracer>::SolveAppHandle], std::result::Result<(clause::Clause, sub::Sub), Error>, clause::Clause, sub::Sub, fn(std::boxed::Box) -> as std::iter::IntoIterator>::IntoIter { as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t117 env::Env, &'t118 var::VarSource, &'t119 <::SolveClauseHandle as tracer::Tracer>::SolveAppHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box, &'t128 sub::Sub, &'t129 sub::Sub, &'t130 sub::Sub, &'t131 <::SolveClauseHandle as tracer::Tracer>::SolveAppHandle, ()}]>) -> ::SolveClauseHandle, app:pred::App, self:&'r env::Env, src:&'r var::VarSource for<'t90, 't91, 't92, 't93, 't94, 't95, 't96, 't97, 't98, 't99, 't100, 't101, 't102, 't103, 't104, 't105, 't106, 't107, 't108, 't109, 't110, 't111, 't112, 't113, 't114, 't115, 't116, 't117, 't118, 't119, 't120, 't121, 't122, 't123, 't124, 't125, 't126, 't127, 't128, 't129, 't130, 't131> {<::SolveClauseHandle as tracer::Tracer>::SolveAppHandle, fn(&'t90 std::vec::Vec>) -> <&'t90 std::vec::Vec> as std::iter::IntoIterator>::IntoIter {<&'t90 std::vec::Vec> as std::iter::IntoIterator>::into_iter}, &'t91 env::Env, env::Env, std::vec::Vec>, &'t92 std::vec::Vec>, std::slice::Iter<'t93, scheme::MaybeScheme>, std::slice::Iter<'t94, scheme::MaybeScheme>, &'t95 scheme::MaybeScheme, &'t96 scheme::MaybeScheme, scheme::MaybeScheme, &'t97 scheme::MaybeScheme, &'t98 var::VarSource, var::VarSource, &'t99 var::VarSource, &'t100 <::SolveClauseHandle as tracer::Tracer>::SolveAppHandle, <<::SolveClauseHandle as tracer::Tracer>::SolveAppHandle as tracer::Tracer>::ThingTracer, std::result::Result, Error>, std::borrow::Cow<'t102, statement::Statement>, statement::Statement, &'t103 statement::Statement, &'t104 pred::App, pred::App, &'t105 pred::App, &'t106 pred::App, &'t107 pred::App, &'t108 <::SolveClauseHandle as tracer::Tracer>::SolveAppHandle, <<::SolveClauseHandle as tracer::Tracer>::SolveAppHandle as tracer::Tracer>::UnifyTracer, std::result::Result, [closure@src/aunify/env.rs:39:71: 45:14 stmt:&'t110 std::borrow::Cow<'t111, statement::Statement>, tracer:&'t112 <::SolveClauseHandle as tracer::Tracer>::SolveAppHandle], std::result::Result<(clause::Clause, sub::Sub), Error>, clause::Clause, sub::Sub, fn(std::boxed::Box) -> as std::iter::IntoIterator>::IntoIter { as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t117 env::Env, &'t118 var::VarSource, &'t119 <::SolveClauseHandle as tracer::Tracer>::SolveAppHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box, &'t128 sub::Sub, &'t129 sub::Sub, &'t130 sub::Sub, &'t131 <::SolveClauseHandle as tracer::Tracer>::SolveAppHandle, ()}]> as std::iter::IntoIterator>::IntoIter {::SolveClauseHandle, app:pred::App, self:&'r env::Env, src:&'r var::VarSource for<'t90, 't91, 't92, 't93, 't94, 't95, 't96, 't97, 't98, 't99, 't100, 't101, 't102, 't103, 't104, 't105, 't106, 't107, 't108, 't109, 't110, 't111, 't112, 't113, 't114, 't115, 't116, 't117, 't118, 't119, 't120, 't121, 't122, 't123, 't124, 't125, 't126, 't127, 't128, 't129, 't130, 't131> {<::SolveClauseHandle as tracer::Tracer>::SolveAppHandle, fn(&'t90 std::vec::Vec>) -> <&'t90 std::vec::Vec> as std::iter::IntoIterator>::IntoIter {<&'t90 std::vec::Vec> as std::iter::IntoIterator>::into_iter}, &'t91 env::Env, env::Env, std::vec::Vec>, &'t92 std::vec::Vec>, std::slice::Iter<'t93, scheme::MaybeScheme>, std::slice::Iter<'t94, scheme::MaybeScheme>, &'t95 scheme::MaybeScheme, &'t96 scheme::MaybeScheme, scheme::MaybeScheme, &'t97 scheme::MaybeScheme, &'t98 var::VarSource, var::VarSource, &'t99 var::VarSource, &'t100 <::SolveClauseHandle as tracer::Tracer>::SolveAppHandle, <<::SolveClauseHandle as tracer::Tracer>::SolveAppHandle as tracer::Tracer>::ThingTracer, std::result::Result, Error>, std::borrow::Cow<'t102, statement::Statement>, statement::Statement, &'t103 statement::Statement, &'t104 pred::App, pred::App, &'t105 pred::App, &'t106 pred::App, &'t107 pred::App, &'t108 <::SolveClauseHandle as tracer::Tracer>::SolveAppHandle, <<::SolveClauseHandle as tracer::Tracer>::SolveAppHandle as tracer::Tracer>::UnifyTracer, std::result::Result, [closure@src/aunify/env.rs:39:71: 45:14 stmt:&'t110 std::borrow::Cow<'t111, statement::Statement>, tracer:&'t112 <::SolveClauseHandle as tracer::Tracer>::SolveAppHandle], std::result::Result<(clause::Clause, sub::Sub), Error>, clause::Clause, sub::Sub, fn(std::boxed::Box) -> as std::iter::IntoIterator>::IntoIter { as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t117 env::Env, &'t118 var::VarSource, &'t119 <::SolveClauseHandle as tracer::Tracer>::SolveAppHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box, &'t128 sub::Sub, &'t129 sub::Sub, &'t130 sub::Sub, &'t131 <::SolveClauseHandle as tracer::Tracer>::SolveAppHandle, ()}]> as std::iter::IntoIterator>::into_iter}, &'s env::Env, env::Env, &'t0 env::Env, &'t1 var::VarSource, var::VarSource, &'t2 var::VarSource, &'t3 ::SolveClauseHandle, impl std::iter::Iterator, impl std::iter::Iterator, impl std::iter::Iterator, std::boxed::Box, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t12 env::Env, &'t13 var::VarSource, &'t14 ::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, &'t19 mut std::boxed::Box, std::option::Option, fn(std::boxed::Box) -> as std::iter::IntoIterator>::IntoIter { as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t26 env::Env, &'t27 var::VarSource, &'t28 ::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box, &'t37 std::boxed::Box, &'t38 sub::Sub, &'t39 sub::Sub, &'t40 ::SolveClauseHandle, <::SolveClauseHandle as tracer::Tracer>::ThingTracer, std::result::Result, fn(std::boxed::Box) -> as std::iter::IntoIterator>::IntoIter { as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t45 env::Env, &'t46 var::VarSource, &'t47 ::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box, &'t56 sub::Sub, &'t57 sub::Sub, &'t58 sub::Sub, &'t59 ::SolveClauseHandle, std::result::Result, fn(std::boxed::Box) -> as std::iter::IntoIterator>::IntoIter { as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t64 env::Env, &'t65 var::VarSource, &'t66 ::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box, fn(std::boxed::Box) -> as std::iter::IntoIterator>::IntoIter { as std::iter::IntoIterator>::into_iter}, fn(impl std::iter::Iterator) -> std::boxed::Box {>::new}, &'t79 env::Env, &'t80 var::VarSource, &'t81 ::SolveClauseHandle, impl std::iter::Iterator, std::boxed::Box, std::boxed::Box, std::boxed::Box}]>` [INFO] [stderr] [INFO] [stderr] error: aborting due to 2 previous errors [INFO] [stderr] [INFO] [stderr] For more information about this error, try `rustc --explain E0720`. [INFO] [stderr] error: Could not compile `absolute_unity`. [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: Could not compile `absolute_unity`. [INFO] [stderr] [INFO] [stderr] To learn more, run the command again with --verbose. [INFO] running `"docker" "inspect" "df95724d24e8fc39083d8b0bd8f9e90c6f38a5d53696956ac11f8e04893ab02a"` [INFO] running `"docker" "rm" "-f" "df95724d24e8fc39083d8b0bd8f9e90c6f38a5d53696956ac11f8e04893ab02a"` [INFO] [stdout] df95724d24e8fc39083d8b0bd8f9e90c6f38a5d53696956ac11f8e04893ab02a