[INFO] cloning repository https://github.com/ivanmoreau/lambdatype
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ivanmoreau/lambdatype" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fivanmoreau%2Flambdatype", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fivanmoreau%2Flambdatype'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 6f77cc3afaf728abba2a97f4f27fa14cfc909ef3
[INFO] documenting ivanmoreau/lambdatype against beta-2023-04-20 for beta-1.70-rustdoc-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fivanmoreau%2Flambdatype" "/workspace/builds/worker-4-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/ivanmoreau/lambdatype on toolchain beta-2023-04-20
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2023-04-20" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/ivanmoreau/lambdatype
[INFO] finished tweaking git repo https://github.com/ivanmoreau/lambdatype
[INFO] tweaked toml for git repo https://github.com/ivanmoreau/lambdatype written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] crate git repo https://github.com/ivanmoreau/lambdatype 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" "+beta-2023-04-20" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-04-20" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4626f80e5d356198aee22c06cf2747f2b2f77b3dda6690238b3dc5c33d75a963
[INFO] running `Command { std: "docker" "start" "-a" "4626f80e5d356198aee22c06cf2747f2b2f77b3dda6690238b3dc5c33d75a963", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4626f80e5d356198aee22c06cf2747f2b2f77b3dda6690238b3dc5c33d75a963", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4626f80e5d356198aee22c06cf2747f2b2f77b3dda6690238b3dc5c33d75a963", kill_on_drop: false }`
[INFO] [stdout] 4626f80e5d356198aee22c06cf2747f2b2f77b3dda6690238b3dc5c33d75a963
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-04-20" "doc" "--frozen" "--no-deps" "--document-private-items" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8a48f332efc780c96fbc23f4c76d2f298d3caa42c57806ff42d197764aa6d600
[INFO] running `Command { std: "docker" "start" "-a" "8a48f332efc780c96fbc23f4c76d2f298d3caa42c57806ff42d197764aa6d600", kill_on_drop: false }`
[INFO] [stderr]  Documenting lambdatype v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0277]: the trait bound `(N, C): LessT` is not satisfied
[INFO] [stdout]   --> src/main.rs:70:19
[INFO] [stdout]    |
[INFO] [stdout] 70 |     type Output = <(<(N,C) as LessT>::Output, Var<N>, Var<S<N>>) as IfT>::Output ;
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `LessT` is not implemented for `(N, C)`
[INFO] [stdout]    |
[INFO] [stdout] help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl<C: Nat, I: Nat, N: Nat> Shift for (C, I, Var<N>) where (N, C): LessT {
[INFO] [stdout]    |                                                       +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(C, I, T): Shift` is not satisfied
[INFO] [stdout]   --> src/main.rs:74:19
[INFO] [stdout]    |
[INFO] [stdout] 74 |     type Output = Abs< <(C, I, T) as Shift>::Output >;
[INFO] [stdout]    |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Shift` is not implemented for `(C, I, T)`
[INFO] [stdout]    |
[INFO] [stdout] help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
[INFO] [stdout]    |
[INFO] [stdout] 73 | impl<C: Nat, I: Nat, T: Term> Shift for (C, I, Abs<T>) where (C, I, T): Shift {
[INFO] [stdout]    |                                                        ++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(C, I, F): Shift` is not satisfied
[INFO] [stdout]   --> src/main.rs:78:19
[INFO] [stdout]    |
[INFO] [stdout] 78 |       type Output = App< 
[INFO] [stdout]    |  ___________________^
[INFO] [stdout] 79 | |         <(C, I, F) as Shift>::Output, 
[INFO] [stdout] 80 | |         <(C, I, L) as Shift>::Output 
[INFO] [stdout] 81 | |     >;
[INFO] [stdout]    | |_____^ the trait `Shift` is not implemented for `(C, I, F)`
[INFO] [stdout]    |
[INFO] [stdout] help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
[INFO] [stdout]    |
[INFO] [stdout] 77 | impl<C: Nat, I: Nat, F: Term, L: Term> Shift for (C, I, App<F, L>) where (C, I, F): Shift {
[INFO] [stdout]    |                                                                    ++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(C, I, L): Shift` is not satisfied
[INFO] [stdout]   --> src/main.rs:78:19
[INFO] [stdout]    |
[INFO] [stdout] 78 |       type Output = App< 
[INFO] [stdout]    |  ___________________^
[INFO] [stdout] 79 | |         <(C, I, F) as Shift>::Output, 
[INFO] [stdout] 80 | |         <(C, I, L) as Shift>::Output 
[INFO] [stdout] 81 | |     >;
[INFO] [stdout]    | |_____^ the trait `Shift` is not implemented for `(C, I, L)`
[INFO] [stdout]    |
[INFO] [stdout] help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
[INFO] [stdout]    |
[INFO] [stdout] 77 | impl<C: Nat, I: Nat, F: Term, L: Term> Shift for (C, I, App<F, L>) where (C, I, L): Shift {
[INFO] [stdout]    |                                                                    ++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(N, M): Sub` is not satisfied
[INFO] [stdout]    --> src/main.rs:118:19
[INFO] [stdout]     |
[INFO] [stdout] 118 |     type Output = <(N, M) as Sub>::Output;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^ the trait `Sub` is not implemented for `(N, M)`
[INFO] [stdout]     |
[INFO] [stdout] help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
[INFO] [stdout]     |
[INFO] [stdout] 117 | impl<N: Nat, M:Nat> Sub for (S<N>, S<M>) where (N, M): Sub {
[INFO] [stdout]     |                                          +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(N, C): LessT` is not satisfied
[INFO] [stdout]    --> src/main.rs:127:19
[INFO] [stdout]     |
[INFO] [stdout] 127 |     type Output = <(<(N,C) as LessT>::Output, Var<N>, Var<<N as Pred>::Output>) as IfT>::Output ;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `LessT` is not implemented for `(N, C)`
[INFO] [stdout]     |
[INFO] [stdout] help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
[INFO] [stdout]     |
[INFO] [stdout] 126 | impl<C: Nat, I: Nat, N: Nat> Unshift for (C, I, Var<N>) where (N, C): LessT {
[INFO] [stdout]     |                                                         +++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `N: Pred` is not satisfied
[INFO] [stdout]    --> src/main.rs:127:19
[INFO] [stdout]     |
[INFO] [stdout] 127 |     type Output = <(<(N,C) as LessT>::Output, Var<N>, Var<<N as Pred>::Output>) as IfT>::Output ;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Pred` is not implemented for `N`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 126 | impl<C: Nat, I: Nat, N: Nat + Pred> Unshift for (C, I, Var<N>) {
[INFO] [stdout]     |                             ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(C, I, T): Unshift` is not satisfied
[INFO] [stdout]    --> src/main.rs:131:19
[INFO] [stdout]     |
[INFO] [stdout] 131 |     type Output = Abs< <(C, I, T) as Unshift>::Output >;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Unshift` is not implemented for `(C, I, T)`
[INFO] [stdout]     |
[INFO] [stdout] help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
[INFO] [stdout]     |
[INFO] [stdout] 130 | impl<C: Nat, I: Nat, T: Term> Unshift for (C, I, Abs<T>) where (C, I, T): Unshift {
[INFO] [stdout]     |                                                          ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(C, I, F): Unshift` is not satisfied
[INFO] [stdout]    --> src/main.rs:135:19
[INFO] [stdout]     |
[INFO] [stdout] 135 |       type Output = App< 
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 136 | |         <(C, I, F) as Unshift>::Output, 
[INFO] [stdout] 137 | |         <(C, I, L) as Unshift>::Output 
[INFO] [stdout] 138 | |     >;
[INFO] [stdout]     | |_____^ the trait `Unshift` is not implemented for `(C, I, F)`
[INFO] [stdout]     |
[INFO] [stdout] help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
[INFO] [stdout]     |
[INFO] [stdout] 134 | impl<C: Nat, I: Nat, F: Term, L: Term> Unshift for (C, I, App<F, L>) where (C, I, F): Unshift {
[INFO] [stdout]     |                                                                      ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(C, I, L): Unshift` is not satisfied
[INFO] [stdout]    --> src/main.rs:135:19
[INFO] [stdout]     |
[INFO] [stdout] 135 |       type Output = App< 
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 136 | |         <(C, I, F) as Unshift>::Output, 
[INFO] [stdout] 137 | |         <(C, I, L) as Unshift>::Output 
[INFO] [stdout] 138 | |     >;
[INFO] [stdout]     | |_____^ the trait `Unshift` is not implemented for `(C, I, L)`
[INFO] [stdout]     |
[INFO] [stdout] help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
[INFO] [stdout]     |
[INFO] [stdout] 134 | impl<C: Nat, I: Nat, F: Term, L: Term> Unshift for (C, I, App<F, L>) where (C, I, L): Unshift {
[INFO] [stdout]     |                                                                      ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(N, M): Sub` is not satisfied
[INFO] [stdout]    --> src/main.rs:146:19
[INFO] [stdout]     |
[INFO] [stdout] 146 |       type Output = <(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 147 | |          <(<(<(N, M) as Sub>::Output, S<Z>) as LessT>::Output,
[INFO] [stdout] 148 | |          <(<(M, N) as Sub>::Output, S<Z>) as LessT>::Output) as And>::Output,
[INFO] [stdout] 149 | |          T, Var<N>
[INFO] [stdout] 150 | |     ) as IfT>::Output;
[INFO] [stdout]     | |_____________________^ the trait `Sub` is not implemented for `(N, M)`
[INFO] [stdout]     |
[INFO] [stdout] help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
[INFO] [stdout]     |
[INFO] [stdout] 145 | impl<N: Nat, T: Term, M: Nat> Substitution for (Var<N>, T, M) where (N, M): Sub {
[INFO] [stdout]     |                                                               +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(M, N): Sub` is not satisfied
[INFO] [stdout]    --> src/main.rs:146:19
[INFO] [stdout]     |
[INFO] [stdout] 146 |       type Output = <(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 147 | |          <(<(<(N, M) as Sub>::Output, S<Z>) as LessT>::Output,
[INFO] [stdout] 148 | |          <(<(M, N) as Sub>::Output, S<Z>) as LessT>::Output) as And>::Output,
[INFO] [stdout] 149 | |          T, Var<N>
[INFO] [stdout] 150 | |     ) as IfT>::Output;
[INFO] [stdout]     | |_____________________^ the trait `Sub` is not implemented for `(M, N)`
[INFO] [stdout]     |
[INFO] [stdout] help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
[INFO] [stdout]     |
[INFO] [stdout] 145 | impl<N: Nat, T: Term, M: Nat> Substitution for (Var<N>, T, M) where (M, N): Sub {
[INFO] [stdout]     |                                                               +++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(F, T, M): Substitution` is not satisfied
[INFO] [stdout]    --> src/main.rs:154:19
[INFO] [stdout]     |
[INFO] [stdout] 154 |       type Output = App<
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 155 | |         <(F, T, M) as Substitution>::Output,
[INFO] [stdout] 156 | |         <(L, T, M) as Substitution>::Output
[INFO] [stdout] 157 | |     >;
[INFO] [stdout]     | |_____^ the trait `Substitution` is not implemented for `(F, T, M)`
[INFO] [stdout]     |
[INFO] [stdout] help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
[INFO] [stdout]     |
[INFO] [stdout] 153 | impl<F: Nat, L:Term, T: Term, M: Nat> Substitution for (App<F, L>, T, M) where (F, T, M): Substitution {
[INFO] [stdout]     |                                                                          +++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(L, T, M): Substitution` is not satisfied
[INFO] [stdout]    --> src/main.rs:154:19
[INFO] [stdout]     |
[INFO] [stdout] 154 |       type Output = App<
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 155 | |         <(F, T, M) as Substitution>::Output,
[INFO] [stdout] 156 | |         <(L, T, M) as Substitution>::Output
[INFO] [stdout] 157 | |     >;
[INFO] [stdout]     | |_____^ the trait `Substitution` is not implemented for `(L, T, M)`
[INFO] [stdout]     |
[INFO] [stdout] help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
[INFO] [stdout]     |
[INFO] [stdout] 153 | impl<F: Nat, L:Term, T: Term, M: Nat> Substitution for (App<F, L>, T, M) where (L, T, M): Substitution {
[INFO] [stdout]     |                                                                          +++++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Z, S<Z>, T): Shift` is not satisfied
[INFO] [stdout]    --> src/main.rs:161:19
[INFO] [stdout]     |
[INFO] [stdout] 161 |       type Output = Abs<<(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 162 | |         E,
[INFO] [stdout] 163 | |         <(Z, S<Z>, T) as Shift>::Output,
[INFO] [stdout] 164 | |         S<M>
[INFO] [stdout] 165 | |     ) as Substitution>::Output>;
[INFO] [stdout]     | |_______________________________^ the trait `Shift` is not implemented for `(Z, S<Z>, T)`
[INFO] [stdout]     |
[INFO] [stdout] help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
[INFO] [stdout]     |
[INFO] [stdout] 160 | impl<E: Nat, T: Term, M: Nat> Substitution for (Abs<E>, T, M) where (Z, S<Z>, T): Shift {
[INFO] [stdout]     |                                                               +++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(E, _, S<M>): Substitution` is not satisfied
[INFO] [stdout]    --> src/main.rs:161:19
[INFO] [stdout]     |
[INFO] [stdout] 161 |       type Output = Abs<<(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 162 | |         E,
[INFO] [stdout] 163 | |         <(Z, S<Z>, T) as Shift>::Output,
[INFO] [stdout] 164 | |         S<M>
[INFO] [stdout] 165 | |     ) as Substitution>::Output>;
[INFO] [stdout]     | |_______________________________^ the trait `Substitution` is not implemented for `(E, _, S<M>)`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Substitution`:
[INFO] [stdout]               (Abs<E>, T, M)
[INFO] [stdout]               (App<F, L>, T, M)
[INFO] [stdout]               (Var<N>, T, M)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(Z, S<Z>, T2): Shift` is not satisfied
[INFO] [stdout]    --> src/main.rs:173:19
[INFO] [stdout]     |
[INFO] [stdout] 173 |       type Output = <( Z, S<Z>, <(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 174 | |         T1,
[INFO] [stdout] 175 | |         <(Z, S<Z>, T2) as Shift>::Output,
[INFO] [stdout] 176 | |         Z
[INFO] [stdout] 177 | |     )as Substitution>::Output)as Unshift>::Output;
[INFO] [stdout]     | |_________________________________________________^ the trait `Shift` is not implemented for `(Z, S<Z>, T2)`
[INFO] [stdout]     |
[INFO] [stdout] help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
[INFO] [stdout]     |
[INFO] [stdout] 172 | impl<T1: Term, T2: Term> Beta for App<Abs<T1>, T2> where (Z, S<Z>, T2): Shift {
[INFO] [stdout]     |                                                    ++++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `(T1, _, Z): Substitution` is not satisfied
[INFO] [stdout]    --> src/main.rs:173:19
[INFO] [stdout]     |
[INFO] [stdout] 173 |       type Output = <( Z, S<Z>, <(
[INFO] [stdout]     |  ___________________^
[INFO] [stdout] 174 | |         T1,
[INFO] [stdout] 175 | |         <(Z, S<Z>, T2) as Shift>::Output,
[INFO] [stdout] 176 | |         Z
[INFO] [stdout] 177 | |     )as Substitution>::Output)as Unshift>::Output;
[INFO] [stdout]     | |_________________________________________________^ the trait `Substitution` is not implemented for `(T1, _, Z)`
[INFO] [stdout]     |
[INFO] [stdout]     = help: the following other types implement trait `Substitution`:
[INFO] [stdout]               (Abs<E>, T, M)
[INFO] [stdout]               (App<F, L>, T, M)
[INFO] [stdout]               (Var<N>, T, M)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `App<T1, T11>: Beta` is not satisfied
[INFO] [stdout]    --> src/main.rs:181:19
[INFO] [stdout]     |
[INFO] [stdout] 181 |     type Output = App<<App<T1, T11> as Beta>::Output, <T2 as Beta>::Output>;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Beta` is not implemented for `App<T1, T11>`
[INFO] [stdout]     |
[INFO] [stdout] help: consider introducing a `where` clause, but there might be an alternative better way to express this requirement
[INFO] [stdout]     |
[INFO] [stdout] 180 | impl<T1: Term, T11: Term, T2: Term> Beta for App<App<T1,T11>, T2> where App<T1, T11>: Beta {
[INFO] [stdout]     |                                                                   ++++++++++++++++++++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T2: Beta` is not satisfied
[INFO] [stdout]    --> src/main.rs:181:19
[INFO] [stdout]     |
[INFO] [stdout] 181 |     type Output = App<<App<T1, T11> as Beta>::Output, <T2 as Beta>::Output>;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Beta` is not implemented for `T2`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 180 | impl<T1: Term, T11: Term, T2: Term + Beta> Beta for App<App<T1,T11>, T2> {
[INFO] [stdout]     |                                    ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T2: Beta` is not satisfied
[INFO] [stdout]    --> src/main.rs:185:19
[INFO] [stdout]     |
[INFO] [stdout] 185 |     type Output = App<<Var<T1> as Beta>::Output, <T2 as Beta>::Output>;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Beta` is not implemented for `T2`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 184 | impl<T1: Nat, T2: Term + Beta> Beta for App<Var<T1>, T2> {
[INFO] [stdout]     |                        ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `T1: Beta` is not satisfied
[INFO] [stdout]    --> src/main.rs:189:19
[INFO] [stdout]     |
[INFO] [stdout] 189 |     type Output = Abs<<T1 as Beta>::Output>;
[INFO] [stdout]     |                   ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Beta` is not implemented for `T1`
[INFO] [stdout]     |
[INFO] [stdout] help: consider further restricting this bound
[INFO] [stdout]     |
[INFO] [stdout] 188 | impl<T1: Term + Beta> Beta for Abs<T1> {
[INFO] [stdout]     |               ++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 22 previous errors
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not document `lambdatype`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `rustdoc --edition=2021 --crate-type bin --crate-name lambdatype src/main.rs -o /opt/rustwide/target/doc --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --document-private-items '-Arustdoc::private-intra-doc-links' -C metadata=0503ae45c2665940 -L dependency=/opt/rustwide/target/debug/deps --cap-lints=warn --crate-version 0.1.0` (exit status: 1)
[INFO] running `Command { std: "docker" "inspect" "8a48f332efc780c96fbc23f4c76d2f298d3caa42c57806ff42d197764aa6d600", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8a48f332efc780c96fbc23f4c76d2f298d3caa42c57806ff42d197764aa6d600", kill_on_drop: false }`
[INFO] [stdout] 8a48f332efc780c96fbc23f4c76d2f298d3caa42c57806ff42d197764aa6d600
