[INFO] cloning repository https://github.com/Shfty/glasgae [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Shfty/glasgae" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FShfty%2Fglasgae", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FShfty%2Fglasgae'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 304dee4503c66676affb17edb6809e9b211464af [INFO] checking Shfty/glasgae against try#b6bca0d7327839b5e3f7a7779947cb9113d08917+rustflags=-Zstrict-projection-item-bounds for 150662-leaf-spurious [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FShfty%2Fglasgae" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/Shfty/glasgae [INFO] finished tweaking git repo https://github.com/Shfty/glasgae [INFO] tweaked toml for git repo https://github.com/Shfty/glasgae written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/Shfty/glasgae on toolchain b6bca0d7327839b5e3f7a7779947cb9113d08917 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+b6bca0d7327839b5e3f7a7779947cb9113d08917" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/Shfty/glasgae 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" "+b6bca0d7327839b5e3f7a7779947cb9113d08917" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b6bca0d7327839b5e3f7a7779947cb9113d08917" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 85b4f40314ab0f31f7f170a26a937a5a477806f17fa0efa19a607ecce1ae0e20 [INFO] running `Command { std: "docker" "start" "-a" "85b4f40314ab0f31f7f170a26a937a5a477806f17fa0efa19a607ecce1ae0e20", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "85b4f40314ab0f31f7f170a26a937a5a477806f17fa0efa19a607ecce1ae0e20", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "85b4f40314ab0f31f7f170a26a937a5a477806f17fa0efa19a607ecce1ae0e20", kill_on_drop: false }` [INFO] [stdout] 85b4f40314ab0f31f7f170a26a937a5a477806f17fa0efa19a607ecce1ae0e20 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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=forbid -Zstrict-projection-item-bounds" "-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+b6bca0d7327839b5e3f7a7779947cb9113d08917" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 0b3301d0442d615953551aa23442b8ff60d7e0c5ffe2baac6c498bf58e2a08f2 [INFO] running `Command { std: "docker" "start" "-a" "0b3301d0442d615953551aa23442b8ff60d7e0c5ffe2baac6c498bf58e2a08f2", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.78 [INFO] [stderr] Compiling unicode-ident v1.0.12 [INFO] [stderr] Compiling serde v1.0.197 [INFO] [stderr] Compiling base64 v0.21.7 [INFO] [stderr] Compiling prettyplease v0.2.16 [INFO] [stderr] Compiling libc v0.2.153 [INFO] [stderr] Compiling getrandom v0.1.16 [INFO] [stderr] Checking memchr v2.7.1 [INFO] [stderr] Checking cfg-if v1.0.0 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Checking regex-syntax v0.8.2 [INFO] [stderr] Checking ppv-lite86 v0.2.17 [INFO] [stderr] Checking utf8parse v0.2.1 [INFO] [stderr] Checking aho-corasick v1.1.2 [INFO] [stderr] Checking anstyle-parse v0.2.3 [INFO] [stderr] Checking anstyle v1.0.6 [INFO] [stderr] Compiling quote v1.0.35 [INFO] [stderr] Checking log v0.4.21 [INFO] [stderr] Checking colorchoice v1.0.0 [INFO] [stderr] Checking anstyle-query v1.0.2 [INFO] [stderr] Checking anstream v0.6.13 [INFO] [stderr] Compiling syn v2.0.52 [INFO] [stderr] Checking humantime v2.1.0 [INFO] [stderr] Checking regex-automata v0.4.6 [INFO] [stderr] Checking rand_core v0.5.1 [INFO] [stderr] Checking rand_chacha v0.2.2 [INFO] [stderr] Checking rand v0.7.3 [INFO] [stderr] Checking regex v1.10.3 [INFO] [stderr] Checking env_filter v0.1.0 [INFO] [stderr] Checking env_logger v0.11.3 [INFO] [stderr] Compiling serde_derive v1.0.197 [INFO] [stderr] Compiling contracts v0.4.0 [INFO] [stderr] Checking vector-map v1.0.1 [INFO] [stderr] Checking bitflags v2.4.2 [INFO] [stderr] Checking ron v0.8.1 [INFO] [stderr] Checking glasgae-kiss v0.1.0 (/opt/rustwide/workdir/crates/glasgae-kiss) [INFO] [stderr] Compiling glasgae-macros v0.1.0 (/opt/rustwide/workdir/crates/glasgae-macros) [INFO] [stdout] warning: unused import: `glasgae_kiss::*` [INFO] [stdout] --> crates/glasgae-macros/build.rs:1:5 [INFO] [stdout] | [INFO] [stdout] 1 | use glasgae_kiss::*; [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `read_operators` [INFO] [stdout] --> crates/glasgae-macros/src/op.rs:1:20 [INFO] [stdout] | [INFO] [stdout] 1 | use glasgae_kiss::{read_operators, Fixity, Operator}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Spacing` [INFO] [stdout] --> crates/glasgae-macros/src/op.rs:3:19 [INFO] [stdout] | [INFO] [stdout] 3 | use proc_macro2::{Spacing, TokenStream as TokenStream2, TokenTree as TokenTree2}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `read_operators` [INFO] [stdout] --> crates/glasgae-macros/src/op.rs:1:20 [INFO] [stdout] | [INFO] [stdout] 1 | use glasgae_kiss::{read_operators, Fixity, Operator}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Spacing` [INFO] [stdout] --> crates/glasgae-macros/src/op.rs:3:19 [INFO] [stdout] | [INFO] [stdout] 3 | use proc_macro2::{Spacing, TokenStream as TokenStream2, TokenTree as TokenTree2}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `read_operators` [INFO] [stdout] --> crates/glasgae-macros/src/op.rs:1:20 [INFO] [stdout] | [INFO] [stdout] 1 | use glasgae_kiss::{read_operators, Fixity, Operator}; [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused import: `Spacing` [INFO] [stdout] --> crates/glasgae-macros/src/op.rs:3:19 [INFO] [stdout] | [INFO] [stdout] 3 | use proc_macro2::{Spacing, TokenStream as TokenStream2, TokenTree as TokenTree2}; [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking glasgae v0.3.0 (/opt/rustwide/workdir/crates/glasgae) [INFO] [stdout] warning: unused imports: `derive_applicative` and `derive_functor` [INFO] [stdout] --> crates/glasgae/src/base/control/zipper/mod.rs:12:13 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::{derive_applicative, derive_functor, derive_pointed, derive_with_pointed, prelude::*}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:293:1 [INFO] [stdout] | [INFO] [stdout] 293 | / impl LiftA2 for F [INFO] [stdout] 294 | | where [INFO] [stdout] 295 | | F: Term + BifunT, [INFO] [stdout] 296 | | MA: Pointed [INFO] [stdout] ... | [INFO] [stdout] 304 | | B: Term, [INFO] [stdout] 305 | | C: Term, [INFO] [stdout] | |____________^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 300 | MF: Applicative + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:307:5 [INFO] [stdout] | [INFO] [stdout] 307 | fn lift_a2(self) -> impl BifunT { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 300 | MF: Applicative + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:307:25 [INFO] [stdout] | [INFO] [stdout] 307 | fn lift_a2(self) -> impl BifunT { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `>` [INFO] [stdout] --> crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `>` [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 300 | MF: Applicative + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:307:25 [INFO] [stdout] | [INFO] [stdout] 307 | fn lift_a2(self) -> impl BifunT { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `>` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `>` [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 301 | MB: Pointed + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MC: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:307:25 [INFO] [stdout] | [INFO] [stdout] 307 | fn lift_a2(self) -> impl BifunT { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MC` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `>` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `>` [INFO] [stdout] help: consider further restricting type parameter `MC` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 302 | MC: Pointed + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:307:25 [INFO] [stdout] | [INFO] [stdout] 307 | fn lift_a2(self) -> impl BifunT { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 300 | MF: Applicative + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:290:25 [INFO] [stdout] | [INFO] [stdout] 290 | fn lift_a2(self) -> impl BifunT, WithPointedT>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] note: required for `F` to implement `applicative::LiftA2` [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:293:34 [INFO] [stdout] | [INFO] [stdout] 293 | impl LiftA2 for F [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 300 | MF: Applicative + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:290:25 [INFO] [stdout] | [INFO] [stdout] 290 | fn lift_a2(self) -> impl BifunT, WithPointedT>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] note: required for `F` to implement `applicative::LiftA2` [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:293:34 [INFO] [stdout] | [INFO] [stdout] 293 | impl LiftA2 for F [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ----------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 301 | MB: Pointed + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MC: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:290:25 [INFO] [stdout] | [INFO] [stdout] 290 | fn lift_a2(self) -> impl BifunT, WithPointedT>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MC` [INFO] [stdout] | [INFO] [stdout] note: required for `F` to implement `applicative::LiftA2` [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:293:34 [INFO] [stdout] | [INFO] [stdout] 293 | impl LiftA2 for F [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ----------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `MC` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 302 | MC: Pointed + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:297:35 [INFO] [stdout] | [INFO] [stdout] 297 | + Functor, Mapped = MF> [INFO] [stdout] | ^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 300 | MF: Applicative + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `::Pointed == Box>` [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:297:35 [INFO] [stdout] | [INFO] [stdout] 297 | + Functor, Mapped = MF> [INFO] [stdout] | ^^^^^^^^^^^ expected `Box>`, found associated type [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box<(dyn function::FunctionT + 'static)>` [INFO] [stdout] found associated type `::Pointed` [INFO] [stdout] = help: consider constraining the associated type `::Pointed` to `Box<(dyn function::FunctionT + 'static)>` [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:300:50 [INFO] [stdout] | [INFO] [stdout] 300 | MF: Applicative + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `WithPointed` [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:301:29 [INFO] [stdout] | [INFO] [stdout] 301 | MB: Pointed + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] help: there is an associated type with the same name [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: Self::WithPointed; [INFO] [stdout] | ++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MC: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MC` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MC` with trait `WithPointed` [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:302:29 [INFO] [stdout] | [INFO] [stdout] 302 | MC: Pointed + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:293:55 [INFO] [stdout] | [INFO] [stdout] 293 | impl LiftA2 for F [INFO] [stdout] | ^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] note: required for `F` to implement `applicative::LiftA2` [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:293:34 [INFO] [stdout] | [INFO] [stdout] 293 | impl LiftA2 for F [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 300 | MF: Applicative + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:293:55 [INFO] [stdout] | [INFO] [stdout] 293 | impl LiftA2 for F [INFO] [stdout] | ^ the trait `with_pointed::WithPointed` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] note: required for `F` to implement `applicative::LiftA2` [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:293:34 [INFO] [stdout] | [INFO] [stdout] 293 | impl LiftA2 for F [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ----------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 301 | MB: Pointed + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MC: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:293:55 [INFO] [stdout] | [INFO] [stdout] 293 | impl LiftA2 for F [INFO] [stdout] | ^ the trait `with_pointed::WithPointed` is not implemented for `MC` [INFO] [stdout] | [INFO] [stdout] note: required for `F` to implement `applicative::LiftA2` [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:293:34 [INFO] [stdout] | [INFO] [stdout] 293 | impl LiftA2 for F [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ----------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `MC` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 302 | MC: Pointed + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:233:1 [INFO] [stdout] | [INFO] [stdout] 233 | / impl FilterM for Vec [INFO] [stdout] 234 | | where [INFO] [stdout] 235 | | MA: Functor, Vec>, Pointed = bool, Mapped = MF> [INFO] [stdout] 236 | | + WithPointed, WithPointed = MB>, [INFO] [stdout] 237 | | MF: Applicative, Vec, WithA = MB, WithB = MB>, [INFO] [stdout] 238 | | MB: Pointed> + PureA, [INFO] [stdout] 239 | | A: Term, [INFO] [stdout] | |____________^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 237 | MF: Applicative, Vec, WithA = MB, WithB = MB> + base::data::functor::Functor, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:241:5 [INFO] [stdout] | [INFO] [stdout] 241 | fn filter_m(self, f: impl FunctionT) -> MB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 237 | MF: Applicative, Vec, WithA = MB, WithB = MB> + base::data::functor::Functor, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:235:59 [INFO] [stdout] | [INFO] [stdout] 235 | MA: Functor, Vec>, Pointed = bool, Mapped = MF> [INFO] [stdout] | ^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 237 | MF: Applicative, Vec, WithA = MB, WithB = MB> + base::data::with_pointed::WithPointed, [INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `::Pointed == Box, Vec>>` [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:235:59 [INFO] [stdout] | [INFO] [stdout] 235 | MA: Functor, Vec>, Pointed = bool, Mapped = MF> [INFO] [stdout] | ^^^^^^^^^^^ expected `Box, Vec>>`, found associated type [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box<(dyn function::FunctionT, Vec> + 'static)>` [INFO] [stdout] found associated type `::Pointed` [INFO] [stdout] = help: consider constraining the associated type `::Pointed` to `Box<(dyn function::FunctionT, Vec> + 'static)>` [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:237:60 [INFO] [stdout] | [INFO] [stdout] 237 | MF: Applicative, Vec, WithA = MB, WithB = MB> + base::data::functor::Functor, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `WithPointed` [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:238:42 [INFO] [stdout] | [INFO] [stdout] 238 | MB: Pointed> + PureA + base::data::with_pointed::WithPointed, [INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:233:44 [INFO] [stdout] | [INFO] [stdout] 233 | impl FilterM for Vec [INFO] [stdout] | ^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] note: required for `Vec` to implement `monad::FilterM` [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:233:21 [INFO] [stdout] | [INFO] [stdout] 233 | impl FilterM for Vec [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 237 | MF: Applicative, Vec, WithA = MB, WithB = MB> + base::data::functor::Functor, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `<<... as Functor<...>>::Mapped as Pointed>::Pointed == Box<...>` [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:334:9 [INFO] [stdout] | [INFO] [stdout] 334 | MA: Functor, Vec>, Pointed = T> + WithPointed, WithPointed = MB>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Box, Vec>>`, found associated type [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box<(dyn function::FunctionT, Vec> + 'static)>` [INFO] [stdout] found associated type `<, Vec> + 'static)>>>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = help: consider constraining the associated type `<, Vec> + 'static)>>>::Mapped as pointed::Pointed>::Pointed` to `Box<(dyn function::FunctionT, Vec> + 'static)>` [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/glasgae-8194c79139e38ab9.long-type-145700746990584903.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:349:1 [INFO] [stdout] | [INFO] [stdout] 349 | pub trait LiftM: Term + FunctionT [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `monad::ChainM` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 352 | MB: ReturnM + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:351:31 [INFO] [stdout] | [INFO] [stdout] 351 | MA: Monad, [INFO] [stdout] | ^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `monad::ChainM` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ChainM` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/control/monad/mod.rs:69:11 [INFO] [stdout] | [INFO] [stdout] 69 | pub trait ChainM: WithPointed { [INFO] [stdout] | ------ required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 352 | MB: ReturnM + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:70:19 [INFO] [stdout] | [INFO] [stdout] 70 | type Chained: ChainM; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `monad::ChainM` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 352 | MB: ReturnM + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:361:1 [INFO] [stdout] | [INFO] [stdout] 361 | / impl LiftM for F [INFO] [stdout] 362 | | where [INFO] [stdout] 363 | | F: Term + FunctionT, [INFO] [stdout] 364 | | MA: Monad, [INFO] [stdout] 365 | | MB: ReturnM, [INFO] [stdout] 366 | | A: Term, [INFO] [stdout] 367 | | B: Term, [INFO] [stdout] | |____________^ the trait `monad::ChainM` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 365 | MB: ReturnM + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:361:23 [INFO] [stdout] | [INFO] [stdout] 361 | impl LiftM for F [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ the trait `monad::ChainM` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `monad::LiftM` [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:70:19 [INFO] [stdout] | [INFO] [stdout] 70 | type Chained: ChainM; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `LiftM` [INFO] [stdout] ... [INFO] [stdout] 349 | pub trait LiftM: Term + FunctionT [INFO] [stdout] | ----- required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 365 | MB: ReturnM + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `<>::Mapped as Pointed>::Pointed == B` [INFO] [stdout] --> crates/glasgae/src/base/data/bifunctor.rs:19:40 [INFO] [stdout] | [INFO] [stdout] 19 | pub trait Bifunctor: Bifmap + Functor [INFO] [stdout] | - ^^^^^^^^^^ expected type parameter `B`, found associated type [INFO] [stdout] | | [INFO] [stdout] | expected this type parameter [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `B` [INFO] [stdout] found associated type `<>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = note: you might be missing a type parameter or trait bound [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `<<>::WithBipointed as Functor>::Mapped as Pointed>::Pointed == B` [INFO] [stdout] --> crates/glasgae/src/base/data/bifunctor.rs:21:26 [INFO] [stdout] | [INFO] [stdout] 19 | pub trait Bifunctor: Bifmap + Functor [INFO] [stdout] | - expected this type parameter [INFO] [stdout] 20 | where [INFO] [stdout] 21 | Self::WithBipointed: Functor, [INFO] [stdout] | ^^^^^^^^^^ expected type parameter `B`, found associated type [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `B` [INFO] [stdout] found associated type `<<>::WithBipointed as functor::Functor>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = note: you might be missing a type parameter or trait bound [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | / impl<$($_arg,)* $arg $(,$arg_)*, MA, MF, B, MB> $crate::prelude::TraverseT for $ty<$($_arg,)* $arg $(,$arg_)*> [INFO] [stdout] 127 | | where [INFO] [stdout] 128 | | $( [INFO] [stdout] 129 | | $_arg: $crate::prelude::Term $(+ $_trait)*, [INFO] [stdout] ... | [INFO] [stdout] 139 | | B: $crate::prelude::Term $(+ $trait)*, [INFO] [stdout] 140 | | MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] | |______________________________________________________________________^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/linked_list.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(LinkedList<(X)>, push_back); [INFO] [stdout] | -------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA>, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:142:13 [INFO] [stdout] | [INFO] [stdout] 142 | type Mapped = MA; [INFO] [stdout] | ^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/linked_list.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(LinkedList<(X)>, push_back); [INFO] [stdout] | -------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA>, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:143:13 [INFO] [stdout] | [INFO] [stdout] 143 | type Value = $crate::prelude::PointedT; [INFO] [stdout] | ^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/linked_list.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(LinkedList<(X)>, push_back); [INFO] [stdout] | -------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA>, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:144:13 [INFO] [stdout] | [INFO] [stdout] 144 | type Traversed = MB; [INFO] [stdout] | ^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/linked_list.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(LinkedList<(X)>, push_back); [INFO] [stdout] | -------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA>, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:146:13 [INFO] [stdout] | [INFO] [stdout] 146 | fn traverse_t(self, f: impl $crate::prelude::FunctionT) -> MB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/linked_list.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(LinkedList<(X)>, push_back); [INFO] [stdout] | -------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required for `LinkedList` to implement `traversable::TraverseT` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:126:57 [INFO] [stdout] | [INFO] [stdout] 126 | impl<$($_arg,)* $arg $(,$arg_)*, MA, MF, B, MB> $crate::prelude::TraverseT for $ty<$($_arg,)* $arg $(,$arg_)*> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/linked_list.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(LinkedList<(X)>, push_back); [INFO] [stdout] | -------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA>, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:146:13 [INFO] [stdout] | [INFO] [stdout] 146 | fn traverse_t(self, f: impl $crate::prelude::FunctionT) -> MB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/linked_list.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(LinkedList<(X)>, push_back); [INFO] [stdout] | -------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required for `LinkedList` to implement `traversable::TraverseT` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:126:57 [INFO] [stdout] | [INFO] [stdout] 126 | impl<$($_arg,)* $arg $(,$arg_)*, MA, MF, B, MB> $crate::prelude::TraverseT for $ty<$($_arg,)* $arg $(,$arg_)*> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/linked_list.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(LinkedList<(X)>, push_back); [INFO] [stdout] | -------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ----------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA>, MB: base::data::with_pointed::WithPointed [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `impl crate::prelude::FunctionT: function::FunctionT` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:146:41 [INFO] [stdout] | [INFO] [stdout] 146 | fn traverse_t(self, f: impl $crate::prelude::FunctionT) -> MB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `FnOnce(X)` is not implemented for `impl crate::prelude::FunctionT` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/linked_list.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(LinkedList<(X)>, push_back); [INFO] [stdout] | -------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected a closure with signature `fn(X)` [INFO] [stdout] found a closure with signature `fn( as pointed::Pointed>::Pointed)` [INFO] [stdout] note: required for `impl crate::prelude::FunctionT` to implement `function::FunctionT` [INFO] [stdout] --> crates/glasgae/src/base/data/function/mod.rs:53:15 [INFO] [stdout] | [INFO] [stdout] 53 | impl FunctionT for F [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^ [INFO] [stdout] 54 | where [INFO] [stdout] 55 | F: Term + FnOnce(A) -> B, [INFO] [stdout] | -------------- unsatisfied trait bound introduced here [INFO] [stdout] note: the requirement `impl crate::prelude::FunctionT: function::FunctionT` appears on the `impl`'s method `traverse_t` but not on the corresponding trait's method [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub trait TraverseT: Pointed [INFO] [stdout] | --------- in this trait [INFO] [stdout] ... [INFO] [stdout] 69 | fn traverse_t(self, f: impl FunctionT) -> Self::Traversed; [INFO] [stdout] | ^^^^^^^^^^ this trait's method doesn't have the requirement `impl crate::prelude::FunctionT: function::FunctionT` [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `impl crate::prelude::FunctionT: function::FunctionT` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:146:41 [INFO] [stdout] | [INFO] [stdout] 146 | fn traverse_t(self, f: impl $crate::prelude::FunctionT) -> MB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `impl crate::prelude::FunctionT` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/linked_list.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(LinkedList<(X)>, push_back); [INFO] [stdout] | -------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required for `impl crate::prelude::FunctionT` to implement `term::Term` [INFO] [stdout] --> crates/glasgae/src/base/data/term.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | impl Term for T where T: TermBase + Clone {} [INFO] [stdout] | ^^^^ ^ ----- unsatisfied trait bound introduced here [INFO] [stdout] note: required for `impl crate::prelude::FunctionT` to implement `function::FunctionT` [INFO] [stdout] --> crates/glasgae/src/base/data/function/mod.rs:53:15 [INFO] [stdout] | [INFO] [stdout] 53 | impl FunctionT for F [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^ [INFO] [stdout] 54 | where [INFO] [stdout] 55 | F: Term + FnOnce(A) -> B, [INFO] [stdout] | ---- unsatisfied trait bound introduced here [INFO] [stdout] note: the requirement `impl crate::prelude::FunctionT: function::FunctionT` appears on the `impl`'s method `traverse_t` but not on the corresponding trait's method [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub trait TraverseT: Pointed [INFO] [stdout] | --------- in this trait [INFO] [stdout] ... [INFO] [stdout] 69 | fn traverse_t(self, f: impl FunctionT) -> Self::Traversed; [INFO] [stdout] | ^^^^^^^^^^ this trait's method doesn't have the requirement `impl crate::prelude::FunctionT: function::FunctionT` [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:140:57 [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA>, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `WithPointed` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:140:57 [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA>, MB: base::data::with_pointed::WithPointed [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:135:98 [INFO] [stdout] | [INFO] [stdout] 135 | MA: $crate::prelude::Functor<$crate::prelude::Function<$ty, $ty>, Pointed = B, Mapped = MF> [INFO] [stdout] | ^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/linked_list.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(LinkedList<(X)>, push_back); [INFO] [stdout] | -------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA>, MF: base::data::with_pointed::WithPointed [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `::Pointed == Box, LinkedList>>` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:135:98 [INFO] [stdout] | [INFO] [stdout] 135 | MA: $crate::prelude::Functor<$crate::prelude::Function<$ty, $ty>, Pointed = B, Mapped = MF> [INFO] [stdout] | ^^^^^^^^^^^ expected `Box, ...>>`, found associated type [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/linked_list.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(LinkedList<(X)>, push_back); [INFO] [stdout] | -------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box<(dyn function::FunctionT, LinkedList> + 'static)>` [INFO] [stdout] found associated type `::Pointed` [INFO] [stdout] = help: consider constraining the associated type `::Pointed` to `Box<(dyn function::FunctionT, LinkedList> + 'static)>` [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:126:100 [INFO] [stdout] | [INFO] [stdout] 126 | impl<$($_arg,)* $arg $(,$arg_)*, MA, MF, B, MB> $crate::prelude::TraverseT for $ty<$($_arg,)* $arg $(,$arg_)*> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/linked_list.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(LinkedList<(X)>, push_back); [INFO] [stdout] | -------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required for `LinkedList` to implement `traversable::TraverseT` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:126:57 [INFO] [stdout] | [INFO] [stdout] 126 | impl<$($_arg,)* $arg $(,$arg_)*, MA, MF, B, MB> $crate::prelude::TraverseT for $ty<$($_arg,)* $arg $(,$arg_)*> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/linked_list.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(LinkedList<(X)>, push_back); [INFO] [stdout] | -------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA>, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | / impl<$($_arg,)* $arg $(,$arg_)*, MA, MF, B, MB> $crate::prelude::TraverseT for $ty<$($_arg,)* $arg $(,$arg_)*> [INFO] [stdout] 127 | | where [INFO] [stdout] 128 | | $( [INFO] [stdout] 129 | | $_arg: $crate::prelude::Term $(+ $_trait)*, [INFO] [stdout] ... | [INFO] [stdout] 139 | | B: $crate::prelude::Term $(+ $trait)*, [INFO] [stdout] 140 | | MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] | |______________________________________________________________________^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/vec.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | derive_traversable_iterable!(Vec<(X)>, push); [INFO] [stdout] | -------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA>, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:142:13 [INFO] [stdout] | [INFO] [stdout] 142 | type Mapped = MA; [INFO] [stdout] | ^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/vec.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | derive_traversable_iterable!(Vec<(X)>, push); [INFO] [stdout] | -------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA>, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:143:13 [INFO] [stdout] | [INFO] [stdout] 143 | type Value = $crate::prelude::PointedT; [INFO] [stdout] | ^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/vec.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | derive_traversable_iterable!(Vec<(X)>, push); [INFO] [stdout] | -------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA>, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:144:13 [INFO] [stdout] | [INFO] [stdout] 144 | type Traversed = MB; [INFO] [stdout] | ^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/vec.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | derive_traversable_iterable!(Vec<(X)>, push); [INFO] [stdout] | -------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA>, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:146:13 [INFO] [stdout] | [INFO] [stdout] 146 | fn traverse_t(self, f: impl $crate::prelude::FunctionT) -> MB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/vec.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | derive_traversable_iterable!(Vec<(X)>, push); [INFO] [stdout] | -------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required for `Vec` to implement `traversable::TraverseT` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:126:57 [INFO] [stdout] | [INFO] [stdout] 126 | impl<$($_arg,)* $arg $(,$arg_)*, MA, MF, B, MB> $crate::prelude::TraverseT for $ty<$($_arg,)* $arg $(,$arg_)*> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/vec.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | derive_traversable_iterable!(Vec<(X)>, push); [INFO] [stdout] | -------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA>, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:146:13 [INFO] [stdout] | [INFO] [stdout] 146 | fn traverse_t(self, f: impl $crate::prelude::FunctionT) -> MB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/vec.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | derive_traversable_iterable!(Vec<(X)>, push); [INFO] [stdout] | -------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required for `Vec` to implement `traversable::TraverseT` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:126:57 [INFO] [stdout] | [INFO] [stdout] 126 | impl<$($_arg,)* $arg $(,$arg_)*, MA, MF, B, MB> $crate::prelude::TraverseT for $ty<$($_arg,)* $arg $(,$arg_)*> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/vec.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | derive_traversable_iterable!(Vec<(X)>, push); [INFO] [stdout] | -------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ----------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA>, MB: base::data::with_pointed::WithPointed [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `impl crate::prelude::FunctionT: function::FunctionT` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:146:41 [INFO] [stdout] | [INFO] [stdout] 146 | fn traverse_t(self, f: impl $crate::prelude::FunctionT) -> MB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `FnOnce(X)` is not implemented for `impl crate::prelude::FunctionT` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/vec.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | derive_traversable_iterable!(Vec<(X)>, push); [INFO] [stdout] | -------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected a closure with signature `fn(X)` [INFO] [stdout] found a closure with signature `fn( as pointed::Pointed>::Pointed)` [INFO] [stdout] note: required for `impl crate::prelude::FunctionT` to implement `function::FunctionT` [INFO] [stdout] --> crates/glasgae/src/base/data/function/mod.rs:53:15 [INFO] [stdout] | [INFO] [stdout] 53 | impl FunctionT for F [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^ [INFO] [stdout] 54 | where [INFO] [stdout] 55 | F: Term + FnOnce(A) -> B, [INFO] [stdout] | -------------- unsatisfied trait bound introduced here [INFO] [stdout] note: the requirement `impl crate::prelude::FunctionT: function::FunctionT` appears on the `impl`'s method `traverse_t` but not on the corresponding trait's method [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub trait TraverseT: Pointed [INFO] [stdout] | --------- in this trait [INFO] [stdout] ... [INFO] [stdout] 69 | fn traverse_t(self, f: impl FunctionT) -> Self::Traversed; [INFO] [stdout] | ^^^^^^^^^^ this trait's method doesn't have the requirement `impl crate::prelude::FunctionT: function::FunctionT` [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `impl crate::prelude::FunctionT: function::FunctionT` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:146:41 [INFO] [stdout] | [INFO] [stdout] 146 | fn traverse_t(self, f: impl $crate::prelude::FunctionT) -> MB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `impl crate::prelude::FunctionT` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/vec.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | derive_traversable_iterable!(Vec<(X)>, push); [INFO] [stdout] | -------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required for `impl crate::prelude::FunctionT` to implement `term::Term` [INFO] [stdout] --> crates/glasgae/src/base/data/term.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | impl Term for T where T: TermBase + Clone {} [INFO] [stdout] | ^^^^ ^ ----- unsatisfied trait bound introduced here [INFO] [stdout] note: required for `impl crate::prelude::FunctionT` to implement `function::FunctionT` [INFO] [stdout] --> crates/glasgae/src/base/data/function/mod.rs:53:15 [INFO] [stdout] | [INFO] [stdout] 53 | impl FunctionT for F [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^ [INFO] [stdout] 54 | where [INFO] [stdout] 55 | F: Term + FnOnce(A) -> B, [INFO] [stdout] | ---- unsatisfied trait bound introduced here [INFO] [stdout] note: the requirement `impl crate::prelude::FunctionT: function::FunctionT` appears on the `impl`'s method `traverse_t` but not on the corresponding trait's method [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub trait TraverseT: Pointed [INFO] [stdout] | --------- in this trait [INFO] [stdout] ... [INFO] [stdout] 69 | fn traverse_t(self, f: impl FunctionT) -> Self::Traversed; [INFO] [stdout] | ^^^^^^^^^^ this trait's method doesn't have the requirement `impl crate::prelude::FunctionT: function::FunctionT` [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:140:57 [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA>, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `WithPointed` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:140:57 [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA>, MB: base::data::with_pointed::WithPointed [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:135:98 [INFO] [stdout] | [INFO] [stdout] 135 | MA: $crate::prelude::Functor<$crate::prelude::Function<$ty, $ty>, Pointed = B, Mapped = MF> [INFO] [stdout] | ^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/vec.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | derive_traversable_iterable!(Vec<(X)>, push); [INFO] [stdout] | -------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA>, MF: base::data::with_pointed::WithPointed [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `::Pointed == Box, Vec>>` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:135:98 [INFO] [stdout] | [INFO] [stdout] 135 | MA: $crate::prelude::Functor<$crate::prelude::Function<$ty, $ty>, Pointed = B, Mapped = MF> [INFO] [stdout] | ^^^^^^^^^^^ expected `Box, Vec>>`, found associated type [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/vec.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | derive_traversable_iterable!(Vec<(X)>, push); [INFO] [stdout] | -------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box<(dyn function::FunctionT, Vec> + 'static)>` [INFO] [stdout] found associated type `::Pointed` [INFO] [stdout] = help: consider constraining the associated type `::Pointed` to `Box<(dyn function::FunctionT, Vec> + 'static)>` [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:126:100 [INFO] [stdout] | [INFO] [stdout] 126 | impl<$($_arg,)* $arg $(,$arg_)*, MA, MF, B, MB> $crate::prelude::TraverseT for $ty<$($_arg,)* $arg $(,$arg_)*> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/vec.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | derive_traversable_iterable!(Vec<(X)>, push); [INFO] [stdout] | -------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required for `Vec` to implement `traversable::TraverseT` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:126:57 [INFO] [stdout] | [INFO] [stdout] 126 | impl<$($_arg,)* $arg $(,$arg_)*, MA, MF, B, MB> $crate::prelude::TraverseT for $ty<$($_arg,)* $arg $(,$arg_)*> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/vec.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | derive_traversable_iterable!(Vec<(X)>, push); [INFO] [stdout] | -------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA>, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | / impl<$($_arg,)* $arg $(,$arg_)*, MA, MF, B, MB> $crate::prelude::TraverseT for $ty<$($_arg,)* $arg $(,$arg_)*> [INFO] [stdout] 127 | | where [INFO] [stdout] 128 | | $( [INFO] [stdout] 129 | | $_arg: $crate::prelude::Term $(+ $_trait)*, [INFO] [stdout] ... | [INFO] [stdout] 139 | | B: $crate::prelude::Term $(+ $trait)*, [INFO] [stdout] 140 | | MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] | |______________________________________________________________________^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/vec_deque.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(VecDeque<(X)>, push_back); [INFO] [stdout] | ------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA>, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:142:13 [INFO] [stdout] | [INFO] [stdout] 142 | type Mapped = MA; [INFO] [stdout] | ^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/vec_deque.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(VecDeque<(X)>, push_back); [INFO] [stdout] | ------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA>, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:143:13 [INFO] [stdout] | [INFO] [stdout] 143 | type Value = $crate::prelude::PointedT; [INFO] [stdout] | ^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/vec_deque.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(VecDeque<(X)>, push_back); [INFO] [stdout] | ------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA>, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:144:13 [INFO] [stdout] | [INFO] [stdout] 144 | type Traversed = MB; [INFO] [stdout] | ^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/vec_deque.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(VecDeque<(X)>, push_back); [INFO] [stdout] | ------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA>, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:146:13 [INFO] [stdout] | [INFO] [stdout] 146 | fn traverse_t(self, f: impl $crate::prelude::FunctionT) -> MB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/vec_deque.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(VecDeque<(X)>, push_back); [INFO] [stdout] | ------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required for `VecDeque` to implement `traversable::TraverseT` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:126:57 [INFO] [stdout] | [INFO] [stdout] 126 | impl<$($_arg,)* $arg $(,$arg_)*, MA, MF, B, MB> $crate::prelude::TraverseT for $ty<$($_arg,)* $arg $(,$arg_)*> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/vec_deque.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(VecDeque<(X)>, push_back); [INFO] [stdout] | ------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA>, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:146:13 [INFO] [stdout] | [INFO] [stdout] 146 | fn traverse_t(self, f: impl $crate::prelude::FunctionT) -> MB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/vec_deque.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(VecDeque<(X)>, push_back); [INFO] [stdout] | ------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required for `VecDeque` to implement `traversable::TraverseT` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:126:57 [INFO] [stdout] | [INFO] [stdout] 126 | impl<$($_arg,)* $arg $(,$arg_)*, MA, MF, B, MB> $crate::prelude::TraverseT for $ty<$($_arg,)* $arg $(,$arg_)*> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/vec_deque.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(VecDeque<(X)>, push_back); [INFO] [stdout] | ------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ----------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA>, MB: base::data::with_pointed::WithPointed [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `impl crate::prelude::FunctionT: function::FunctionT` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:146:41 [INFO] [stdout] | [INFO] [stdout] 146 | fn traverse_t(self, f: impl $crate::prelude::FunctionT) -> MB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `FnOnce(X)` is not implemented for `impl crate::prelude::FunctionT` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/vec_deque.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(VecDeque<(X)>, push_back); [INFO] [stdout] | ------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected a closure with signature `fn(X)` [INFO] [stdout] found a closure with signature `fn( as pointed::Pointed>::Pointed)` [INFO] [stdout] note: required for `impl crate::prelude::FunctionT` to implement `function::FunctionT` [INFO] [stdout] --> crates/glasgae/src/base/data/function/mod.rs:53:15 [INFO] [stdout] | [INFO] [stdout] 53 | impl FunctionT for F [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^ [INFO] [stdout] 54 | where [INFO] [stdout] 55 | F: Term + FnOnce(A) -> B, [INFO] [stdout] | -------------- unsatisfied trait bound introduced here [INFO] [stdout] note: the requirement `impl crate::prelude::FunctionT: function::FunctionT` appears on the `impl`'s method `traverse_t` but not on the corresponding trait's method [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub trait TraverseT: Pointed [INFO] [stdout] | --------- in this trait [INFO] [stdout] ... [INFO] [stdout] 69 | fn traverse_t(self, f: impl FunctionT) -> Self::Traversed; [INFO] [stdout] | ^^^^^^^^^^ this trait's method doesn't have the requirement `impl crate::prelude::FunctionT: function::FunctionT` [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `impl crate::prelude::FunctionT: function::FunctionT` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:146:41 [INFO] [stdout] | [INFO] [stdout] 146 | fn traverse_t(self, f: impl $crate::prelude::FunctionT) -> MB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `impl crate::prelude::FunctionT` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/vec_deque.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(VecDeque<(X)>, push_back); [INFO] [stdout] | ------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required for `impl crate::prelude::FunctionT` to implement `term::Term` [INFO] [stdout] --> crates/glasgae/src/base/data/term.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | impl Term for T where T: TermBase + Clone {} [INFO] [stdout] | ^^^^ ^ ----- unsatisfied trait bound introduced here [INFO] [stdout] note: required for `impl crate::prelude::FunctionT` to implement `function::FunctionT` [INFO] [stdout] --> crates/glasgae/src/base/data/function/mod.rs:53:15 [INFO] [stdout] | [INFO] [stdout] 53 | impl FunctionT for F [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^ [INFO] [stdout] 54 | where [INFO] [stdout] 55 | F: Term + FnOnce(A) -> B, [INFO] [stdout] | ---- unsatisfied trait bound introduced here [INFO] [stdout] note: the requirement `impl crate::prelude::FunctionT: function::FunctionT` appears on the `impl`'s method `traverse_t` but not on the corresponding trait's method [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub trait TraverseT: Pointed [INFO] [stdout] | --------- in this trait [INFO] [stdout] ... [INFO] [stdout] 69 | fn traverse_t(self, f: impl FunctionT) -> Self::Traversed; [INFO] [stdout] | ^^^^^^^^^^ this trait's method doesn't have the requirement `impl crate::prelude::FunctionT: function::FunctionT` [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:140:57 [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA>, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `WithPointed` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:140:57 [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA>, MB: base::data::with_pointed::WithPointed [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:135:98 [INFO] [stdout] | [INFO] [stdout] 135 | MA: $crate::prelude::Functor<$crate::prelude::Function<$ty, $ty>, Pointed = B, Mapped = MF> [INFO] [stdout] | ^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/vec_deque.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(VecDeque<(X)>, push_back); [INFO] [stdout] | ------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA>, MF: base::data::with_pointed::WithPointed [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `::Pointed == Box, VecDeque>>` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:135:98 [INFO] [stdout] | [INFO] [stdout] 135 | MA: $crate::prelude::Functor<$crate::prelude::Function<$ty, $ty>, Pointed = B, Mapped = MF> [INFO] [stdout] | ^^^^^^^^^^^ expected `Box, ...>>`, found associated type [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/vec_deque.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(VecDeque<(X)>, push_back); [INFO] [stdout] | ------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box<(dyn function::FunctionT, VecDeque> + 'static)>` [INFO] [stdout] found associated type `::Pointed` [INFO] [stdout] = help: consider constraining the associated type `::Pointed` to `Box<(dyn function::FunctionT, VecDeque> + 'static)>` [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:126:100 [INFO] [stdout] | [INFO] [stdout] 126 | impl<$($_arg,)* $arg $(,$arg_)*, MA, MF, B, MB> $crate::prelude::TraverseT for $ty<$($_arg,)* $arg $(,$arg_)*> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/vec_deque.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(VecDeque<(X)>, push_back); [INFO] [stdout] | ------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required for `VecDeque` to implement `traversable::TraverseT` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:126:57 [INFO] [stdout] | [INFO] [stdout] 126 | impl<$($_arg,)* $arg $(,$arg_)*, MA, MF, B, MB> $crate::prelude::TraverseT for $ty<$($_arg,)* $arg $(,$arg_)*> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/vec_deque.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(VecDeque<(X)>, push_back); [INFO] [stdout] | ------------------------------------------------------ in this macro invocation [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA>, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `< as Functor>::Mapped as Pointed>::Pointed == A1` [INFO] [stdout] --> crates/glasgae/src/base/data/collection/map/mod.rs:71:19 [INFO] [stdout] | [INFO] [stdout] 69 | impl<$key, $value, A1, A2> $crate::prelude::TraverseT for $ty<$key, $value> [INFO] [stdout] | -- expected this type parameter [INFO] [stdout] 70 | where [INFO] [stdout] 71 | Self: $crate::prelude::Functor, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected type parameter `A1`, found associated type [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/btree_map.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | derive_iterable_map!(BTreeMap, insert, Ord); [INFO] [stdout] | ------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `A1` [INFO] [stdout] found associated type `< as functor::Functor>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = note: you might be missing a type parameter or trait bound [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: this error originates in the macro `derive_iterable_map` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `<>::Mapped as WithPointed<...>>::WithPointed == V2` [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:129:57 [INFO] [stdout] | [INFO] [stdout] 129 | type WithA: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ expected type parameter `V2`, found type parameter `V` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/mod.rs:87:28 [INFO] [stdout] | [INFO] [stdout] 87 | impl<$key, $value, V2> $crate::prelude::SequenceA<(), V2> for $ty<$key, $value> [INFO] [stdout] | -- expected type parameter [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/btree_map.rs:7:34 [INFO] [stdout] | [INFO] [stdout] 7 | derive_iterable_map!(BTreeMap, insert, Ord); [INFO] [stdout] | - found type parameter [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `V2` [INFO] [stdout] found type parameter `V` [INFO] [stdout] = note: a type parameter was expected, but a different one was found; you might be missing a type parameter or trait bound [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch10-02-traits.html#traits-as-parameters [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/glasgae-8194c79139e38ab9.long-type-14099253314334787569.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `::Pointed == V2` [INFO] [stdout] --> crates/glasgae/src/base/data/collection/map/mod.rs:92:142 [INFO] [stdout] | [INFO] [stdout] 87 | ...e, V2> $crate::prelude::SequenceA<(), V2> for $ty<$key, $value> [INFO] [stdout] | -- expected this type parameter [INFO] [stdout] ... [INFO] [stdout] 92 | ...ude::MappedT<$value, $crate::prelude::Function<$ty<$key, $value>, $ty<$key, $value>>>: $crate::prelude::AppA` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/btree_map.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | derive_iterable_map!(BTreeMap, insert, Ord); [INFO] [stdout] | ------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `V2` [INFO] [stdout] found struct `BTreeMap` [INFO] [stdout] note: required by a bound in `applicative::AppA` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `AppA` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/control/applicative.rs:128:11 [INFO] [stdout] | [INFO] [stdout] 128 | pub trait AppA: WithPointed + WithPointed { [INFO] [stdout] | ---- required by a bound in this trait [INFO] [stdout] = note: this error originates in the macro `derive_iterable_map` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `<<... as Functor<...>>::Mapped as Pointed>::Pointed == Box<...>` [INFO] [stdout] --> crates/glasgae/src/base/data/collection/map/mod.rs:90:21 [INFO] [stdout] | [INFO] [stdout] 90 | ...lue: $crate::prelude::Functor<$crate::prelude::Function<$ty<$key, $value>, $ty<$key, $value>>, Pointed = $ty<$key, $value>> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Box, ...>>`, found associated type [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/btree_map.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | derive_iterable_map!(BTreeMap, insert, Ord); [INFO] [stdout] | ------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box<(dyn function::FunctionT, BTreeMap> + 'static)>` [INFO] [stdout] found associated type `<, BTreeMap> + 'static)>>>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = help: consider constraining the associated type `<, BTreeMap> + 'static)>>>::Mapped as pointed::Pointed>::Pointed` to `Box<(dyn function::FunctionT, BTreeMap> + 'static)>` [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/glasgae-8194c79139e38ab9.long-type-1020865520787007406.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 `derive_iterable_map` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `<<... as Functor<...>>::Mapped as Pointed>::Pointed == AD` [INFO] [stdout] --> crates/glasgae/src/base/data/collection/map/mod.rs:189:56 [INFO] [stdout] | [INFO] [stdout] 186 | impl<$key, $value, AC, AD, AO> $crate::prelude::BitraverseT for $ty<$key, $value> [INFO] [stdout] | -- expected this type parameter [INFO] [stdout] ... [INFO] [stdout] 189 | $crate::prelude::WithBipointedT: $crate::prelude::Functor, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected type parameter `AD`, found associated type [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/btree_map.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | derive_iterable_map!(BTreeMap, insert, Ord); [INFO] [stdout] | ------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `AD` [INFO] [stdout] found associated type `<< as with_bipointed::WithBipointed>::WithBipointed as functor::Functor>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = note: you might be missing a type parameter or trait bound [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/glasgae-8194c79139e38ab9.long-type-12357288480227160817.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 `derive_iterable_map` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `>>>::Mapped: WithPointed<...>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:129:57 [INFO] [stdout] | [INFO] [stdout] 129 | type WithA: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] = help: the trait `with_pointed::WithPointed>` is not implemented for `, Vec> + 'static)>>>::Mapped` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/glasgae-8194c79139e38ab9.long-type-14279937249317099599.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `>>>::Mapped: WithPointed<...>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:129:57 [INFO] [stdout] | [INFO] [stdout] 129 | type WithA: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] = help: the trait `with_pointed::WithPointed>` is not implemented for `, Vec> + 'static)>>>::Mapped` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/glasgae-8194c79139e38ab9.long-type-1924312342593573199.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `::Pointed == AO` [INFO] [stdout] --> crates/glasgae/src/base/data/collection/map/mod.rs:206:57 [INFO] [stdout] | [INFO] [stdout] 203 | impl<$key, $value, T, AO> $crate::prelude::BisequenceA for $ty<$key, $value> [INFO] [stdout] | -- expected this type parameter [INFO] [stdout] ... [INFO] [stdout] 206 | $key::Mapped: $crate::prelude::AppA, [INFO] [stdout] | ^^^^^^^^^^ expected type parameter `AO`, found `Vec` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/btree_map.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | derive_iterable_map!(BTreeMap, insert, Ord); [INFO] [stdout] | ------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `AO` [INFO] [stdout] found struct `Vec` [INFO] [stdout] note: required by a bound in `applicative::AppA` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `AppA` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/control/applicative.rs:128:11 [INFO] [stdout] | [INFO] [stdout] 128 | pub trait AppA: WithPointed + WithPointed { [INFO] [stdout] | ---- required by a bound in this trait [INFO] [stdout] = note: this error originates in the macro `derive_iterable_map` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `<<... as Functor<...>>::Mapped as Pointed>::Pointed == Box<...>` [INFO] [stdout] --> crates/glasgae/src/base/data/collection/map/mod.rs:207:45 [INFO] [stdout] | [INFO] [stdout] 207 | ...lude::Term + $crate::prelude::Functor<$crate::prelude::Function, Vec<$value>>, Pointed = $value>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Box, Vec>>`, found associated type [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/btree_map.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | derive_iterable_map!(BTreeMap, insert, Ord); [INFO] [stdout] | ------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box<(dyn function::FunctionT, Vec> + 'static)>` [INFO] [stdout] found associated type `<, Vec> + 'static)>>>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = help: consider constraining the associated type `<, Vec> + 'static)>>>::Mapped as pointed::Pointed>::Pointed` to `Box<(dyn function::FunctionT, Vec> + 'static)>` [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/glasgae-8194c79139e38ab9.long-type-12060765919063269228.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 `derive_iterable_map` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `<<... as Functor<...>>::Mapped as Pointed>::Pointed == Box<...>` [INFO] [stdout] --> crates/glasgae/src/base/data/collection/map/mod.rs:205:43 [INFO] [stdout] | [INFO] [stdout] 205 | ...relude::Term + $crate::prelude::Functor<$crate::prelude::Function, Vec<$key>>, Pointed = $key> $(+ $trait)*, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Box, Vec>>`, found associated type [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/btree_map.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | derive_iterable_map!(BTreeMap, insert, Ord); [INFO] [stdout] | ------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box<(dyn function::FunctionT, Vec> + 'static)>` [INFO] [stdout] found associated type `<, Vec> + 'static)>>>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = help: consider constraining the associated type `<, Vec> + 'static)>>>::Mapped as pointed::Pointed>::Pointed` to `Box<(dyn function::FunctionT, Vec> + 'static)>` [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/glasgae-8194c79139e38ab9.long-type-3392686455751303028.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 `derive_iterable_map` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `T: Clone` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/collection/map/mod.rs:209:40 [INFO] [stdout] | [INFO] [stdout] 209 | AO: $crate::prelude::PureA>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `T` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/btree_map.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | derive_iterable_map!(BTreeMap, insert, Ord); [INFO] [stdout] | ------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: required for `Vec` to implement `Clone` [INFO] [stdout] = note: this error originates in the macro `derive_iterable_map` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `T` with trait `Clone` [INFO] [stdout] | [INFO] [stdout] 209 | AO: $crate::prelude::PureA>, T: std::clone::Clone [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `T` may contain interior mutability and a reference may not be safely transferable across a catch_unwind boundary [INFO] [stdout] --> crates/glasgae/src/base/data/collection/map/mod.rs:209:40 [INFO] [stdout] | [INFO] [stdout] 209 | AO: $crate::prelude::PureA>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ `T` may contain interior mutability and a reference may not be safely transferable across a catch_unwind boundary [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/btree_map.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | derive_iterable_map!(BTreeMap, insert, Ord); [INFO] [stdout] | ------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `PhantomData` [INFO] [stdout] --> /rustc/b6bca0d7327839b5e3f7a7779947cb9113d08917/library/core/src/marker.rs:811:11 [INFO] [stdout] note: required because it appears within the type `alloc::raw_vec::RawVec` [INFO] [stdout] --> /rustc/b6bca0d7327839b5e3f7a7779947cb9113d08917/library/alloc/src/raw_vec/mod.rs:73:18 [INFO] [stdout] note: required because it appears within the type `Vec` [INFO] [stdout] --> /rustc/b6bca0d7327839b5e3f7a7779947cb9113d08917/library/alloc/src/vec/mod.rs:438:11 [INFO] [stdout] = note: this error originates in the macro `derive_iterable_map` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `T` with trait `RefUnwindSafe` [INFO] [stdout] | [INFO] [stdout] 209 | AO: $crate::prelude::PureA>, T: std::panic::RefUnwindSafe [INFO] [stdout] | ++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `T` may not be safely transferred across an unwind boundary [INFO] [stdout] --> crates/glasgae/src/base/data/collection/map/mod.rs:209:40 [INFO] [stdout] | [INFO] [stdout] 209 | AO: $crate::prelude::PureA>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ `T` may not be safely transferred across an unwind boundary [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/btree_map.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | derive_iterable_map!(BTreeMap, insert, Ord); [INFO] [stdout] | ------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `PhantomData` [INFO] [stdout] --> /rustc/b6bca0d7327839b5e3f7a7779947cb9113d08917/library/core/src/marker.rs:811:11 [INFO] [stdout] note: required because it appears within the type `alloc::raw_vec::RawVec` [INFO] [stdout] --> /rustc/b6bca0d7327839b5e3f7a7779947cb9113d08917/library/alloc/src/raw_vec/mod.rs:73:18 [INFO] [stdout] note: required because it appears within the type `Vec` [INFO] [stdout] --> /rustc/b6bca0d7327839b5e3f7a7779947cb9113d08917/library/alloc/src/vec/mod.rs:438:11 [INFO] [stdout] = note: this error originates in the macro `derive_iterable_map` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `T` with trait `UnwindSafe` [INFO] [stdout] | [INFO] [stdout] 209 | AO: $crate::prelude::PureA>, T: std::panic::UnwindSafe [INFO] [stdout] | +++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `T` cannot be shared between threads safely [INFO] [stdout] --> crates/glasgae/src/base/data/collection/map/mod.rs:209:40 [INFO] [stdout] | [INFO] [stdout] 209 | AO: $crate::prelude::PureA>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ `T` cannot be shared between threads safely [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/btree_map.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | derive_iterable_map!(BTreeMap, insert, Ord); [INFO] [stdout] | ------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `PhantomData` [INFO] [stdout] --> /rustc/b6bca0d7327839b5e3f7a7779947cb9113d08917/library/core/src/marker.rs:811:11 [INFO] [stdout] note: required because it appears within the type `alloc::raw_vec::RawVec` [INFO] [stdout] --> /rustc/b6bca0d7327839b5e3f7a7779947cb9113d08917/library/alloc/src/raw_vec/mod.rs:73:18 [INFO] [stdout] note: required because it appears within the type `Vec` [INFO] [stdout] --> /rustc/b6bca0d7327839b5e3f7a7779947cb9113d08917/library/alloc/src/vec/mod.rs:438:11 [INFO] [stdout] = note: this error originates in the macro `derive_iterable_map` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `T` with trait `Sync` [INFO] [stdout] | [INFO] [stdout] 209 | AO: $crate::prelude::PureA>, T: std::marker::Sync [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `T` cannot be sent between threads safely [INFO] [stdout] --> crates/glasgae/src/base/data/collection/map/mod.rs:209:40 [INFO] [stdout] | [INFO] [stdout] 209 | AO: $crate::prelude::PureA>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/btree_map.rs:7:1 [INFO] [stdout] | [INFO] [stdout] 7 | derive_iterable_map!(BTreeMap, insert, Ord); [INFO] [stdout] | ------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `PhantomData` [INFO] [stdout] --> /rustc/b6bca0d7327839b5e3f7a7779947cb9113d08917/library/core/src/marker.rs:811:11 [INFO] [stdout] note: required because it appears within the type `alloc::raw_vec::RawVec` [INFO] [stdout] --> /rustc/b6bca0d7327839b5e3f7a7779947cb9113d08917/library/alloc/src/raw_vec/mod.rs:73:18 [INFO] [stdout] note: required because it appears within the type `Vec` [INFO] [stdout] --> /rustc/b6bca0d7327839b5e3f7a7779947cb9113d08917/library/alloc/src/vec/mod.rs:438:11 [INFO] [stdout] = note: this error originates in the macro `derive_iterable_map` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `T` with trait `Send` [INFO] [stdout] | [INFO] [stdout] 209 | AO: $crate::prelude::PureA>, T: std::marker::Send [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `< as Functor>::Mapped as Pointed>::Pointed == A1` [INFO] [stdout] --> crates/glasgae/src/base/data/collection/map/mod.rs:71:19 [INFO] [stdout] | [INFO] [stdout] 69 | impl<$key, $value, A1, A2> $crate::prelude::TraverseT for $ty<$key, $value> [INFO] [stdout] | -- expected this type parameter [INFO] [stdout] 70 | where [INFO] [stdout] 71 | Self: $crate::prelude::Functor, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected type parameter `A1`, found associated type [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/hash_map.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | derive_iterable_map!(HashMap, insert, Eq, Hash); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `A1` [INFO] [stdout] found associated type `< as functor::Functor>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = note: you might be missing a type parameter or trait bound [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: this error originates in the macro `derive_iterable_map` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `<>::Mapped as WithPointed<...>>::WithPointed == V2` [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:129:57 [INFO] [stdout] | [INFO] [stdout] 129 | type WithA: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ expected type parameter `V2`, found type parameter `V` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/mod.rs:87:28 [INFO] [stdout] | [INFO] [stdout] 87 | impl<$key, $value, V2> $crate::prelude::SequenceA<(), V2> for $ty<$key, $value> [INFO] [stdout] | -- expected type parameter [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/hash_map.rs:8:33 [INFO] [stdout] | [INFO] [stdout] 8 | derive_iterable_map!(HashMap, insert, Eq, Hash); [INFO] [stdout] | - found type parameter [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `V2` [INFO] [stdout] found type parameter `V` [INFO] [stdout] = note: a type parameter was expected, but a different one was found; you might be missing a type parameter or trait bound [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch10-02-traits.html#traits-as-parameters [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/glasgae-8194c79139e38ab9.long-type-5605950702638694684.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `::Pointed == V2` [INFO] [stdout] --> crates/glasgae/src/base/data/collection/map/mod.rs:92:142 [INFO] [stdout] | [INFO] [stdout] 87 | ...e, V2> $crate::prelude::SequenceA<(), V2> for $ty<$key, $value> [INFO] [stdout] | -- expected this type parameter [INFO] [stdout] ... [INFO] [stdout] 92 | ...ude::MappedT<$value, $crate::prelude::Function<$ty<$key, $value>, $ty<$key, $value>>>: $crate::prelude::AppA` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/hash_map.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | derive_iterable_map!(HashMap, insert, Eq, Hash); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `V2` [INFO] [stdout] found struct `HashMap` [INFO] [stdout] note: required by a bound in `applicative::AppA` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `AppA` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/control/applicative.rs:128:11 [INFO] [stdout] | [INFO] [stdout] 128 | pub trait AppA: WithPointed + WithPointed { [INFO] [stdout] | ---- required by a bound in this trait [INFO] [stdout] = note: this error originates in the macro `derive_iterable_map` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `<<... as Functor<...>>::Mapped as Pointed>::Pointed == Box<...>` [INFO] [stdout] --> crates/glasgae/src/base/data/collection/map/mod.rs:90:21 [INFO] [stdout] | [INFO] [stdout] 90 | ...lue: $crate::prelude::Functor<$crate::prelude::Function<$ty<$key, $value>, $ty<$key, $value>>, Pointed = $ty<$key, $value>> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Box, ...>>`, found associated type [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/hash_map.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | derive_iterable_map!(HashMap, insert, Eq, Hash); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box<(dyn function::FunctionT, HashMap> + 'static)>` [INFO] [stdout] found associated type `<, HashMap> + 'static)>>>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = help: consider constraining the associated type `<, HashMap> + 'static)>>>::Mapped as pointed::Pointed>::Pointed` to `Box<(dyn function::FunctionT, HashMap> + 'static)>` [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/glasgae-8194c79139e38ab9.long-type-6050014506705233966.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 `derive_iterable_map` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `<<... as Functor<...>>::Mapped as Pointed>::Pointed == AD` [INFO] [stdout] --> crates/glasgae/src/base/data/collection/map/mod.rs:189:56 [INFO] [stdout] | [INFO] [stdout] 186 | impl<$key, $value, AC, AD, AO> $crate::prelude::BitraverseT for $ty<$key, $value> [INFO] [stdout] | -- expected this type parameter [INFO] [stdout] ... [INFO] [stdout] 189 | $crate::prelude::WithBipointedT: $crate::prelude::Functor, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected type parameter `AD`, found associated type [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/hash_map.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | derive_iterable_map!(HashMap, insert, Eq, Hash); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `AD` [INFO] [stdout] found associated type `<< as with_bipointed::WithBipointed>::WithBipointed as functor::Functor>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = note: you might be missing a type parameter or trait bound [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/glasgae-8194c79139e38ab9.long-type-3017014244625910001.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 `derive_iterable_map` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `::Pointed == AO` [INFO] [stdout] --> crates/glasgae/src/base/data/collection/map/mod.rs:206:57 [INFO] [stdout] | [INFO] [stdout] 203 | impl<$key, $value, T, AO> $crate::prelude::BisequenceA for $ty<$key, $value> [INFO] [stdout] | -- expected this type parameter [INFO] [stdout] ... [INFO] [stdout] 206 | $key::Mapped: $crate::prelude::AppA, [INFO] [stdout] | ^^^^^^^^^^ expected type parameter `AO`, found `Vec` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/hash_map.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | derive_iterable_map!(HashMap, insert, Eq, Hash); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `AO` [INFO] [stdout] found struct `Vec` [INFO] [stdout] note: required by a bound in `applicative::AppA` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `AppA` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/control/applicative.rs:128:11 [INFO] [stdout] | [INFO] [stdout] 128 | pub trait AppA: WithPointed + WithPointed { [INFO] [stdout] | ---- required by a bound in this trait [INFO] [stdout] = note: this error originates in the macro `derive_iterable_map` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `<<... as Functor<...>>::Mapped as Pointed>::Pointed == Box<...>` [INFO] [stdout] --> crates/glasgae/src/base/data/collection/map/mod.rs:207:45 [INFO] [stdout] | [INFO] [stdout] 207 | ...lude::Term + $crate::prelude::Functor<$crate::prelude::Function, Vec<$value>>, Pointed = $value>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Box, Vec>>`, found associated type [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/hash_map.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | derive_iterable_map!(HashMap, insert, Eq, Hash); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box<(dyn function::FunctionT, Vec> + 'static)>` [INFO] [stdout] found associated type `<, Vec> + 'static)>>>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = help: consider constraining the associated type `<, Vec> + 'static)>>>::Mapped as pointed::Pointed>::Pointed` to `Box<(dyn function::FunctionT, Vec> + 'static)>` [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/glasgae-8194c79139e38ab9.long-type-12060765919063269228.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 `derive_iterable_map` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `<<... as Functor<...>>::Mapped as Pointed>::Pointed == Box<...>` [INFO] [stdout] --> crates/glasgae/src/base/data/collection/map/mod.rs:205:43 [INFO] [stdout] | [INFO] [stdout] 205 | ...relude::Term + $crate::prelude::Functor<$crate::prelude::Function, Vec<$key>>, Pointed = $key> $(+ $trait)*, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Box, Vec>>`, found associated type [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/hash_map.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | derive_iterable_map!(HashMap, insert, Eq, Hash); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box<(dyn function::FunctionT, Vec> + 'static)>` [INFO] [stdout] found associated type `<, Vec> + 'static)>>>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = help: consider constraining the associated type `<, Vec> + 'static)>>>::Mapped as pointed::Pointed>::Pointed` to `Box<(dyn function::FunctionT, Vec> + 'static)>` [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/glasgae-8194c79139e38ab9.long-type-3392686455751303028.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 `derive_iterable_map` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `T: Clone` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/collection/map/mod.rs:209:40 [INFO] [stdout] | [INFO] [stdout] 209 | AO: $crate::prelude::PureA>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `T` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/hash_map.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | derive_iterable_map!(HashMap, insert, Eq, Hash); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: required for `Vec` to implement `Clone` [INFO] [stdout] = note: this error originates in the macro `derive_iterable_map` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `T` with trait `Clone` [INFO] [stdout] | [INFO] [stdout] 209 | AO: $crate::prelude::PureA>, T: std::clone::Clone [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `T` may contain interior mutability and a reference may not be safely transferable across a catch_unwind boundary [INFO] [stdout] --> crates/glasgae/src/base/data/collection/map/mod.rs:209:40 [INFO] [stdout] | [INFO] [stdout] 209 | AO: $crate::prelude::PureA>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ `T` may contain interior mutability and a reference may not be safely transferable across a catch_unwind boundary [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/hash_map.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | derive_iterable_map!(HashMap, insert, Eq, Hash); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `PhantomData` [INFO] [stdout] --> /rustc/b6bca0d7327839b5e3f7a7779947cb9113d08917/library/core/src/marker.rs:811:11 [INFO] [stdout] note: required because it appears within the type `alloc::raw_vec::RawVec` [INFO] [stdout] --> /rustc/b6bca0d7327839b5e3f7a7779947cb9113d08917/library/alloc/src/raw_vec/mod.rs:73:18 [INFO] [stdout] note: required because it appears within the type `Vec` [INFO] [stdout] --> /rustc/b6bca0d7327839b5e3f7a7779947cb9113d08917/library/alloc/src/vec/mod.rs:438:11 [INFO] [stdout] = note: this error originates in the macro `derive_iterable_map` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `T` with trait `RefUnwindSafe` [INFO] [stdout] | [INFO] [stdout] 209 | AO: $crate::prelude::PureA>, T: std::panic::RefUnwindSafe [INFO] [stdout] | ++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `T` may not be safely transferred across an unwind boundary [INFO] [stdout] --> crates/glasgae/src/base/data/collection/map/mod.rs:209:40 [INFO] [stdout] | [INFO] [stdout] 209 | AO: $crate::prelude::PureA>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ `T` may not be safely transferred across an unwind boundary [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/hash_map.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | derive_iterable_map!(HashMap, insert, Eq, Hash); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `PhantomData` [INFO] [stdout] --> /rustc/b6bca0d7327839b5e3f7a7779947cb9113d08917/library/core/src/marker.rs:811:11 [INFO] [stdout] note: required because it appears within the type `alloc::raw_vec::RawVec` [INFO] [stdout] --> /rustc/b6bca0d7327839b5e3f7a7779947cb9113d08917/library/alloc/src/raw_vec/mod.rs:73:18 [INFO] [stdout] note: required because it appears within the type `Vec` [INFO] [stdout] --> /rustc/b6bca0d7327839b5e3f7a7779947cb9113d08917/library/alloc/src/vec/mod.rs:438:11 [INFO] [stdout] = note: this error originates in the macro `derive_iterable_map` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `T` with trait `UnwindSafe` [INFO] [stdout] | [INFO] [stdout] 209 | AO: $crate::prelude::PureA>, T: std::panic::UnwindSafe [INFO] [stdout] | +++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `T` cannot be shared between threads safely [INFO] [stdout] --> crates/glasgae/src/base/data/collection/map/mod.rs:209:40 [INFO] [stdout] | [INFO] [stdout] 209 | AO: $crate::prelude::PureA>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ `T` cannot be shared between threads safely [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/hash_map.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | derive_iterable_map!(HashMap, insert, Eq, Hash); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `PhantomData` [INFO] [stdout] --> /rustc/b6bca0d7327839b5e3f7a7779947cb9113d08917/library/core/src/marker.rs:811:11 [INFO] [stdout] note: required because it appears within the type `alloc::raw_vec::RawVec` [INFO] [stdout] --> /rustc/b6bca0d7327839b5e3f7a7779947cb9113d08917/library/alloc/src/raw_vec/mod.rs:73:18 [INFO] [stdout] note: required because it appears within the type `Vec` [INFO] [stdout] --> /rustc/b6bca0d7327839b5e3f7a7779947cb9113d08917/library/alloc/src/vec/mod.rs:438:11 [INFO] [stdout] = note: this error originates in the macro `derive_iterable_map` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `T` with trait `Sync` [INFO] [stdout] | [INFO] [stdout] 209 | AO: $crate::prelude::PureA>, T: std::marker::Sync [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `T` cannot be sent between threads safely [INFO] [stdout] --> crates/glasgae/src/base/data/collection/map/mod.rs:209:40 [INFO] [stdout] | [INFO] [stdout] 209 | AO: $crate::prelude::PureA>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/hash_map.rs:8:1 [INFO] [stdout] | [INFO] [stdout] 8 | derive_iterable_map!(HashMap, insert, Eq, Hash); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `PhantomData` [INFO] [stdout] --> /rustc/b6bca0d7327839b5e3f7a7779947cb9113d08917/library/core/src/marker.rs:811:11 [INFO] [stdout] note: required because it appears within the type `alloc::raw_vec::RawVec` [INFO] [stdout] --> /rustc/b6bca0d7327839b5e3f7a7779947cb9113d08917/library/alloc/src/raw_vec/mod.rs:73:18 [INFO] [stdout] note: required because it appears within the type `Vec` [INFO] [stdout] --> /rustc/b6bca0d7327839b5e3f7a7779947cb9113d08917/library/alloc/src/vec/mod.rs:438:11 [INFO] [stdout] = note: this error originates in the macro `derive_iterable_map` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `T` with trait `Send` [INFO] [stdout] | [INFO] [stdout] 209 | AO: $crate::prelude::PureA>, T: std::marker::Send [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `< as Functor>::Mapped as Pointed>::Pointed == A1` [INFO] [stdout] --> crates/glasgae/src/base/data/collection/map/mod.rs:71:19 [INFO] [stdout] | [INFO] [stdout] 69 | impl<$key, $value, A1, A2> $crate::prelude::TraverseT for $ty<$key, $value> [INFO] [stdout] | -- expected this type parameter [INFO] [stdout] 70 | where [INFO] [stdout] 71 | Self: $crate::prelude::Functor, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected type parameter `A1`, found associated type [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/vec_map.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | derive_iterable_map!(VecMap, insert, PartialEq); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `A1` [INFO] [stdout] found associated type `< as functor::Functor>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = note: you might be missing a type parameter or trait bound [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: this error originates in the macro `derive_iterable_map` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `<>::Mapped as WithPointed<...>>::WithPointed == V2` [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:129:57 [INFO] [stdout] | [INFO] [stdout] 129 | type WithA: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ expected type parameter `V2`, found type parameter `V` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/mod.rs:87:28 [INFO] [stdout] | [INFO] [stdout] 87 | impl<$key, $value, V2> $crate::prelude::SequenceA<(), V2> for $ty<$key, $value> [INFO] [stdout] | -- expected type parameter [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/vec_map.rs:9:32 [INFO] [stdout] | [INFO] [stdout] 9 | derive_iterable_map!(VecMap, insert, PartialEq); [INFO] [stdout] | - found type parameter [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `V2` [INFO] [stdout] found type parameter `V` [INFO] [stdout] = note: a type parameter was expected, but a different one was found; you might be missing a type parameter or trait bound [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch10-02-traits.html#traits-as-parameters [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/glasgae-8194c79139e38ab9.long-type-906960566182721654.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `::Pointed == V2` [INFO] [stdout] --> crates/glasgae/src/base/data/collection/map/mod.rs:92:142 [INFO] [stdout] | [INFO] [stdout] 87 | ...e, V2> $crate::prelude::SequenceA<(), V2> for $ty<$key, $value> [INFO] [stdout] | -- expected this type parameter [INFO] [stdout] ... [INFO] [stdout] 92 | ...ude::MappedT<$value, $crate::prelude::Function<$ty<$key, $value>, $ty<$key, $value>>>: $crate::prelude::AppA` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/vec_map.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | derive_iterable_map!(VecMap, insert, PartialEq); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `V2` [INFO] [stdout] found struct `vector_map::VecMap` [INFO] [stdout] note: required by a bound in `applicative::AppA` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `AppA` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/control/applicative.rs:128:11 [INFO] [stdout] | [INFO] [stdout] 128 | pub trait AppA: WithPointed + WithPointed { [INFO] [stdout] | ---- required by a bound in this trait [INFO] [stdout] = note: this error originates in the macro `derive_iterable_map` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `<<... as Functor<...>>::Mapped as Pointed>::Pointed == Box<...>` [INFO] [stdout] --> crates/glasgae/src/base/data/collection/map/mod.rs:90:21 [INFO] [stdout] | [INFO] [stdout] 90 | ...lue: $crate::prelude::Functor<$crate::prelude::Function<$ty<$key, $value>, $ty<$key, $value>>, Pointed = $ty<$key, $value>> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Box, ...>>`, found associated type [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/vec_map.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | derive_iterable_map!(VecMap, insert, PartialEq); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box<(dyn function::FunctionT, vector_map::VecMap> + 'static)>` [INFO] [stdout] found associated type `<, vector_map::VecMap> + 'static)>>>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = help: consider constraining the associated type `<, vector_map::VecMap> + 'static)>>>::Mapped as pointed::Pointed>::Pointed` to `Box<(dyn function::FunctionT, vector_map::VecMap> + 'static)>` [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/glasgae-8194c79139e38ab9.long-type-13703969866176751495.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 `derive_iterable_map` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `<<... as Functor<...>>::Mapped as Pointed>::Pointed == AD` [INFO] [stdout] --> crates/glasgae/src/base/data/collection/map/mod.rs:189:56 [INFO] [stdout] | [INFO] [stdout] 186 | impl<$key, $value, AC, AD, AO> $crate::prelude::BitraverseT for $ty<$key, $value> [INFO] [stdout] | -- expected this type parameter [INFO] [stdout] ... [INFO] [stdout] 189 | $crate::prelude::WithBipointedT: $crate::prelude::Functor, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected type parameter `AD`, found associated type [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/vec_map.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | derive_iterable_map!(VecMap, insert, PartialEq); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `AD` [INFO] [stdout] found associated type `<< as with_bipointed::WithBipointed>::WithBipointed as functor::Functor>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = note: you might be missing a type parameter or trait bound [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/glasgae-8194c79139e38ab9.long-type-9154559065773436383.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 `derive_iterable_map` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `::Pointed == AO` [INFO] [stdout] --> crates/glasgae/src/base/data/collection/map/mod.rs:206:57 [INFO] [stdout] | [INFO] [stdout] 203 | impl<$key, $value, T, AO> $crate::prelude::BisequenceA for $ty<$key, $value> [INFO] [stdout] | -- expected this type parameter [INFO] [stdout] ... [INFO] [stdout] 206 | $key::Mapped: $crate::prelude::AppA, [INFO] [stdout] | ^^^^^^^^^^ expected type parameter `AO`, found `Vec` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/vec_map.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | derive_iterable_map!(VecMap, insert, PartialEq); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `AO` [INFO] [stdout] found struct `Vec` [INFO] [stdout] note: required by a bound in `applicative::AppA` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `AppA` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/control/applicative.rs:128:11 [INFO] [stdout] | [INFO] [stdout] 128 | pub trait AppA: WithPointed + WithPointed { [INFO] [stdout] | ---- required by a bound in this trait [INFO] [stdout] = note: this error originates in the macro `derive_iterable_map` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `<<... as Functor<...>>::Mapped as Pointed>::Pointed == Box<...>` [INFO] [stdout] --> crates/glasgae/src/base/data/collection/map/mod.rs:207:45 [INFO] [stdout] | [INFO] [stdout] 207 | ...lude::Term + $crate::prelude::Functor<$crate::prelude::Function, Vec<$value>>, Pointed = $value>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Box, Vec>>`, found associated type [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/vec_map.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | derive_iterable_map!(VecMap, insert, PartialEq); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box<(dyn function::FunctionT, Vec> + 'static)>` [INFO] [stdout] found associated type `<, Vec> + 'static)>>>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = help: consider constraining the associated type `<, Vec> + 'static)>>>::Mapped as pointed::Pointed>::Pointed` to `Box<(dyn function::FunctionT, Vec> + 'static)>` [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/glasgae-8194c79139e38ab9.long-type-12060765919063269228.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 `derive_iterable_map` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `<<... as Functor<...>>::Mapped as Pointed>::Pointed == Box<...>` [INFO] [stdout] --> crates/glasgae/src/base/data/collection/map/mod.rs:205:43 [INFO] [stdout] | [INFO] [stdout] 205 | ...relude::Term + $crate::prelude::Functor<$crate::prelude::Function, Vec<$key>>, Pointed = $key> $(+ $trait)*, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Box, Vec>>`, found associated type [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/vec_map.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | derive_iterable_map!(VecMap, insert, PartialEq); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box<(dyn function::FunctionT, Vec> + 'static)>` [INFO] [stdout] found associated type `<, Vec> + 'static)>>>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = help: consider constraining the associated type `<, Vec> + 'static)>>>::Mapped as pointed::Pointed>::Pointed` to `Box<(dyn function::FunctionT, Vec> + 'static)>` [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/glasgae-8194c79139e38ab9.long-type-3392686455751303028.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 `derive_iterable_map` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `T: Clone` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/collection/map/mod.rs:209:40 [INFO] [stdout] | [INFO] [stdout] 209 | AO: $crate::prelude::PureA>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `T` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/vec_map.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | derive_iterable_map!(VecMap, insert, PartialEq); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: required for `Vec` to implement `Clone` [INFO] [stdout] = note: this error originates in the macro `derive_iterable_map` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `T` with trait `Clone` [INFO] [stdout] | [INFO] [stdout] 209 | AO: $crate::prelude::PureA>, T: std::clone::Clone [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `T` may contain interior mutability and a reference may not be safely transferable across a catch_unwind boundary [INFO] [stdout] --> crates/glasgae/src/base/data/collection/map/mod.rs:209:40 [INFO] [stdout] | [INFO] [stdout] 209 | AO: $crate::prelude::PureA>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ `T` may contain interior mutability and a reference may not be safely transferable across a catch_unwind boundary [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/vec_map.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | derive_iterable_map!(VecMap, insert, PartialEq); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `PhantomData` [INFO] [stdout] --> /rustc/b6bca0d7327839b5e3f7a7779947cb9113d08917/library/core/src/marker.rs:811:11 [INFO] [stdout] note: required because it appears within the type `alloc::raw_vec::RawVec` [INFO] [stdout] --> /rustc/b6bca0d7327839b5e3f7a7779947cb9113d08917/library/alloc/src/raw_vec/mod.rs:73:18 [INFO] [stdout] note: required because it appears within the type `Vec` [INFO] [stdout] --> /rustc/b6bca0d7327839b5e3f7a7779947cb9113d08917/library/alloc/src/vec/mod.rs:438:11 [INFO] [stdout] = note: this error originates in the macro `derive_iterable_map` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `T` with trait `RefUnwindSafe` [INFO] [stdout] | [INFO] [stdout] 209 | AO: $crate::prelude::PureA>, T: std::panic::RefUnwindSafe [INFO] [stdout] | ++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `T` may not be safely transferred across an unwind boundary [INFO] [stdout] --> crates/glasgae/src/base/data/collection/map/mod.rs:209:40 [INFO] [stdout] | [INFO] [stdout] 209 | AO: $crate::prelude::PureA>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ `T` may not be safely transferred across an unwind boundary [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/vec_map.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | derive_iterable_map!(VecMap, insert, PartialEq); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `PhantomData` [INFO] [stdout] --> /rustc/b6bca0d7327839b5e3f7a7779947cb9113d08917/library/core/src/marker.rs:811:11 [INFO] [stdout] note: required because it appears within the type `alloc::raw_vec::RawVec` [INFO] [stdout] --> /rustc/b6bca0d7327839b5e3f7a7779947cb9113d08917/library/alloc/src/raw_vec/mod.rs:73:18 [INFO] [stdout] note: required because it appears within the type `Vec` [INFO] [stdout] --> /rustc/b6bca0d7327839b5e3f7a7779947cb9113d08917/library/alloc/src/vec/mod.rs:438:11 [INFO] [stdout] = note: this error originates in the macro `derive_iterable_map` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `T` with trait `UnwindSafe` [INFO] [stdout] | [INFO] [stdout] 209 | AO: $crate::prelude::PureA>, T: std::panic::UnwindSafe [INFO] [stdout] | +++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `T` cannot be shared between threads safely [INFO] [stdout] --> crates/glasgae/src/base/data/collection/map/mod.rs:209:40 [INFO] [stdout] | [INFO] [stdout] 209 | AO: $crate::prelude::PureA>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ `T` cannot be shared between threads safely [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/vec_map.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | derive_iterable_map!(VecMap, insert, PartialEq); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `PhantomData` [INFO] [stdout] --> /rustc/b6bca0d7327839b5e3f7a7779947cb9113d08917/library/core/src/marker.rs:811:11 [INFO] [stdout] note: required because it appears within the type `alloc::raw_vec::RawVec` [INFO] [stdout] --> /rustc/b6bca0d7327839b5e3f7a7779947cb9113d08917/library/alloc/src/raw_vec/mod.rs:73:18 [INFO] [stdout] note: required because it appears within the type `Vec` [INFO] [stdout] --> /rustc/b6bca0d7327839b5e3f7a7779947cb9113d08917/library/alloc/src/vec/mod.rs:438:11 [INFO] [stdout] = note: this error originates in the macro `derive_iterable_map` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `T` with trait `Sync` [INFO] [stdout] | [INFO] [stdout] 209 | AO: $crate::prelude::PureA>, T: std::marker::Sync [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `T` cannot be sent between threads safely [INFO] [stdout] --> crates/glasgae/src/base/data/collection/map/mod.rs:209:40 [INFO] [stdout] | [INFO] [stdout] 209 | AO: $crate::prelude::PureA>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ `T` cannot be sent between threads safely [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/map/vec_map.rs:9:1 [INFO] [stdout] | [INFO] [stdout] 9 | derive_iterable_map!(VecMap, insert, PartialEq); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `PhantomData` [INFO] [stdout] --> /rustc/b6bca0d7327839b5e3f7a7779947cb9113d08917/library/core/src/marker.rs:811:11 [INFO] [stdout] note: required because it appears within the type `alloc::raw_vec::RawVec` [INFO] [stdout] --> /rustc/b6bca0d7327839b5e3f7a7779947cb9113d08917/library/alloc/src/raw_vec/mod.rs:73:18 [INFO] [stdout] note: required because it appears within the type `Vec` [INFO] [stdout] --> /rustc/b6bca0d7327839b5e3f7a7779947cb9113d08917/library/alloc/src/vec/mod.rs:438:11 [INFO] [stdout] = note: this error originates in the macro `derive_iterable_map` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `T` with trait `Send` [INFO] [stdout] | [INFO] [stdout] 209 | AO: $crate::prelude::PureA>, T: std::marker::Send [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | / impl<$($_arg,)* $arg $(,$arg_)*, MA, MF, B, MB> $crate::prelude::TraverseT for $ty<$($_arg,)* $arg $(,$arg_)*> [INFO] [stdout] 127 | | where [INFO] [stdout] 128 | | $( [INFO] [stdout] 129 | | $_arg: $crate::prelude::Term $(+ $_trait)*, [INFO] [stdout] ... | [INFO] [stdout] 139 | | B: $crate::prelude::Term $(+ $trait)*, [INFO] [stdout] 140 | | MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] | |______________________________________________________________________^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/btree_set.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(BTreeSet<(X: Ord)>, insert); [INFO] [stdout] | -------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA> $(+ $trait, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:142:13 [INFO] [stdout] | [INFO] [stdout] 142 | type Mapped = MA; [INFO] [stdout] | ^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/btree_set.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(BTreeSet<(X: Ord)>, insert); [INFO] [stdout] | -------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA> $(+ $trait, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:143:13 [INFO] [stdout] | [INFO] [stdout] 143 | type Value = $crate::prelude::PointedT; [INFO] [stdout] | ^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/btree_set.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(BTreeSet<(X: Ord)>, insert); [INFO] [stdout] | -------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA> $(+ $trait, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:144:13 [INFO] [stdout] | [INFO] [stdout] 144 | type Traversed = MB; [INFO] [stdout] | ^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/btree_set.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(BTreeSet<(X: Ord)>, insert); [INFO] [stdout] | -------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA> $(+ $trait, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:146:13 [INFO] [stdout] | [INFO] [stdout] 146 | fn traverse_t(self, f: impl $crate::prelude::FunctionT) -> MB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/btree_set.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(BTreeSet<(X: Ord)>, insert); [INFO] [stdout] | -------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required for `BTreeSet` to implement `traversable::TraverseT` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:126:57 [INFO] [stdout] | [INFO] [stdout] 126 | impl<$($_arg,)* $arg $(,$arg_)*, MA, MF, B, MB> $crate::prelude::TraverseT for $ty<$($_arg,)* $arg $(,$arg_)*> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/btree_set.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(BTreeSet<(X: Ord)>, insert); [INFO] [stdout] | -------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA> $(+ $trait, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:146:13 [INFO] [stdout] | [INFO] [stdout] 146 | fn traverse_t(self, f: impl $crate::prelude::FunctionT) -> MB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/btree_set.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(BTreeSet<(X: Ord)>, insert); [INFO] [stdout] | -------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required for `BTreeSet` to implement `traversable::TraverseT` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:126:57 [INFO] [stdout] | [INFO] [stdout] 126 | impl<$($_arg,)* $arg $(,$arg_)*, MA, MF, B, MB> $crate::prelude::TraverseT for $ty<$($_arg,)* $arg $(,$arg_)*> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/btree_set.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(BTreeSet<(X: Ord)>, insert); [INFO] [stdout] | -------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ----------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA> $(+ $trait, MB: base::data::with_pointed::WithPointed [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `impl crate::prelude::FunctionT: function::FunctionT` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:146:41 [INFO] [stdout] | [INFO] [stdout] 146 | fn traverse_t(self, f: impl $crate::prelude::FunctionT) -> MB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `FnOnce(X)` is not implemented for `impl crate::prelude::FunctionT` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/btree_set.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(BTreeSet<(X: Ord)>, insert); [INFO] [stdout] | -------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected a closure with signature `fn(X)` [INFO] [stdout] found a closure with signature `fn( as pointed::Pointed>::Pointed)` [INFO] [stdout] note: required for `impl crate::prelude::FunctionT` to implement `function::FunctionT` [INFO] [stdout] --> crates/glasgae/src/base/data/function/mod.rs:53:15 [INFO] [stdout] | [INFO] [stdout] 53 | impl FunctionT for F [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^ [INFO] [stdout] 54 | where [INFO] [stdout] 55 | F: Term + FnOnce(A) -> B, [INFO] [stdout] | -------------- unsatisfied trait bound introduced here [INFO] [stdout] note: the requirement `impl crate::prelude::FunctionT: function::FunctionT` appears on the `impl`'s method `traverse_t` but not on the corresponding trait's method [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub trait TraverseT: Pointed [INFO] [stdout] | --------- in this trait [INFO] [stdout] ... [INFO] [stdout] 69 | fn traverse_t(self, f: impl FunctionT) -> Self::Traversed; [INFO] [stdout] | ^^^^^^^^^^ this trait's method doesn't have the requirement `impl crate::prelude::FunctionT: function::FunctionT` [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `impl crate::prelude::FunctionT: function::FunctionT` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:146:41 [INFO] [stdout] | [INFO] [stdout] 146 | fn traverse_t(self, f: impl $crate::prelude::FunctionT) -> MB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `impl crate::prelude::FunctionT` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/btree_set.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(BTreeSet<(X: Ord)>, insert); [INFO] [stdout] | -------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required for `impl crate::prelude::FunctionT` to implement `term::Term` [INFO] [stdout] --> crates/glasgae/src/base/data/term.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | impl Term for T where T: TermBase + Clone {} [INFO] [stdout] | ^^^^ ^ ----- unsatisfied trait bound introduced here [INFO] [stdout] note: required for `impl crate::prelude::FunctionT` to implement `function::FunctionT` [INFO] [stdout] --> crates/glasgae/src/base/data/function/mod.rs:53:15 [INFO] [stdout] | [INFO] [stdout] 53 | impl FunctionT for F [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^ [INFO] [stdout] 54 | where [INFO] [stdout] 55 | F: Term + FnOnce(A) -> B, [INFO] [stdout] | ---- unsatisfied trait bound introduced here [INFO] [stdout] note: the requirement `impl crate::prelude::FunctionT: function::FunctionT` appears on the `impl`'s method `traverse_t` but not on the corresponding trait's method [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub trait TraverseT: Pointed [INFO] [stdout] | --------- in this trait [INFO] [stdout] ... [INFO] [stdout] 69 | fn traverse_t(self, f: impl FunctionT) -> Self::Traversed; [INFO] [stdout] | ^^^^^^^^^^ this trait's method doesn't have the requirement `impl crate::prelude::FunctionT: function::FunctionT` [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:140:68 [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA> $(+ $trait, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `WithPointed` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:140:68 [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA> $(+ $trait, MB: base::data::with_pointed::WithPointed [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:135:98 [INFO] [stdout] | [INFO] [stdout] 135 | MA: $crate::prelude::Functor<$crate::prelude::Function<$ty, $ty>, Pointed = B, Mapped = MF> [INFO] [stdout] | ^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/btree_set.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(BTreeSet<(X: Ord)>, insert); [INFO] [stdout] | -------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA> $(+ $trait, MF: base::data::with_pointed::WithPointed [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `::Pointed == Box, BTreeSet>>` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:135:98 [INFO] [stdout] | [INFO] [stdout] 135 | MA: $crate::prelude::Functor<$crate::prelude::Function<$ty, $ty>, Pointed = B, Mapped = MF> [INFO] [stdout] | ^^^^^^^^^^^ expected `Box, ...>>`, found associated type [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/btree_set.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(BTreeSet<(X: Ord)>, insert); [INFO] [stdout] | -------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box<(dyn function::FunctionT, BTreeSet> + 'static)>` [INFO] [stdout] found associated type `::Pointed` [INFO] [stdout] = help: consider constraining the associated type `::Pointed` to `Box<(dyn function::FunctionT, BTreeSet> + 'static)>` [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:126:100 [INFO] [stdout] | [INFO] [stdout] 126 | impl<$($_arg,)* $arg $(,$arg_)*, MA, MF, B, MB> $crate::prelude::TraverseT for $ty<$($_arg,)* $arg $(,$arg_)*> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/btree_set.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(BTreeSet<(X: Ord)>, insert); [INFO] [stdout] | -------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required for `BTreeSet` to implement `traversable::TraverseT` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:126:57 [INFO] [stdout] | [INFO] [stdout] 126 | impl<$($_arg,)* $arg $(,$arg_)*, MA, MF, B, MB> $crate::prelude::TraverseT for $ty<$($_arg,)* $arg $(,$arg_)*> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/btree_set.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(BTreeSet<(X: Ord)>, insert); [INFO] [stdout] | -------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA> $(+ $trait, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | / impl<$($_arg,)* $arg $(,$arg_)*, MA, MF, B, MB> $crate::prelude::TraverseT for $ty<$($_arg,)* $arg $(,$arg_)*> [INFO] [stdout] 127 | | where [INFO] [stdout] 128 | | $( [INFO] [stdout] 129 | | $_arg: $crate::prelude::Term $(+ $_trait)*, [INFO] [stdout] ... | [INFO] [stdout] 139 | | B: $crate::prelude::Term $(+ $trait)*, [INFO] [stdout] 140 | | MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] | |______________________________________________________________________^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/hash_set.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | derive_traversable_iterable!(HashSet<(X : Eq : Hash)>, insert); [INFO] [stdout] | -------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA> $(+ $trait, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:142:13 [INFO] [stdout] | [INFO] [stdout] 142 | type Mapped = MA; [INFO] [stdout] | ^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/hash_set.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | derive_traversable_iterable!(HashSet<(X : Eq : Hash)>, insert); [INFO] [stdout] | -------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA> $(+ $trait, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:143:13 [INFO] [stdout] | [INFO] [stdout] 143 | type Value = $crate::prelude::PointedT; [INFO] [stdout] | ^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/hash_set.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | derive_traversable_iterable!(HashSet<(X : Eq : Hash)>, insert); [INFO] [stdout] | -------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA> $(+ $trait, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:144:13 [INFO] [stdout] | [INFO] [stdout] 144 | type Traversed = MB; [INFO] [stdout] | ^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/hash_set.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | derive_traversable_iterable!(HashSet<(X : Eq : Hash)>, insert); [INFO] [stdout] | -------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA> $(+ $trait, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:146:13 [INFO] [stdout] | [INFO] [stdout] 146 | fn traverse_t(self, f: impl $crate::prelude::FunctionT) -> MB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/hash_set.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | derive_traversable_iterable!(HashSet<(X : Eq : Hash)>, insert); [INFO] [stdout] | -------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required for `HashSet` to implement `traversable::TraverseT` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:126:57 [INFO] [stdout] | [INFO] [stdout] 126 | impl<$($_arg,)* $arg $(,$arg_)*, MA, MF, B, MB> $crate::prelude::TraverseT for $ty<$($_arg,)* $arg $(,$arg_)*> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/hash_set.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | derive_traversable_iterable!(HashSet<(X : Eq : Hash)>, insert); [INFO] [stdout] | -------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA> $(+ $trait, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:146:13 [INFO] [stdout] | [INFO] [stdout] 146 | fn traverse_t(self, f: impl $crate::prelude::FunctionT) -> MB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/hash_set.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | derive_traversable_iterable!(HashSet<(X : Eq : Hash)>, insert); [INFO] [stdout] | -------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required for `HashSet` to implement `traversable::TraverseT` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:126:57 [INFO] [stdout] | [INFO] [stdout] 126 | impl<$($_arg,)* $arg $(,$arg_)*, MA, MF, B, MB> $crate::prelude::TraverseT for $ty<$($_arg,)* $arg $(,$arg_)*> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/hash_set.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | derive_traversable_iterable!(HashSet<(X : Eq : Hash)>, insert); [INFO] [stdout] | -------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ----------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA> $(+ $trait, MB: base::data::with_pointed::WithPointed [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `impl crate::prelude::FunctionT: function::FunctionT` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:146:41 [INFO] [stdout] | [INFO] [stdout] 146 | fn traverse_t(self, f: impl $crate::prelude::FunctionT) -> MB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `FnOnce(X)` is not implemented for `impl crate::prelude::FunctionT` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/hash_set.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | derive_traversable_iterable!(HashSet<(X : Eq : Hash)>, insert); [INFO] [stdout] | -------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected a closure with signature `fn(X)` [INFO] [stdout] found a closure with signature `fn( as pointed::Pointed>::Pointed)` [INFO] [stdout] note: required for `impl crate::prelude::FunctionT` to implement `function::FunctionT` [INFO] [stdout] --> crates/glasgae/src/base/data/function/mod.rs:53:15 [INFO] [stdout] | [INFO] [stdout] 53 | impl FunctionT for F [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^ [INFO] [stdout] 54 | where [INFO] [stdout] 55 | F: Term + FnOnce(A) -> B, [INFO] [stdout] | -------------- unsatisfied trait bound introduced here [INFO] [stdout] note: the requirement `impl crate::prelude::FunctionT: function::FunctionT` appears on the `impl`'s method `traverse_t` but not on the corresponding trait's method [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub trait TraverseT: Pointed [INFO] [stdout] | --------- in this trait [INFO] [stdout] ... [INFO] [stdout] 69 | fn traverse_t(self, f: impl FunctionT) -> Self::Traversed; [INFO] [stdout] | ^^^^^^^^^^ this trait's method doesn't have the requirement `impl crate::prelude::FunctionT: function::FunctionT` [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `impl crate::prelude::FunctionT: function::FunctionT` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:146:41 [INFO] [stdout] | [INFO] [stdout] 146 | fn traverse_t(self, f: impl $crate::prelude::FunctionT) -> MB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `impl crate::prelude::FunctionT` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/hash_set.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | derive_traversable_iterable!(HashSet<(X : Eq : Hash)>, insert); [INFO] [stdout] | -------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required for `impl crate::prelude::FunctionT` to implement `term::Term` [INFO] [stdout] --> crates/glasgae/src/base/data/term.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | impl Term for T where T: TermBase + Clone {} [INFO] [stdout] | ^^^^ ^ ----- unsatisfied trait bound introduced here [INFO] [stdout] note: required for `impl crate::prelude::FunctionT` to implement `function::FunctionT` [INFO] [stdout] --> crates/glasgae/src/base/data/function/mod.rs:53:15 [INFO] [stdout] | [INFO] [stdout] 53 | impl FunctionT for F [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^ [INFO] [stdout] 54 | where [INFO] [stdout] 55 | F: Term + FnOnce(A) -> B, [INFO] [stdout] | ---- unsatisfied trait bound introduced here [INFO] [stdout] note: the requirement `impl crate::prelude::FunctionT: function::FunctionT` appears on the `impl`'s method `traverse_t` but not on the corresponding trait's method [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub trait TraverseT: Pointed [INFO] [stdout] | --------- in this trait [INFO] [stdout] ... [INFO] [stdout] 69 | fn traverse_t(self, f: impl FunctionT) -> Self::Traversed; [INFO] [stdout] | ^^^^^^^^^^ this trait's method doesn't have the requirement `impl crate::prelude::FunctionT: function::FunctionT` [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:140:68 [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA> $(+ $trait, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `WithPointed` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:140:68 [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA> $(+ $trait, MB: base::data::with_pointed::WithPointed [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:135:98 [INFO] [stdout] | [INFO] [stdout] 135 | MA: $crate::prelude::Functor<$crate::prelude::Function<$ty, $ty>, Pointed = B, Mapped = MF> [INFO] [stdout] | ^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/hash_set.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | derive_traversable_iterable!(HashSet<(X : Eq : Hash)>, insert); [INFO] [stdout] | -------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA> $(+ $trait, MF: base::data::with_pointed::WithPointed [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `::Pointed == Box, HashSet>>` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:135:98 [INFO] [stdout] | [INFO] [stdout] 135 | MA: $crate::prelude::Functor<$crate::prelude::Function<$ty, $ty>, Pointed = B, Mapped = MF> [INFO] [stdout] | ^^^^^^^^^^^ expected `Box, ...>>`, found associated type [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/hash_set.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | derive_traversable_iterable!(HashSet<(X : Eq : Hash)>, insert); [INFO] [stdout] | -------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box<(dyn function::FunctionT, HashSet> + 'static)>` [INFO] [stdout] found associated type `::Pointed` [INFO] [stdout] = help: consider constraining the associated type `::Pointed` to `Box<(dyn function::FunctionT, HashSet> + 'static)>` [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:126:100 [INFO] [stdout] | [INFO] [stdout] 126 | impl<$($_arg,)* $arg $(,$arg_)*, MA, MF, B, MB> $crate::prelude::TraverseT for $ty<$($_arg,)* $arg $(,$arg_)*> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/hash_set.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | derive_traversable_iterable!(HashSet<(X : Eq : Hash)>, insert); [INFO] [stdout] | -------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required for `HashSet` to implement `traversable::TraverseT` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:126:57 [INFO] [stdout] | [INFO] [stdout] 126 | impl<$($_arg,)* $arg $(,$arg_)*, MA, MF, B, MB> $crate::prelude::TraverseT for $ty<$($_arg,)* $arg $(,$arg_)*> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/hash_set.rs:18:1 [INFO] [stdout] | [INFO] [stdout] 18 | derive_traversable_iterable!(HashSet<(X : Eq : Hash)>, insert); [INFO] [stdout] | -------------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA> $(+ $trait, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | / impl<$($_arg,)* $arg $(,$arg_)*, MA, MF, B, MB> $crate::prelude::TraverseT for $ty<$($_arg,)* $arg $(,$arg_)*> [INFO] [stdout] 127 | | where [INFO] [stdout] 128 | | $( [INFO] [stdout] 129 | | $_arg: $crate::prelude::Term $(+ $_trait)*, [INFO] [stdout] ... | [INFO] [stdout] 139 | | B: $crate::prelude::Term $(+ $trait)*, [INFO] [stdout] 140 | | MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] | |______________________________________________________________________^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/vec_set.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(VecSet<(X: Eq)>, insert); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA> $(+ $trait, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:142:13 [INFO] [stdout] | [INFO] [stdout] 142 | type Mapped = MA; [INFO] [stdout] | ^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/vec_set.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(VecSet<(X: Eq)>, insert); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA> $(+ $trait, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:143:13 [INFO] [stdout] | [INFO] [stdout] 143 | type Value = $crate::prelude::PointedT; [INFO] [stdout] | ^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/vec_set.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(VecSet<(X: Eq)>, insert); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA> $(+ $trait, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:144:13 [INFO] [stdout] | [INFO] [stdout] 144 | type Traversed = MB; [INFO] [stdout] | ^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/vec_set.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(VecSet<(X: Eq)>, insert); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA> $(+ $trait, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:146:13 [INFO] [stdout] | [INFO] [stdout] 146 | fn traverse_t(self, f: impl $crate::prelude::FunctionT) -> MB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/vec_set.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(VecSet<(X: Eq)>, insert); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required for `vector_map::set::VecSet` to implement `traversable::TraverseT` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:126:57 [INFO] [stdout] | [INFO] [stdout] 126 | impl<$($_arg,)* $arg $(,$arg_)*, MA, MF, B, MB> $crate::prelude::TraverseT for $ty<$($_arg,)* $arg $(,$arg_)*> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/vec_set.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(VecSet<(X: Eq)>, insert); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA> $(+ $trait, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:146:13 [INFO] [stdout] | [INFO] [stdout] 146 | fn traverse_t(self, f: impl $crate::prelude::FunctionT) -> MB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/vec_set.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(VecSet<(X: Eq)>, insert); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required for `vector_map::set::VecSet` to implement `traversable::TraverseT` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:126:57 [INFO] [stdout] | [INFO] [stdout] 126 | impl<$($_arg,)* $arg $(,$arg_)*, MA, MF, B, MB> $crate::prelude::TraverseT for $ty<$($_arg,)* $arg $(,$arg_)*> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/vec_set.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(VecSet<(X: Eq)>, insert); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ----------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA> $(+ $trait, MB: base::data::with_pointed::WithPointed [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `impl crate::prelude::FunctionT: function::FunctionT` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:146:41 [INFO] [stdout] | [INFO] [stdout] 146 | fn traverse_t(self, f: impl $crate::prelude::FunctionT) -> MB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `FnOnce(X)` is not implemented for `impl crate::prelude::FunctionT` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/vec_set.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(VecSet<(X: Eq)>, insert); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected a closure with signature `fn(X)` [INFO] [stdout] found a closure with signature `fn( as pointed::Pointed>::Pointed)` [INFO] [stdout] note: required for `impl crate::prelude::FunctionT` to implement `function::FunctionT` [INFO] [stdout] --> crates/glasgae/src/base/data/function/mod.rs:53:15 [INFO] [stdout] | [INFO] [stdout] 53 | impl FunctionT for F [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^ [INFO] [stdout] 54 | where [INFO] [stdout] 55 | F: Term + FnOnce(A) -> B, [INFO] [stdout] | -------------- unsatisfied trait bound introduced here [INFO] [stdout] note: the requirement `impl crate::prelude::FunctionT: function::FunctionT` appears on the `impl`'s method `traverse_t` but not on the corresponding trait's method [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub trait TraverseT: Pointed [INFO] [stdout] | --------- in this trait [INFO] [stdout] ... [INFO] [stdout] 69 | fn traverse_t(self, f: impl FunctionT) -> Self::Traversed; [INFO] [stdout] | ^^^^^^^^^^ this trait's method doesn't have the requirement `impl crate::prelude::FunctionT: function::FunctionT` [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `impl crate::prelude::FunctionT: function::FunctionT` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:146:41 [INFO] [stdout] | [INFO] [stdout] 146 | fn traverse_t(self, f: impl $crate::prelude::FunctionT) -> MB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `impl crate::prelude::FunctionT` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/vec_set.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(VecSet<(X: Eq)>, insert); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required for `impl crate::prelude::FunctionT` to implement `term::Term` [INFO] [stdout] --> crates/glasgae/src/base/data/term.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | impl Term for T where T: TermBase + Clone {} [INFO] [stdout] | ^^^^ ^ ----- unsatisfied trait bound introduced here [INFO] [stdout] note: required for `impl crate::prelude::FunctionT` to implement `function::FunctionT` [INFO] [stdout] --> crates/glasgae/src/base/data/function/mod.rs:53:15 [INFO] [stdout] | [INFO] [stdout] 53 | impl FunctionT for F [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^ [INFO] [stdout] 54 | where [INFO] [stdout] 55 | F: Term + FnOnce(A) -> B, [INFO] [stdout] | ---- unsatisfied trait bound introduced here [INFO] [stdout] note: the requirement `impl crate::prelude::FunctionT: function::FunctionT` appears on the `impl`'s method `traverse_t` but not on the corresponding trait's method [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub trait TraverseT: Pointed [INFO] [stdout] | --------- in this trait [INFO] [stdout] ... [INFO] [stdout] 69 | fn traverse_t(self, f: impl FunctionT) -> Self::Traversed; [INFO] [stdout] | ^^^^^^^^^^ this trait's method doesn't have the requirement `impl crate::prelude::FunctionT: function::FunctionT` [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:140:68 [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA> $(+ $trait, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `WithPointed` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:140:68 [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA> $(+ $trait, MB: base::data::with_pointed::WithPointed [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:135:98 [INFO] [stdout] | [INFO] [stdout] 135 | MA: $crate::prelude::Functor<$crate::prelude::Function<$ty, $ty>, Pointed = B, Mapped = MF> [INFO] [stdout] | ^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/vec_set.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(VecSet<(X: Eq)>, insert); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA> $(+ $trait, MF: base::data::with_pointed::WithPointed [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `::Pointed == Box, VecSet>>` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:135:98 [INFO] [stdout] | [INFO] [stdout] 135 | MA: $crate::prelude::Functor<$crate::prelude::Function<$ty, $ty>, Pointed = B, Mapped = MF> [INFO] [stdout] | ^^^^^^^^^^^ expected `Box, VecSet>>`, found associated type [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/vec_set.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(VecSet<(X: Eq)>, insert); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box<(dyn function::FunctionT, vector_map::set::VecSet> + 'static)>` [INFO] [stdout] found associated type `::Pointed` [INFO] [stdout] = help: consider constraining the associated type `::Pointed` to `Box<(dyn function::FunctionT, vector_map::set::VecSet> + 'static)>` [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:126:100 [INFO] [stdout] | [INFO] [stdout] 126 | impl<$($_arg,)* $arg $(,$arg_)*, MA, MF, B, MB> $crate::prelude::TraverseT for $ty<$($_arg,)* $arg $(,$arg_)*> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/vec_set.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(VecSet<(X: Eq)>, insert); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required for `vector_map::set::VecSet` to implement `traversable::TraverseT` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:126:57 [INFO] [stdout] | [INFO] [stdout] 126 | impl<$($_arg,)* $arg $(,$arg_)*, MA, MF, B, MB> $crate::prelude::TraverseT for $ty<$($_arg,)* $arg $(,$arg_)*> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/set/vec_set.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(VecSet<(X: Eq)>, insert); [INFO] [stdout] | ----------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA> $(+ $trait, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/either/result.rs:123:1 [INFO] [stdout] | [INFO] [stdout] 123 | / impl TraverseT for Result [INFO] [stdout] 124 | | where [INFO] [stdout] 125 | | T: Term, [INFO] [stdout] 126 | | MA: Functor, Pointed = A, Mapped = MB>, [INFO] [stdout] 127 | | MB: PureA>, [INFO] [stdout] 128 | | E: Term, [INFO] [stdout] 129 | | A: Term, [INFO] [stdout] | |____________^ the trait `functor::Functor` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 127 | MB: PureA> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/either/result.rs:131:5 [INFO] [stdout] | [INFO] [stdout] 131 | type Mapped = MA; [INFO] [stdout] | ^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 127 | MB: PureA> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/either/result.rs:132:5 [INFO] [stdout] | [INFO] [stdout] 132 | type Value = A; [INFO] [stdout] | ^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 127 | MB: PureA> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/either/result.rs:133:5 [INFO] [stdout] | [INFO] [stdout] 133 | type Traversed = MB; [INFO] [stdout] | ^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 127 | MB: PureA> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/either/result.rs:135:5 [INFO] [stdout] | [INFO] [stdout] 135 | fn traverse_t(self, f: impl FunctionT) -> MB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] note: required for `Result` to implement `traversable::TraverseT` [INFO] [stdout] --> crates/glasgae/src/base/data/either/result.rs:123:23 [INFO] [stdout] | [INFO] [stdout] 123 | impl TraverseT for Result [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 127 | MB: PureA> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `impl FunctionT: function::FunctionT` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/either/result.rs:135:33 [INFO] [stdout] | [INFO] [stdout] 135 | fn traverse_t(self, f: impl FunctionT) -> MB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `FnOnce(T)` is not implemented for `impl FunctionT` [INFO] [stdout] | [INFO] [stdout] = note: expected a closure with signature `fn(T)` [INFO] [stdout] found a closure with signature `fn( as pointed::Pointed>::Pointed)` [INFO] [stdout] note: required for `impl FunctionT` to implement `function::FunctionT` [INFO] [stdout] --> crates/glasgae/src/base/data/function/mod.rs:53:15 [INFO] [stdout] | [INFO] [stdout] 53 | impl FunctionT for F [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^ [INFO] [stdout] 54 | where [INFO] [stdout] 55 | F: Term + FnOnce(A) -> B, [INFO] [stdout] | -------------- unsatisfied trait bound introduced here [INFO] [stdout] note: the requirement `impl FunctionT: function::FunctionT` appears on the `impl`'s method `traverse_t` but not on the corresponding trait's method [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub trait TraverseT: Pointed [INFO] [stdout] | --------- in this trait [INFO] [stdout] ... [INFO] [stdout] 69 | fn traverse_t(self, f: impl FunctionT) -> Self::Traversed; [INFO] [stdout] | ^^^^^^^^^^ this trait's method doesn't have the requirement `impl FunctionT: function::FunctionT` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `impl FunctionT: function::FunctionT` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/either/result.rs:135:33 [INFO] [stdout] | [INFO] [stdout] 135 | fn traverse_t(self, f: impl FunctionT) -> MB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `impl FunctionT` [INFO] [stdout] | [INFO] [stdout] note: required for `impl FunctionT` to implement `term::Term` [INFO] [stdout] --> crates/glasgae/src/base/data/term.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | impl Term for T where T: TermBase + Clone {} [INFO] [stdout] | ^^^^ ^ ----- unsatisfied trait bound introduced here [INFO] [stdout] note: required for `impl FunctionT` to implement `function::FunctionT` [INFO] [stdout] --> crates/glasgae/src/base/data/function/mod.rs:53:15 [INFO] [stdout] | [INFO] [stdout] 53 | impl FunctionT for F [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^ [INFO] [stdout] 54 | where [INFO] [stdout] 55 | F: Term + FnOnce(A) -> B, [INFO] [stdout] | ---- unsatisfied trait bound introduced here [INFO] [stdout] note: the requirement `impl FunctionT: function::FunctionT` appears on the `impl`'s method `traverse_t` but not on the corresponding trait's method [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub trait TraverseT: Pointed [INFO] [stdout] | --------- in this trait [INFO] [stdout] ... [INFO] [stdout] 69 | fn traverse_t(self, f: impl FunctionT) -> Self::Traversed; [INFO] [stdout] | ^^^^^^^^^^ this trait's method doesn't have the requirement `impl FunctionT: function::FunctionT` [INFO] [stdout] help: consider restricting opaque type `impl FunctionT` with trait `Clone` [INFO] [stdout] | [INFO] [stdout] 135 | fn traverse_t(self, f: impl FunctionT + std::clone::Clone) -> MB { [INFO] [stdout] | +++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/either/result.rs:126:44 [INFO] [stdout] | [INFO] [stdout] 126 | MA: Functor, Pointed = A, Mapped = MB>, [INFO] [stdout] | ^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 127 | MB: PureA> + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/either/result.rs:127:38 [INFO] [stdout] | [INFO] [stdout] 127 | MB: PureA> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/either/result.rs:143:1 [INFO] [stdout] | [INFO] [stdout] 143 | / impl SequenceA<(), A2> for Result [INFO] [stdout] 144 | | where [INFO] [stdout] 145 | | A1: Functor, Pointed = A, Mapped = A2> [INFO] [stdout] 146 | | + WithPointed, Result>>, [INFO] [stdout] 147 | | A2: PureA>, [INFO] [stdout] 148 | | E: Term, [INFO] [stdout] 149 | | A: Term, [INFO] [stdout] | |____________^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 147 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/either/result.rs:151:5 [INFO] [stdout] | [INFO] [stdout] 151 | type Inner = A1; [INFO] [stdout] | ^^^^^^^^^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 147 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/either/result.rs:151:18 [INFO] [stdout] | [INFO] [stdout] 151 | type Inner = A1; [INFO] [stdout] | ^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] note: required for `Result` to implement `traversable::SequenceA<(), A2>` [INFO] [stdout] --> crates/glasgae/src/base/data/either/result.rs:143:20 [INFO] [stdout] | [INFO] [stdout] 143 | impl SequenceA<(), A2> for Result [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 147 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/either/result.rs:152:5 [INFO] [stdout] | [INFO] [stdout] 152 | type Value = PointedT; [INFO] [stdout] | ^^^^^^^^^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 147 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/either/result.rs:153:5 [INFO] [stdout] | [INFO] [stdout] 153 | type Sequenced = A2; [INFO] [stdout] | ^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 147 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/either/result.rs:155:5 [INFO] [stdout] | [INFO] [stdout] 155 | fn sequence_a(self) -> A1::Mapped { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 147 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/either/result.rs:155:5 [INFO] [stdout] | [INFO] [stdout] 155 | fn sequence_a(self) -> A1::Mapped { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] note: required for `Result` to implement `traversable::SequenceA<(), A2>` [INFO] [stdout] --> crates/glasgae/src/base/data/either/result.rs:143:20 [INFO] [stdout] | [INFO] [stdout] 143 | impl SequenceA<(), A2> for Result [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 147 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/either/result.rs:143:20 [INFO] [stdout] | [INFO] [stdout] 143 | impl SequenceA<(), A2> for Result [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] note: required for `Result` to implement `traversable::SequenceA<(), A2>` [INFO] [stdout] --> crates/glasgae/src/base/data/either/result.rs:143:20 [INFO] [stdout] | [INFO] [stdout] 143 | impl SequenceA<(), A2> for Result [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 147 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/either/result.rs:145:44 [INFO] [stdout] | [INFO] [stdout] 145 | A1: Functor, Pointed = A, Mapped = A2> [INFO] [stdout] | ^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 147 | A2: PureA> + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:352:1 [INFO] [stdout] | [INFO] [stdout] 352 | / impl TraverseT for Either [INFO] [stdout] 353 | | where [INFO] [stdout] 354 | | A1: Functor, Pointed = A_, Mapped = A2>, [INFO] [stdout] 355 | | A2: PureA>, [INFO] [stdout] 356 | | E: Term, [INFO] [stdout] 357 | | A: Term, [INFO] [stdout] 358 | | A_: Term, [INFO] [stdout] | |_____________^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 355 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:360:5 [INFO] [stdout] | [INFO] [stdout] 360 | type Mapped = A1; [INFO] [stdout] | ^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 355 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:360:19 [INFO] [stdout] | [INFO] [stdout] 360 | type Mapped = A1; [INFO] [stdout] | ^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] note: required for `either::Either` to implement `traversable::TraverseT` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:352:24 [INFO] [stdout] | [INFO] [stdout] 352 | impl TraverseT for Either [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 355 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:361:5 [INFO] [stdout] | [INFO] [stdout] 361 | type Value = A_; [INFO] [stdout] | ^^^^^^^^^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 355 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:361:18 [INFO] [stdout] | [INFO] [stdout] 361 | type Value = A_; [INFO] [stdout] | ^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] note: required for `either::Either` to implement `traversable::TraverseT` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:352:24 [INFO] [stdout] | [INFO] [stdout] 352 | impl TraverseT for Either [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 355 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:362:5 [INFO] [stdout] | [INFO] [stdout] 362 | type Traversed = A2; [INFO] [stdout] | ^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 355 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: unused imports: `derive_applicative` and `derive_functor` [INFO] [stdout] --> crates/glasgae/src/base/control/zipper/mod.rs:12:13 [INFO] [stdout] | [INFO] [stdout] 12 | use crate::{derive_applicative, derive_functor, derive_pointed, derive_with_pointed, prelude::*}; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:362:22 [INFO] [stdout] | [INFO] [stdout] 362 | type Traversed = A2; [INFO] [stdout] | ^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] note: required for `either::Either` to implement `traversable::TraverseT` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:352:24 [INFO] [stdout] | [INFO] [stdout] 352 | impl TraverseT for Either [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 355 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:364:5 [INFO] [stdout] | [INFO] [stdout] 364 | fn traverse_t(self, f: impl FunctionT) -> A2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] note: required for `either::Either` to implement `traversable::TraverseT` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:352:24 [INFO] [stdout] | [INFO] [stdout] 352 | impl TraverseT for Either [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 355 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `impl FunctionT: function::FunctionT` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:364:33 [INFO] [stdout] | [INFO] [stdout] 364 | fn traverse_t(self, f: impl FunctionT) -> A2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `FnOnce(A)` is not implemented for `impl FunctionT` [INFO] [stdout] | [INFO] [stdout] = note: expected a closure with signature `fn(A)` [INFO] [stdout] found a closure with signature `fn( as pointed::Pointed>::Pointed)` [INFO] [stdout] note: required for `impl FunctionT` to implement `function::FunctionT` [INFO] [stdout] --> crates/glasgae/src/base/data/function/mod.rs:53:15 [INFO] [stdout] | [INFO] [stdout] 53 | impl FunctionT for F [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^ [INFO] [stdout] 54 | where [INFO] [stdout] 55 | F: Term + FnOnce(A) -> B, [INFO] [stdout] | -------------- unsatisfied trait bound introduced here [INFO] [stdout] note: the requirement `impl FunctionT: function::FunctionT` appears on the `impl`'s method `traverse_t` but not on the corresponding trait's method [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub trait TraverseT: Pointed [INFO] [stdout] | --------- in this trait [INFO] [stdout] ... [INFO] [stdout] 69 | fn traverse_t(self, f: impl FunctionT) -> Self::Traversed; [INFO] [stdout] | ^^^^^^^^^^ this trait's method doesn't have the requirement `impl FunctionT: function::FunctionT` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `impl FunctionT: function::FunctionT` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:364:33 [INFO] [stdout] | [INFO] [stdout] 364 | fn traverse_t(self, f: impl FunctionT) -> A2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `impl FunctionT` [INFO] [stdout] | [INFO] [stdout] note: required for `impl FunctionT` to implement `term::Term` [INFO] [stdout] --> crates/glasgae/src/base/data/term.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | impl Term for T where T: TermBase + Clone {} [INFO] [stdout] | ^^^^ ^ ----- unsatisfied trait bound introduced here [INFO] [stdout] note: required for `impl FunctionT` to implement `function::FunctionT` [INFO] [stdout] --> crates/glasgae/src/base/data/function/mod.rs:53:15 [INFO] [stdout] | [INFO] [stdout] 53 | impl FunctionT for F [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^ [INFO] [stdout] 54 | where [INFO] [stdout] 55 | F: Term + FnOnce(A) -> B, [INFO] [stdout] | ---- unsatisfied trait bound introduced here [INFO] [stdout] note: the requirement `impl FunctionT: function::FunctionT` appears on the `impl`'s method `traverse_t` but not on the corresponding trait's method [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub trait TraverseT: Pointed [INFO] [stdout] | --------- in this trait [INFO] [stdout] ... [INFO] [stdout] 69 | fn traverse_t(self, f: impl FunctionT) -> Self::Traversed; [INFO] [stdout] | ^^^^^^^^^^ this trait's method doesn't have the requirement `impl FunctionT: function::FunctionT` [INFO] [stdout] help: consider restricting opaque type `impl FunctionT` with trait `Clone` [INFO] [stdout] | [INFO] [stdout] 364 | fn traverse_t(self, f: impl FunctionT + std::clone::Clone) -> A2 { [INFO] [stdout] | +++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:354:46 [INFO] [stdout] | [INFO] [stdout] 354 | A1: Functor, Pointed = A_, Mapped = A2>, [INFO] [stdout] | ^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 355 | A2: PureA> + base::data::with_pointed::WithPointed, [INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:355:39 [INFO] [stdout] | [INFO] [stdout] 355 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:352:58 [INFO] [stdout] | [INFO] [stdout] 352 | impl TraverseT for Either [INFO] [stdout] | ^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] note: required for `either::Either` to implement `traversable::TraverseT` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:352:24 [INFO] [stdout] | [INFO] [stdout] 352 | impl TraverseT for Either [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 355 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:372:1 [INFO] [stdout] | [INFO] [stdout] 372 | / impl SequenceA<(), A2> for Either [INFO] [stdout] 373 | | where [INFO] [stdout] 374 | | A1: Functor, Pointed = A, Mapped = A2> [INFO] [stdout] 375 | | + WithPointed, Either>>, [INFO] [stdout] 376 | | A2: PureA>, [INFO] [stdout] 377 | | E: Term, [INFO] [stdout] 378 | | A: Term, [INFO] [stdout] | |____________^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 376 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:380:5 [INFO] [stdout] | [INFO] [stdout] 380 | type Inner = A1; [INFO] [stdout] | ^^^^^^^^^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 376 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:380:18 [INFO] [stdout] | [INFO] [stdout] 380 | type Inner = A1; [INFO] [stdout] | ^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] note: required for `either::Either` to implement `traversable::SequenceA<(), A2>` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:372:20 [INFO] [stdout] | [INFO] [stdout] 372 | impl SequenceA<(), A2> for Either [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 376 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:381:5 [INFO] [stdout] | [INFO] [stdout] 381 | type Value = A; [INFO] [stdout] | ^^^^^^^^^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 376 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:382:5 [INFO] [stdout] | [INFO] [stdout] 382 | type Sequenced = A2; [INFO] [stdout] | ^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 376 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:384:5 [INFO] [stdout] | [INFO] [stdout] 384 | fn sequence_a(self) -> A2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 376 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:384:5 [INFO] [stdout] | [INFO] [stdout] 384 | fn sequence_a(self) -> A2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] note: required for `either::Either` to implement `traversable::SequenceA<(), A2>` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:372:20 [INFO] [stdout] | [INFO] [stdout] 372 | impl SequenceA<(), A2> for Either [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 376 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:372:20 [INFO] [stdout] | [INFO] [stdout] 372 | impl SequenceA<(), A2> for Either [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] note: required for `either::Either` to implement `traversable::SequenceA<(), A2>` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:372:20 [INFO] [stdout] | [INFO] [stdout] 372 | impl SequenceA<(), A2> for Either [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 376 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:374:44 [INFO] [stdout] | [INFO] [stdout] 374 | A1: Functor, Pointed = A, Mapped = A2> [INFO] [stdout] | ^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 376 | A2: PureA> + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `<<... as Functor<...>>::Mapped as Pointed>::Pointed == Box<...>` [INFO] [stdout] --> crates/glasgae/src/base/data/functor/identity.rs:84:11 [INFO] [stdout] | [INFO] [stdout] 84 | + Functor, Identity>> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Box, ...>>`, found associated type [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box<(dyn function::FunctionT, functor::identity::Identity> + 'static)>` [INFO] [stdout] found associated type `<, functor::identity::Identity> + 'static)>>>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = help: consider constraining the associated type `<, functor::identity::Identity> + 'static)>>>::Mapped as pointed::Pointed>::Pointed` to `Box<(dyn function::FunctionT, functor::identity::Identity> + 'static)>` [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/glasgae-8194c79139e38ab9.long-type-18186713991180038665.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/functor/identity.rs:100:1 [INFO] [stdout] | [INFO] [stdout] 100 | / impl SequenceA<(), MB> for Identity [INFO] [stdout] 101 | | where [INFO] [stdout] 102 | | MA: PureA [INFO] [stdout] 103 | | + Functor, Identity>, Mapped = MF> [INFO] [stdout] ... | [INFO] [stdout] 106 | | A: Monoid, [INFO] [stdout] 107 | | MB: PureA>, [INFO] [stdout] | |_____________________________________^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 105 | MF: Applicative, Identity, WithA = MB, WithB = MB> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/functor/identity.rs:109:5 [INFO] [stdout] | [INFO] [stdout] 109 | type Inner = MA; [INFO] [stdout] | ^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 105 | MF: Applicative, Identity, WithA = MB, WithB = MB> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/functor/identity.rs:109:18 [INFO] [stdout] | [INFO] [stdout] 109 | type Inner = MA; [INFO] [stdout] | ^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] note: required for `functor::identity::Identity` to implement `traversable::SequenceA<(), MB>` [INFO] [stdout] --> crates/glasgae/src/base/data/functor/identity.rs:100:21 [INFO] [stdout] | [INFO] [stdout] 100 | impl SequenceA<(), MB> for Identity [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 105 | MF: Applicative, Identity, WithA = MB, WithB = MB> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/functor/identity.rs:110:5 [INFO] [stdout] | [INFO] [stdout] 110 | type Value = A; [INFO] [stdout] | ^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 105 | MF: Applicative, Identity, WithA = MB, WithB = MB> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/functor/identity.rs:111:5 [INFO] [stdout] | [INFO] [stdout] 111 | type Sequenced = MB; [INFO] [stdout] | ^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 105 | MF: Applicative, Identity, WithA = MB, WithB = MB> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/functor/identity.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 113 | fn sequence_a(self) -> MB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 105 | MF: Applicative, Identity, WithA = MB, WithB = MB> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/functor/identity.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 113 | fn sequence_a(self) -> MB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] note: required for `functor::identity::Identity` to implement `traversable::SequenceA<(), MB>` [INFO] [stdout] --> crates/glasgae/src/base/data/functor/identity.rs:100:21 [INFO] [stdout] | [INFO] [stdout] 100 | impl SequenceA<(), MB> for Identity [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 105 | MF: Applicative, Identity, WithA = MB, WithB = MB> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/functor/identity.rs:100:21 [INFO] [stdout] | [INFO] [stdout] 100 | impl SequenceA<(), MB> for Identity [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] note: required for `functor::identity::Identity` to implement `traversable::SequenceA<(), MB>` [INFO] [stdout] --> crates/glasgae/src/base/data/functor/identity.rs:100:21 [INFO] [stdout] | [INFO] [stdout] 100 | impl SequenceA<(), MB> for Identity [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 105 | MF: Applicative, Identity, WithA = MB, WithB = MB> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/functor/identity.rs:103:55 [INFO] [stdout] | [INFO] [stdout] 103 | + Functor, Identity>, Mapped = MF> [INFO] [stdout] | ^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 105 | MF: Applicative, Identity, WithA = MB, WithB = MB> + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `::Pointed == Box, Identity>>` [INFO] [stdout] --> crates/glasgae/src/base/data/functor/identity.rs:103:55 [INFO] [stdout] | [INFO] [stdout] 103 | + Functor, Identity>, Mapped = MF> [INFO] [stdout] | ^^^^^^^^^^^ expected `Box, ...>>`, found associated type [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box<(dyn function::FunctionT, functor::identity::Identity> + 'static)>` [INFO] [stdout] found associated type `::Pointed` [INFO] [stdout] = help: consider constraining the associated type `::Pointed` to `Box<(dyn function::FunctionT, functor::identity::Identity> + 'static)>` [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/functor/identity.rs:105:70 [INFO] [stdout] | [INFO] [stdout] 105 | MF: Applicative, Identity, WithA = MB, WithB = MB> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/functor/identity.rs:100:43 [INFO] [stdout] | [INFO] [stdout] 100 | impl SequenceA<(), MB> for Identity [INFO] [stdout] | ^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] note: required for `functor::identity::Identity` to implement `traversable::SequenceA<(), MB>` [INFO] [stdout] --> crates/glasgae/src/base/data/functor/identity.rs:100:21 [INFO] [stdout] | [INFO] [stdout] 100 | impl SequenceA<(), MB> for Identity [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 105 | MF: Applicative, Identity, WithA = MB, WithB = MB> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/maybe/option.rs:110:1 [INFO] [stdout] | [INFO] [stdout] 110 | / impl TraverseT for Option [INFO] [stdout] 111 | | where [INFO] [stdout] 112 | | MA: Functor, Pointed = A, Mapped = MB>, [INFO] [stdout] 113 | | MB: PureA>, [INFO] [stdout] 114 | | T: Term, [INFO] [stdout] 115 | | A: Term, [INFO] [stdout] | |____________^ the trait `functor::Functor` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 113 | MB: PureA> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/maybe/option.rs:117:5 [INFO] [stdout] | [INFO] [stdout] 117 | type Mapped = MA; [INFO] [stdout] | ^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 113 | MB: PureA> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/maybe/option.rs:118:5 [INFO] [stdout] | [INFO] [stdout] 118 | type Value = A; [INFO] [stdout] | ^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 113 | MB: PureA> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/maybe/option.rs:119:5 [INFO] [stdout] | [INFO] [stdout] 119 | type Traversed = MB; [INFO] [stdout] | ^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 113 | MB: PureA> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/maybe/option.rs:121:5 [INFO] [stdout] | [INFO] [stdout] 121 | fn traverse_t(self, f: impl FunctionT) -> Self::Traversed { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] note: required for `Option` to implement `traversable::TraverseT` [INFO] [stdout] --> crates/glasgae/src/base/data/maybe/option.rs:110:20 [INFO] [stdout] | [INFO] [stdout] 110 | impl TraverseT for Option [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 113 | MB: PureA> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/maybe/option.rs:121:33 [INFO] [stdout] | [INFO] [stdout] 121 | fn traverse_t(self, f: impl FunctionT) -> Self::Traversed { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] note: required for `Option` to implement `traversable::TraverseT` [INFO] [stdout] --> crates/glasgae/src/base/data/maybe/option.rs:110:20 [INFO] [stdout] | [INFO] [stdout] 110 | impl TraverseT for Option [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 113 | MB: PureA> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `impl FunctionT: function::FunctionT` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/maybe/option.rs:121:33 [INFO] [stdout] | [INFO] [stdout] 121 | fn traverse_t(self, f: impl FunctionT) -> Self::Traversed { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `FnOnce(T)` is not implemented for `impl FunctionT` [INFO] [stdout] | [INFO] [stdout] = note: expected a closure with signature `fn(T)` [INFO] [stdout] found a closure with signature `fn( as pointed::Pointed>::Pointed)` [INFO] [stdout] note: required for `impl FunctionT` to implement `function::FunctionT` [INFO] [stdout] --> crates/glasgae/src/base/data/function/mod.rs:53:15 [INFO] [stdout] | [INFO] [stdout] 53 | impl FunctionT for F [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^ [INFO] [stdout] 54 | where [INFO] [stdout] 55 | F: Term + FnOnce(A) -> B, [INFO] [stdout] | -------------- unsatisfied trait bound introduced here [INFO] [stdout] note: the requirement `impl FunctionT: function::FunctionT` appears on the `impl`'s method `traverse_t` but not on the corresponding trait's method [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub trait TraverseT: Pointed [INFO] [stdout] | --------- in this trait [INFO] [stdout] ... [INFO] [stdout] 69 | fn traverse_t(self, f: impl FunctionT) -> Self::Traversed; [INFO] [stdout] | ^^^^^^^^^^ this trait's method doesn't have the requirement `impl FunctionT: function::FunctionT` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `impl FunctionT: function::FunctionT` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/maybe/option.rs:121:33 [INFO] [stdout] | [INFO] [stdout] 121 | fn traverse_t(self, f: impl FunctionT) -> Self::Traversed { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `impl FunctionT` [INFO] [stdout] | [INFO] [stdout] note: required for `impl FunctionT` to implement `term::Term` [INFO] [stdout] --> crates/glasgae/src/base/data/term.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | impl Term for T where T: TermBase + Clone {} [INFO] [stdout] | ^^^^ ^ ----- unsatisfied trait bound introduced here [INFO] [stdout] note: required for `impl FunctionT` to implement `function::FunctionT` [INFO] [stdout] --> crates/glasgae/src/base/data/function/mod.rs:53:15 [INFO] [stdout] | [INFO] [stdout] 53 | impl FunctionT for F [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^ [INFO] [stdout] 54 | where [INFO] [stdout] 55 | F: Term + FnOnce(A) -> B, [INFO] [stdout] | ---- unsatisfied trait bound introduced here [INFO] [stdout] note: the requirement `impl FunctionT: function::FunctionT` appears on the `impl`'s method `traverse_t` but not on the corresponding trait's method [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub trait TraverseT: Pointed [INFO] [stdout] | --------- in this trait [INFO] [stdout] ... [INFO] [stdout] 69 | fn traverse_t(self, f: impl FunctionT) -> Self::Traversed; [INFO] [stdout] | ^^^^^^^^^^ this trait's method doesn't have the requirement `impl FunctionT: function::FunctionT` [INFO] [stdout] help: consider restricting opaque type `impl FunctionT` with trait `Clone` [INFO] [stdout] | [INFO] [stdout] 121 | fn traverse_t(self, f: impl FunctionT + std::clone::Clone) -> Self::Traversed { [INFO] [stdout] | +++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/maybe/option.rs:112:41 [INFO] [stdout] | [INFO] [stdout] 112 | MA: Functor, Pointed = A, Mapped = MB>, [INFO] [stdout] | ^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 113 | MB: PureA> + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/maybe/option.rs:113:35 [INFO] [stdout] | [INFO] [stdout] 113 | MB: PureA> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/maybe/option.rs:129:1 [INFO] [stdout] | [INFO] [stdout] 129 | / impl SequenceA<(), A2> for Option [INFO] [stdout] 130 | | where [INFO] [stdout] 131 | | A1: Clone [INFO] [stdout] 132 | | + Functor, Pointed = A_, Mapped = A2> [INFO] [stdout] 133 | | + WithPointed, Option>>, [INFO] [stdout] 134 | | A_: Term, [INFO] [stdout] 135 | | A2: PureA>, [INFO] [stdout] | |____________________________________^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 135 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/maybe/option.rs:137:5 [INFO] [stdout] | [INFO] [stdout] 137 | type Inner = A1; [INFO] [stdout] | ^^^^^^^^^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 135 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/maybe/option.rs:137:18 [INFO] [stdout] | [INFO] [stdout] 137 | type Inner = A1; [INFO] [stdout] | ^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] note: required for `Option` to implement `traversable::SequenceA<(), A2>` [INFO] [stdout] --> crates/glasgae/src/base/data/maybe/option.rs:129:18 [INFO] [stdout] | [INFO] [stdout] 129 | impl SequenceA<(), A2> for Option [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 135 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/maybe/option.rs:138:5 [INFO] [stdout] | [INFO] [stdout] 138 | type Value = PointedT; [INFO] [stdout] | ^^^^^^^^^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 135 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/maybe/option.rs:139:5 [INFO] [stdout] | [INFO] [stdout] 139 | type Sequenced = A2; [INFO] [stdout] | ^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 135 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/maybe/option.rs:141:5 [INFO] [stdout] | [INFO] [stdout] 141 | fn sequence_a(self) -> A2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 135 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/maybe/option.rs:141:5 [INFO] [stdout] | [INFO] [stdout] 141 | fn sequence_a(self) -> A2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] note: required for `Option` to implement `traversable::SequenceA<(), A2>` [INFO] [stdout] --> crates/glasgae/src/base/data/maybe/option.rs:129:18 [INFO] [stdout] | [INFO] [stdout] 129 | impl SequenceA<(), A2> for Option [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 135 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/maybe/option.rs:129:18 [INFO] [stdout] | [INFO] [stdout] 129 | impl SequenceA<(), A2> for Option [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] note: required for `Option` to implement `traversable::SequenceA<(), A2>` [INFO] [stdout] --> crates/glasgae/src/base/data/maybe/option.rs:129:18 [INFO] [stdout] | [INFO] [stdout] 129 | impl SequenceA<(), A2> for Option [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 135 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/maybe/option.rs:132:45 [INFO] [stdout] | [INFO] [stdout] 132 | + Functor, Pointed = A_, Mapped = A2> [INFO] [stdout] | ^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 135 | A2: PureA> + base::data::with_pointed::WithPointed, [INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/maybe.rs:162:1 [INFO] [stdout] | [INFO] [stdout] 162 | / impl TraverseT for Maybe [INFO] [stdout] 163 | | where [INFO] [stdout] 164 | | MA: Functor, Pointed = A, Mapped = MB>, [INFO] [stdout] 165 | | MB: PureA>, [INFO] [stdout] 166 | | T: Term, [INFO] [stdout] 167 | | A: Term, [INFO] [stdout] | |____________^ the trait `functor::Functor` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 165 | MB: PureA> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/maybe.rs:169:5 [INFO] [stdout] | [INFO] [stdout] 169 | type Mapped = MA; [INFO] [stdout] | ^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 165 | MB: PureA> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/maybe.rs:170:5 [INFO] [stdout] | [INFO] [stdout] 170 | type Value = A; [INFO] [stdout] | ^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 165 | MB: PureA> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/maybe.rs:171:5 [INFO] [stdout] | [INFO] [stdout] 171 | type Traversed = MB; [INFO] [stdout] | ^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 165 | MB: PureA> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/maybe.rs:173:5 [INFO] [stdout] | [INFO] [stdout] 173 | fn traverse_t(self, f: impl FunctionT) -> Self::Traversed { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] note: required for `data::maybe::Maybe` to implement `traversable::TraverseT` [INFO] [stdout] --> crates/glasgae/src/base/data/maybe.rs:162:20 [INFO] [stdout] | [INFO] [stdout] 162 | impl TraverseT for Maybe [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 165 | MB: PureA> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/maybe.rs:173:33 [INFO] [stdout] | [INFO] [stdout] 173 | fn traverse_t(self, f: impl FunctionT) -> Self::Traversed { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] note: required for `data::maybe::Maybe` to implement `traversable::TraverseT` [INFO] [stdout] --> crates/glasgae/src/base/data/maybe.rs:162:20 [INFO] [stdout] | [INFO] [stdout] 162 | impl TraverseT for Maybe [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 165 | MB: PureA> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `impl FunctionT: function::FunctionT` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/maybe.rs:173:33 [INFO] [stdout] | [INFO] [stdout] 173 | fn traverse_t(self, f: impl FunctionT) -> Self::Traversed { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `FnOnce(T)` is not implemented for `impl FunctionT` [INFO] [stdout] | [INFO] [stdout] = note: expected a closure with signature `fn(T)` [INFO] [stdout] found a closure with signature `fn( as pointed::Pointed>::Pointed)` [INFO] [stdout] note: required for `impl FunctionT` to implement `function::FunctionT` [INFO] [stdout] --> crates/glasgae/src/base/data/function/mod.rs:53:15 [INFO] [stdout] | [INFO] [stdout] 53 | impl FunctionT for F [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^ [INFO] [stdout] 54 | where [INFO] [stdout] 55 | F: Term + FnOnce(A) -> B, [INFO] [stdout] | -------------- unsatisfied trait bound introduced here [INFO] [stdout] note: the requirement `impl FunctionT: function::FunctionT` appears on the `impl`'s method `traverse_t` but not on the corresponding trait's method [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub trait TraverseT: Pointed [INFO] [stdout] | --------- in this trait [INFO] [stdout] ... [INFO] [stdout] 69 | fn traverse_t(self, f: impl FunctionT) -> Self::Traversed; [INFO] [stdout] | ^^^^^^^^^^ this trait's method doesn't have the requirement `impl FunctionT: function::FunctionT` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `impl FunctionT: function::FunctionT` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/maybe.rs:173:33 [INFO] [stdout] | [INFO] [stdout] 173 | fn traverse_t(self, f: impl FunctionT) -> Self::Traversed { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `impl FunctionT` [INFO] [stdout] | [INFO] [stdout] note: required for `impl FunctionT` to implement `term::Term` [INFO] [stdout] --> crates/glasgae/src/base/data/term.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | impl Term for T where T: TermBase + Clone {} [INFO] [stdout] | ^^^^ ^ ----- unsatisfied trait bound introduced here [INFO] [stdout] note: required for `impl FunctionT` to implement `function::FunctionT` [INFO] [stdout] --> crates/glasgae/src/base/data/function/mod.rs:53:15 [INFO] [stdout] | [INFO] [stdout] 53 | impl FunctionT for F [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^ [INFO] [stdout] 54 | where [INFO] [stdout] 55 | F: Term + FnOnce(A) -> B, [INFO] [stdout] | ---- unsatisfied trait bound introduced here [INFO] [stdout] note: the requirement `impl FunctionT: function::FunctionT` appears on the `impl`'s method `traverse_t` but not on the corresponding trait's method [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub trait TraverseT: Pointed [INFO] [stdout] | --------- in this trait [INFO] [stdout] ... [INFO] [stdout] 69 | fn traverse_t(self, f: impl FunctionT) -> Self::Traversed; [INFO] [stdout] | ^^^^^^^^^^ this trait's method doesn't have the requirement `impl FunctionT: function::FunctionT` [INFO] [stdout] help: consider restricting opaque type `impl FunctionT` with trait `Clone` [INFO] [stdout] | [INFO] [stdout] 173 | fn traverse_t(self, f: impl FunctionT + std::clone::Clone) -> Self::Traversed { [INFO] [stdout] | +++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/maybe.rs:164:40 [INFO] [stdout] | [INFO] [stdout] 164 | MA: Functor, Pointed = A, Mapped = MB>, [INFO] [stdout] | ^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 165 | MB: PureA> + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/maybe.rs:165:34 [INFO] [stdout] | [INFO] [stdout] 165 | MB: PureA> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/maybe.rs:181:1 [INFO] [stdout] | [INFO] [stdout] 181 | / impl SequenceA<(), A2> for Maybe [INFO] [stdout] 182 | | where [INFO] [stdout] 183 | | A1: Functor, Pointed = A_, Mapped = A2> + WithPointed, Maybe>>, [INFO] [stdout] 184 | | A_: Term, [INFO] [stdout] 185 | | A2: PureA>, [INFO] [stdout] | |___________________________________^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 185 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/maybe.rs:187:5 [INFO] [stdout] | [INFO] [stdout] 187 | type Inner = A1; [INFO] [stdout] | ^^^^^^^^^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 185 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/maybe.rs:187:18 [INFO] [stdout] | [INFO] [stdout] 187 | type Inner = A1; [INFO] [stdout] | ^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] note: required for `data::maybe::Maybe` to implement `traversable::SequenceA<(), A2>` [INFO] [stdout] --> crates/glasgae/src/base/data/maybe.rs:181:18 [INFO] [stdout] | [INFO] [stdout] 181 | impl SequenceA<(), A2> for Maybe [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 185 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/maybe.rs:188:5 [INFO] [stdout] | [INFO] [stdout] 188 | type Value = PointedT; [INFO] [stdout] | ^^^^^^^^^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 185 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/maybe.rs:189:5 [INFO] [stdout] | [INFO] [stdout] 189 | type Sequenced = A2; [INFO] [stdout] | ^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 185 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/maybe.rs:191:5 [INFO] [stdout] | [INFO] [stdout] 191 | fn sequence_a(self) -> A2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 185 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/maybe.rs:191:5 [INFO] [stdout] | [INFO] [stdout] 191 | fn sequence_a(self) -> A2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] note: required for `data::maybe::Maybe` to implement `traversable::SequenceA<(), A2>` [INFO] [stdout] --> crates/glasgae/src/base/data/maybe.rs:181:18 [INFO] [stdout] | [INFO] [stdout] 181 | impl SequenceA<(), A2> for Maybe [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 185 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/maybe.rs:181:18 [INFO] [stdout] | [INFO] [stdout] 181 | impl SequenceA<(), A2> for Maybe [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] note: required for `data::maybe::Maybe` to implement `traversable::SequenceA<(), A2>` [INFO] [stdout] --> crates/glasgae/src/base/data/maybe.rs:181:18 [INFO] [stdout] | [INFO] [stdout] 181 | impl SequenceA<(), A2> for Maybe [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ ^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 185 | A2: PureA> + base::data::functor::Functor, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/maybe.rs:183:42 [INFO] [stdout] | [INFO] [stdout] 183 | A1: Functor, Pointed = A_, Mapped = A2> + WithPointed, Maybe>>, [INFO] [stdout] | ^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 185 | A2: PureA> + base::data::with_pointed::WithPointed, [INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `::Pointed == A1` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:77:11 [INFO] [stdout] | [INFO] [stdout] 72 | pub fn traverse_t_default( [INFO] [stdout] | -- expected this type parameter [INFO] [stdout] ... [INFO] [stdout] 77 | This: Functor, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ expected type parameter `A1`, found associated type [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `A1` [INFO] [stdout] found associated type `::Pointed` [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] help: consider further restricting this bound [INFO] [stdout] | [INFO] [stdout] 78 | AF: SequenceA, [INFO] [stdout] | ++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `This: with_pointed::WithPointed<::Pointed>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `with_pointed::WithPointed<::Pointed>` is not implemented for `This` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `This` with trait `WithPointed` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:77:35 [INFO] [stdout] | [INFO] [stdout] 77 | This: Functor + base::data::with_pointed::WithPointed<::Pointed>, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving ` as WithPointed<...>>::WithPointed == Vec<...>` [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | WithA = Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ type mismatch resolving ` as WithPointed<...>>::WithPointed == Vec<...>` [INFO] [stdout] | [INFO] [stdout] note: expected this to be `Vec>` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:27:32 [INFO] [stdout] | [INFO] [stdout] 27 | type WithPointed = $ty<$($_arg,)* U $(, $arg_)*>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/vec.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | derive_with_pointed!(Vec<(X)>); [INFO] [stdout] | ------------------------------ in this macro invocation [INFO] [stdout] = note: expected struct `Vec>` [INFO] [stdout] found struct `Vec<> as pointed::Pointed>::Pointed>` [INFO] [stdout] = help: consider constraining the associated type `> as pointed::Pointed>::Pointed` to `RoseTree` [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/glasgae-8194c79139e38ab9.long-type-6671265955209339262.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 `derive_with_pointed` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `> as Pointed>::Pointed == Vec>` [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | WithA = Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ type mismatch resolving `> as Pointed>::Pointed == Vec>` [INFO] [stdout] | [INFO] [stdout] note: expected this to be `Vec>` [INFO] [stdout] --> crates/glasgae/src/base/data/pointed.rs:28:28 [INFO] [stdout] | [INFO] [stdout] 28 | type Pointed = $arg; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/vec.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | derive_pointed!(Vec<(X)>); [INFO] [stdout] | ------------------------- in this macro invocation [INFO] [stdout] = note: expected struct `Vec>` [INFO] [stdout] found struct `RoseTree<_>` [INFO] [stdout] = note: this error originates in the macro `derive_pointed` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `> as Pointed>::Pointed == Vec>` [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | WithA = Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ type mismatch resolving `> as Pointed>::Pointed == Vec>` [INFO] [stdout] | [INFO] [stdout] note: expected this to be `Vec>` [INFO] [stdout] --> crates/glasgae/src/base/data/pointed.rs:28:28 [INFO] [stdout] | [INFO] [stdout] 28 | type Pointed = $arg; [INFO] [stdout] | ^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/vec.rs:10:1 [INFO] [stdout] | [INFO] [stdout] 10 | derive_pointed!(Vec<(X)>); [INFO] [stdout] | ------------------------- in this macro invocation [INFO] [stdout] = note: expected struct `Vec>` [INFO] [stdout] found struct `RoseTree<_>` [INFO] [stdout] note: required by a bound in `applicative::AppA` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `AppA` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/control/applicative.rs:128:11 [INFO] [stdout] | [INFO] [stdout] 128 | pub trait AppA: WithPointed + WithPointed { [INFO] [stdout] | ---- required by a bound in this trait [INFO] [stdout] = note: this error originates in the macro `derive_pointed` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving ` as WithPointed<...>>::WithPointed == Vec<...>` [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:52:9 [INFO] [stdout] | [INFO] [stdout] 52 | WithA = Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ type mismatch resolving ` as WithPointed<...>>::WithPointed == Vec<...>` [INFO] [stdout] | [INFO] [stdout] note: expected this to be `Vec>` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:27:32 [INFO] [stdout] | [INFO] [stdout] 27 | type WithPointed = $ty<$($_arg,)* U $(, $arg_)*>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/vec.rs:11:1 [INFO] [stdout] | [INFO] [stdout] 11 | derive_with_pointed!(Vec<(X)>); [INFO] [stdout] | ------------------------------ in this macro invocation [INFO] [stdout] = note: expected struct `Vec>` [INFO] [stdout] found struct `Vec<> as pointed::Pointed>::Pointed>` [INFO] [stdout] = help: consider constraining the associated type `> as pointed::Pointed>::Pointed` to `RoseTree` [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html [INFO] [stdout] note: required by a bound in `applicative::AppA` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:63 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ required by this bound in `AppA` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/control/applicative.rs:128:11 [INFO] [stdout] | [INFO] [stdout] 128 | pub trait AppA: WithPointed + WithPointed { [INFO] [stdout] | ---- required by a bound in this trait [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/glasgae-8194c79139e38ab9.long-type-11517809504478027536.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 `derive_with_pointed` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `AF3: functor::Functor>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:120:1 [INFO] [stdout] | [INFO] [stdout] 120 | / impl TraverseT for RoseTree [INFO] [stdout] 121 | | where [INFO] [stdout] 122 | | T: Term, [INFO] [stdout] 123 | | A1: Pointed [INFO] [stdout] ... | [INFO] [stdout] 132 | | + WithPointed>, WithPointed = A2>, [INFO] [stdout] 133 | | AF3: Applicative>, Vec>, WithA = A2, WithB = A2>, [INFO] [stdout] | |_________________________________________________________________________________^ the trait `functor::Functor>` is not implemented for `AF3` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `AF3` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 133 | AF3: Applicative>, Vec>, WithA = A2, WithB = A2> + base::data::functor::Functor>, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `AF1: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:120:1 [INFO] [stdout] | [INFO] [stdout] 120 | / impl TraverseT for RoseTree [INFO] [stdout] 121 | | where [INFO] [stdout] 122 | | T: Term, [INFO] [stdout] 123 | | A1: Pointed [INFO] [stdout] ... | [INFO] [stdout] 132 | | + WithPointed>, WithPointed = A2>, [INFO] [stdout] 133 | | AF3: Applicative>, Vec>, WithA = A2, WithB = A2>, [INFO] [stdout] | |_________________________________________________________________________________^ the trait `functor::Functor` is not implemented for `AF1` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `AF1` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 127 | AF1: Applicative>, RoseTree, WithA = A2, WithB = A3> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `AF3: functor::Functor>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:135:5 [INFO] [stdout] | [INFO] [stdout] 135 | type Mapped = A1; [INFO] [stdout] | ^^^^^^^^^^^ the trait `functor::Functor>` is not implemented for `AF3` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `AF3` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 133 | AF3: Applicative>, Vec>, WithA = A2, WithB = A2> + base::data::functor::Functor>, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `AF1: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:135:5 [INFO] [stdout] | [INFO] [stdout] 135 | type Mapped = A1; [INFO] [stdout] | ^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `AF1` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `AF1` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 127 | AF1: Applicative>, RoseTree, WithA = A2, WithB = A3> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `AF3: functor::Functor>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:136:5 [INFO] [stdout] | [INFO] [stdout] 136 | type Value = A; [INFO] [stdout] | ^^^^^^^^^^ the trait `functor::Functor>` is not implemented for `AF3` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `AF3` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 133 | AF3: Applicative>, Vec>, WithA = A2, WithB = A2> + base::data::functor::Functor>, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `AF1: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:136:5 [INFO] [stdout] | [INFO] [stdout] 136 | type Value = A; [INFO] [stdout] | ^^^^^^^^^^ the trait `functor::Functor` is not implemented for `AF1` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `AF1` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 127 | AF1: Applicative>, RoseTree, WithA = A2, WithB = A3> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `AF3: functor::Functor>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:137:5 [INFO] [stdout] | [INFO] [stdout] 137 | type Traversed = A3; [INFO] [stdout] | ^^^^^^^^^^^^^^ the trait `functor::Functor>` is not implemented for `AF3` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `AF3` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 133 | AF3: Applicative>, Vec>, WithA = A2, WithB = A2> + base::data::functor::Functor>, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `AF1: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:137:5 [INFO] [stdout] | [INFO] [stdout] 137 | type Traversed = A3; [INFO] [stdout] | ^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `AF1` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `AF1` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 127 | AF1: Applicative>, RoseTree, WithA = A2, WithB = A3> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `AF1: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:139:5 [INFO] [stdout] | [INFO] [stdout] 139 | fn traverse_t(self, f: impl FunctionT) -> A3 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `AF1` [INFO] [stdout] | [INFO] [stdout] note: required for `RoseTree` to implement `traversable::TraverseT` [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:120:34 [INFO] [stdout] | [INFO] [stdout] 120 | impl TraverseT for RoseTree [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `AF1` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 127 | AF1: Applicative>, RoseTree, WithA = A2, WithB = A3> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:139:5 [INFO] [stdout] | [INFO] [stdout] 139 | fn traverse_t(self, f: impl FunctionT) -> A3 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] note: required for `RoseTree` to implement `traversable::TraverseT` [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:120:34 [INFO] [stdout] | [INFO] [stdout] 120 | impl TraverseT for RoseTree [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ----------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 129 | A2: PureA>> + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A3: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:139:5 [INFO] [stdout] | [INFO] [stdout] 139 | fn traverse_t(self, f: impl FunctionT) -> A3 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `A3` [INFO] [stdout] | [INFO] [stdout] note: required for `RoseTree` to implement `traversable::TraverseT` [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:120:34 [INFO] [stdout] | [INFO] [stdout] 120 | impl TraverseT for RoseTree [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ----------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `AF3: functor::Functor>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:139:5 [INFO] [stdout] | [INFO] [stdout] 139 | fn traverse_t(self, f: impl FunctionT) -> A3 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor>` is not implemented for `AF3` [INFO] [stdout] | [INFO] [stdout] note: required for `RoseTree` to implement `traversable::TraverseT` [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:120:34 [INFO] [stdout] | [INFO] [stdout] 120 | impl TraverseT for RoseTree [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `AF3` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 133 | AF3: Applicative>, Vec>, WithA = A2, WithB = A2> + base::data::functor::Functor>, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: with_pointed::WithPointed>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:139:5 [INFO] [stdout] | [INFO] [stdout] 139 | fn traverse_t(self, f: impl FunctionT) -> A3 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `with_pointed::WithPointed>` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] note: required for `RoseTree` to implement `traversable::TraverseT` [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:120:34 [INFO] [stdout] | [INFO] [stdout] 120 | impl TraverseT for RoseTree [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ----------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 129 | A2: PureA>> + base::data::with_pointed::WithPointed>, [INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `impl FunctionT: function::FunctionT` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:139:33 [INFO] [stdout] | [INFO] [stdout] 139 | fn traverse_t(self, f: impl FunctionT) -> A3 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ the trait `FnOnce(T)` is not implemented for `impl FunctionT` [INFO] [stdout] | [INFO] [stdout] = note: expected a closure with signature `fn(T)` [INFO] [stdout] found a closure with signature `fn( as pointed::Pointed>::Pointed)` [INFO] [stdout] note: required for `impl FunctionT` to implement `function::FunctionT` [INFO] [stdout] --> crates/glasgae/src/base/data/function/mod.rs:53:15 [INFO] [stdout] | [INFO] [stdout] 53 | impl FunctionT for F [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^ [INFO] [stdout] 54 | where [INFO] [stdout] 55 | F: Term + FnOnce(A) -> B, [INFO] [stdout] | -------------- unsatisfied trait bound introduced here [INFO] [stdout] note: the requirement `impl FunctionT: function::FunctionT` appears on the `impl`'s method `traverse_t` but not on the corresponding trait's method [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub trait TraverseT: Pointed [INFO] [stdout] | --------- in this trait [INFO] [stdout] ... [INFO] [stdout] 69 | fn traverse_t(self, f: impl FunctionT) -> Self::Traversed; [INFO] [stdout] | ^^^^^^^^^^ this trait's method doesn't have the requirement `impl FunctionT: function::FunctionT` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `impl FunctionT: function::FunctionT` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:139:33 [INFO] [stdout] | [INFO] [stdout] 139 | fn traverse_t(self, f: impl FunctionT) -> A3 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `impl FunctionT` [INFO] [stdout] | [INFO] [stdout] note: required for `impl FunctionT` to implement `term::Term` [INFO] [stdout] --> crates/glasgae/src/base/data/term.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | impl Term for T where T: TermBase + Clone {} [INFO] [stdout] | ^^^^ ^ ----- unsatisfied trait bound introduced here [INFO] [stdout] note: required for `impl FunctionT` to implement `function::FunctionT` [INFO] [stdout] --> crates/glasgae/src/base/data/function/mod.rs:53:15 [INFO] [stdout] | [INFO] [stdout] 53 | impl FunctionT for F [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^ [INFO] [stdout] 54 | where [INFO] [stdout] 55 | F: Term + FnOnce(A) -> B, [INFO] [stdout] | ---- unsatisfied trait bound introduced here [INFO] [stdout] note: the requirement `impl FunctionT: function::FunctionT` appears on the `impl`'s method `traverse_t` but not on the corresponding trait's method [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub trait TraverseT: Pointed [INFO] [stdout] | --------- in this trait [INFO] [stdout] ... [INFO] [stdout] 69 | fn traverse_t(self, f: impl FunctionT) -> Self::Traversed; [INFO] [stdout] | ^^^^^^^^^^ this trait's method doesn't have the requirement `impl FunctionT: function::FunctionT` [INFO] [stdout] help: consider restricting opaque type `impl FunctionT` with trait `Clone` [INFO] [stdout] | [INFO] [stdout] 139 | fn traverse_t(self, f: impl FunctionT + std::clone::Clone) -> A3 { [INFO] [stdout] | +++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `AF1: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:124:60 [INFO] [stdout] | [INFO] [stdout] 124 | + Functor>, RoseTree>, Mapped = AF1> [INFO] [stdout] | ^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `AF1` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `AF1` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 127 | AF1: Applicative>, RoseTree, WithA = A2, WithB = A3> + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `::Pointed == Box>, RoseTree>>` [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:124:60 [INFO] [stdout] | [INFO] [stdout] 124 | + Functor>, RoseTree>, Mapped = AF1> [INFO] [stdout] | ^^^^^^^^^^^^ expected `Box, ...>>`, found associated type [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box<(dyn function::FunctionT>, RoseTree> + 'static)>` [INFO] [stdout] found associated type `::Pointed` [INFO] [stdout] = help: consider constraining the associated type `::Pointed` to `Box<(dyn function::FunctionT>, RoseTree> + 'static)>` [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `AF3: with_pointed::WithPointed>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:131:65 [INFO] [stdout] | [INFO] [stdout] 131 | + Functor>, Vec>>, Mapped = AF3> [INFO] [stdout] | ^^^^^^^^^^^^ the trait `with_pointed::WithPointed>` is not implemented for `AF3` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `AF3` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 133 | AF3: Applicative>, Vec>, WithA = A2, WithB = A2> + base::data::with_pointed::WithPointed>, [INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `::Pointed == Box>, Vec>>>` [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:131:65 [INFO] [stdout] | [INFO] [stdout] 131 | + Functor>, Vec>>, Mapped = AF3> [INFO] [stdout] | ^^^^^^^^^^^^ expected `Box, ...>>`, found associated type [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box<(dyn function::FunctionT>, Vec>> + 'static)>` [INFO] [stdout] found associated type `::Pointed` [INFO] [stdout] = help: consider constraining the associated type `::Pointed` to `Box<(dyn function::FunctionT>, Vec>> + 'static)>` [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `AF1: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `AF1` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `AF1` with trait `Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:127:76 [INFO] [stdout] | [INFO] [stdout] 127 | AF1: Applicative>, RoseTree, WithA = A2, WithB = A3> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `WithPointed` [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:129:42 [INFO] [stdout] | [INFO] [stdout] 129 | A2: PureA>> + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A3: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `A3` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `AF3: functor::Functor>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor>` is not implemented for `AF3` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `AF3` with trait `Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:133:81 [INFO] [stdout] | [INFO] [stdout] 133 | AF3: Applicative>, Vec>, WithA = A2, WithB = A2> + base::data::functor::Functor>, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: with_pointed::WithPointed>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `with_pointed::WithPointed>` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `WithPointed` [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:129:42 [INFO] [stdout] | [INFO] [stdout] 129 | A2: PureA>> + base::data::with_pointed::WithPointed>, [INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `AF1: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:120:60 [INFO] [stdout] | [INFO] [stdout] 120 | impl TraverseT for RoseTree [INFO] [stdout] | ^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `AF1` [INFO] [stdout] | [INFO] [stdout] note: required for `RoseTree` to implement `traversable::TraverseT` [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:120:34 [INFO] [stdout] | [INFO] [stdout] 120 | impl TraverseT for RoseTree [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `AF1` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 127 | AF1: Applicative>, RoseTree, WithA = A2, WithB = A3> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `AF3: functor::Functor>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:120:60 [INFO] [stdout] | [INFO] [stdout] 120 | impl TraverseT for RoseTree [INFO] [stdout] | ^^^^^^^^^^^ the trait `functor::Functor>` is not implemented for `AF3` [INFO] [stdout] | [INFO] [stdout] note: required for `RoseTree` to implement `traversable::TraverseT` [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:120:34 [INFO] [stdout] | [INFO] [stdout] 120 | impl TraverseT for RoseTree [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `AF3` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 133 | AF3: Applicative>, Vec>, WithA = A2, WithB = A2> + base::data::functor::Functor>, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `AF3: functor::Functor>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:144:1 [INFO] [stdout] | [INFO] [stdout] 144 | / fn rose_tree_traverse( [INFO] [stdout] 145 | | RoseTree(x, xs): RoseTree, [INFO] [stdout] 146 | | f: impl FunctionT, [INFO] [stdout] 147 | | ) -> A3 [INFO] [stdout] ... | [INFO] [stdout] 159 | | + WithPointed>, WithPointed = A2>, [INFO] [stdout] 160 | | AF3: Applicative>, Vec>, WithA = A2, WithB = A2>, [INFO] [stdout] | |_________________________________________________________________________________^ the trait `functor::Functor>` is not implemented for `AF3` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `AF3` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 160 | AF3: Applicative>, Vec>, WithA = A2, WithB = A2> + base::data::functor::Functor>, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `AF1: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:144:1 [INFO] [stdout] | [INFO] [stdout] 144 | / fn rose_tree_traverse( [INFO] [stdout] 145 | | RoseTree(x, xs): RoseTree, [INFO] [stdout] 146 | | f: impl FunctionT, [INFO] [stdout] 147 | | ) -> A3 [INFO] [stdout] ... | [INFO] [stdout] 159 | | + WithPointed>, WithPointed = A2>, [INFO] [stdout] 160 | | AF3: Applicative>, Vec>, WithA = A2, WithB = A2>, [INFO] [stdout] | |_________________________________________________________________________________^ the trait `functor::Functor` is not implemented for `AF1` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `AF1` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 154 | AF1: Applicative>, RoseTree, WithA = A2, WithB = A3> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `AF1: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:151:11 [INFO] [stdout] | [INFO] [stdout] 151 | + Functor>, RoseTree>, Mapped = AF1> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `AF1` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `AF1` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 154 | AF1: Applicative>, RoseTree, WithA = A2, WithB = A3> + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `::Pointed == Box>, RoseTree>>` [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:151:11 [INFO] [stdout] | [INFO] [stdout] 151 | + Functor>, RoseTree>, Mapped = AF1> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Box, ...>>`, found associated type [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box<(dyn function::FunctionT>, RoseTree> + 'static)>` [INFO] [stdout] found associated type `::Pointed` [INFO] [stdout] = help: consider constraining the associated type `::Pointed` to `Box<(dyn function::FunctionT>, RoseTree> + 'static)>` [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `AF3: with_pointed::WithPointed>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:158:11 [INFO] [stdout] | [INFO] [stdout] 158 | + Functor>, Vec>>, Mapped = AF3> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `with_pointed::WithPointed>` is not implemented for `AF3` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `AF3` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 160 | AF3: Applicative>, Vec>, WithA = A2, WithB = A2> + base::data::with_pointed::WithPointed>, [INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `::Pointed == Box>, Vec>>>` [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:158:11 [INFO] [stdout] | [INFO] [stdout] 158 | + Functor>, Vec>>, Mapped = AF3> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Box, ...>>`, found associated type [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box<(dyn function::FunctionT>, Vec>> + 'static)>` [INFO] [stdout] found associated type `::Pointed` [INFO] [stdout] = help: consider constraining the associated type `::Pointed` to `Box<(dyn function::FunctionT>, Vec>> + 'static)>` [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `AF1: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `AF1` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `AF1` with trait `Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:154:76 [INFO] [stdout] | [INFO] [stdout] 154 | AF1: Applicative>, RoseTree, WithA = A2, WithB = A3> + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `WithPointed` [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:156:42 [INFO] [stdout] | [INFO] [stdout] 156 | A2: PureA>> + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `AF3: functor::Functor>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor>` is not implemented for `AF3` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `AF3` with trait `Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:160:81 [INFO] [stdout] | [INFO] [stdout] 160 | AF3: Applicative>, Vec>, WithA = A2, WithB = A2> + base::data::functor::Functor>, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: with_pointed::WithPointed>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `with_pointed::WithPointed>` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `WithPointed` [INFO] [stdout] --> crates/glasgae/src/base/data/tree/rose_tree.rs:156:42 [INFO] [stdout] | [INFO] [stdout] 156 | A2: PureA>> + base::data::with_pointed::WithPointed>, [INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `::Pointed == A` [INFO] [stdout] --> crates/glasgae/src/base/data/tuple/one.rs:88:35 [INFO] [stdout] | [INFO] [stdout] 84 | impl TraverseT for (T,) [INFO] [stdout] | - expected this type parameter [INFO] [stdout] ... [INFO] [stdout] 88 | A1::Mapped: Applicative, [INFO] [stdout] | ^^^^^^^^^^ expected type parameter `A`, found `(A,)` [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `A` [INFO] [stdout] found tuple `(A,)` [INFO] [stdout] note: required by a bound in `applicative::AppA` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `AppA` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/control/applicative.rs:128:11 [INFO] [stdout] | [INFO] [stdout] 128 | pub trait AppA: WithPointed + WithPointed { [INFO] [stdout] | ---- required by a bound in this trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `<<... as Functor<...>>::Mapped as Pointed>::Pointed == Box<...>` [INFO] [stdout] --> crates/glasgae/src/base/data/tuple/one.rs:86:30 [INFO] [stdout] | [INFO] [stdout] 86 | A1: PureA + Functor> + WithPointed>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Box>`, found associated type [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box<(dyn function::FunctionT<(A,), (A,)> + 'static)>` [INFO] [stdout] found associated type `< + 'static)>>>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = help: consider constraining the associated type `< + 'static)>>>::Mapped as pointed::Pointed>::Pointed` to `Box<(dyn function::FunctionT<(A,), (A,)> + 'static)>` [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/glasgae-8194c79139e38ab9.long-type-869913905157745555.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `<>::Mapped as WithPointed<...>>::WithPointed == A1` [INFO] [stdout] --> crates/glasgae/src/base/data/tuple/one.rs:86:30 [INFO] [stdout] | [INFO] [stdout] 84 | impl TraverseT for (T,) [INFO] [stdout] | -- -- found type parameter [INFO] [stdout] | | [INFO] [stdout] | expected type parameter [INFO] [stdout] 85 | where [INFO] [stdout] 86 | A1: PureA + Functor> + WithPointed>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected type parameter `A1`, found type parameter `A2` [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `A1` [INFO] [stdout] found type parameter `A2` [INFO] [stdout] = note: a type parameter was expected, but a different one was found; you might be missing a type parameter or trait bound [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch10-02-traits.html#traits-as-parameters [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:63 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/glasgae-8194c79139e38ab9.long-type-16314410659753608241.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `>>::Mapped: WithPointed<...>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:129:57 [INFO] [stdout] | [INFO] [stdout] 129 | type WithA: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] = help: the trait `with_pointed::WithPointed<(A,)>` is not implemented for ` + 'static)>>>::Mapped` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/glasgae-8194c79139e38ab9.long-type-3465329249260999817.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] help: consider further restricting the associated type [INFO] [stdout] --> crates/glasgae/src/base/data/tuple/one.rs:91:41 [INFO] [stdout] | [INFO] [stdout] 91 | A2: PureA, + 'static)>>>::Mapped: with_pointed::WithPointed<(A,)> [INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `::Pointed == A` [INFO] [stdout] --> crates/glasgae/src/base/data/tuple/one.rs:106:35 [INFO] [stdout] | [INFO] [stdout] 102 | impl SequenceA<(), A2> for (A1,) [INFO] [stdout] | - expected this type parameter [INFO] [stdout] ... [INFO] [stdout] 106 | A1::Mapped: Applicative, [INFO] [stdout] | ^^^^^^^^^^ expected type parameter `A`, found `(A,)` [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `A` [INFO] [stdout] found tuple `(A,)` [INFO] [stdout] note: required by a bound in `applicative::AppA` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `AppA` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/control/applicative.rs:128:11 [INFO] [stdout] | [INFO] [stdout] 128 | pub trait AppA: WithPointed + WithPointed { [INFO] [stdout] | ---- required by a bound in this trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `<<... as Functor<...>>::Mapped as Pointed>::Pointed == Box<...>` [INFO] [stdout] --> crates/glasgae/src/base/data/tuple/one.rs:104:30 [INFO] [stdout] | [INFO] [stdout] 104 | A1: PureA + Functor> + WithPointed>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Box>`, found associated type [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box<(dyn function::FunctionT<(A,), (A,)> + 'static)>` [INFO] [stdout] found associated type `< + 'static)>>>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = help: consider constraining the associated type `< + 'static)>>>::Mapped as pointed::Pointed>::Pointed` to `Box<(dyn function::FunctionT<(A,), (A,)> + 'static)>` [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/glasgae-8194c79139e38ab9.long-type-5429464516306331302.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `<>::Mapped as WithPointed<...>>::WithPointed == A1` [INFO] [stdout] --> crates/glasgae/src/base/data/tuple/one.rs:104:30 [INFO] [stdout] | [INFO] [stdout] 102 | impl SequenceA<(), A2> for (A1,) [INFO] [stdout] | -- -- found type parameter [INFO] [stdout] | | [INFO] [stdout] | expected type parameter [INFO] [stdout] 103 | where [INFO] [stdout] 104 | A1: PureA + Functor> + WithPointed>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected type parameter `A1`, found type parameter `A2` [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `A1` [INFO] [stdout] found type parameter `A2` [INFO] [stdout] = note: a type parameter was expected, but a different one was found; you might be missing a type parameter or trait bound [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch10-02-traits.html#traits-as-parameters [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:63 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/glasgae-8194c79139e38ab9.long-type-7967407678168884607.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `>>::Mapped: WithPointed<...>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:129:57 [INFO] [stdout] | [INFO] [stdout] 129 | type WithA: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ unsatisfied trait bound [INFO] [stdout] | [INFO] [stdout] = help: the trait `with_pointed::WithPointed<(A,)>` is not implemented for ` + 'static)>>>::Mapped` [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/glasgae-8194c79139e38ab9.long-type-15713932480821729179.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] help: consider further restricting the associated type [INFO] [stdout] --> crates/glasgae/src/base/data/tuple/one.rs:108:41 [INFO] [stdout] | [INFO] [stdout] 108 | A2: PureA, + 'static)>>>::Mapped: with_pointed::WithPointed<(A,)> [INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/tuple/pair.rs:105:1 [INFO] [stdout] | [INFO] [stdout] 105 | / impl TraverseT for (L, R) [INFO] [stdout] 106 | | where [INFO] [stdout] 107 | | L: Term, [INFO] [stdout] 108 | | R: Term, [INFO] [stdout] 109 | | A1: Functor<(L, A), Pointed = A, Mapped = A2>, [INFO] [stdout] 110 | | A: Term, [INFO] [stdout] 111 | | A2: Term, [INFO] [stdout] | |_____________^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 111 | A2: Term + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/tuple/pair.rs:113:5 [INFO] [stdout] | [INFO] [stdout] 113 | type Mapped = A1; [INFO] [stdout] | ^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 111 | A2: Term + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/tuple/pair.rs:114:5 [INFO] [stdout] | [INFO] [stdout] 114 | type Value = A; [INFO] [stdout] | ^^^^^^^^^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 111 | A2: Term + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/tuple/pair.rs:115:5 [INFO] [stdout] | [INFO] [stdout] 115 | type Traversed = A2; [INFO] [stdout] | ^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 111 | A2: Term + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/tuple/pair.rs:117:5 [INFO] [stdout] | [INFO] [stdout] 117 | fn traverse_t(self, f: impl FunctionT) -> A2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] note: required for `(L, R)` to implement `traversable::TraverseT` [INFO] [stdout] --> crates/glasgae/src/base/data/tuple/pair.rs:105:23 [INFO] [stdout] | [INFO] [stdout] 105 | impl TraverseT for (L, R) [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 111 | A2: Term + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `impl FunctionT: function::FunctionT` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/tuple/pair.rs:117:33 [INFO] [stdout] | [INFO] [stdout] 117 | fn traverse_t(self, f: impl FunctionT) -> A2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `FnOnce(R)` is not implemented for `impl FunctionT` [INFO] [stdout] | [INFO] [stdout] = note: expected a closure with signature `fn(R)` [INFO] [stdout] found a closure with signature `fn(<(L, R) as pointed::Pointed>::Pointed)` [INFO] [stdout] note: required for `impl FunctionT` to implement `function::FunctionT` [INFO] [stdout] --> crates/glasgae/src/base/data/function/mod.rs:53:15 [INFO] [stdout] | [INFO] [stdout] 53 | impl FunctionT for F [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^ [INFO] [stdout] 54 | where [INFO] [stdout] 55 | F: Term + FnOnce(A) -> B, [INFO] [stdout] | -------------- unsatisfied trait bound introduced here [INFO] [stdout] note: the requirement `impl FunctionT: function::FunctionT` appears on the `impl`'s method `traverse_t` but not on the corresponding trait's method [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub trait TraverseT: Pointed [INFO] [stdout] | --------- in this trait [INFO] [stdout] ... [INFO] [stdout] 69 | fn traverse_t(self, f: impl FunctionT) -> Self::Traversed; [INFO] [stdout] | ^^^^^^^^^^ this trait's method doesn't have the requirement `impl FunctionT: function::FunctionT` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `impl FunctionT: function::FunctionT` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/tuple/pair.rs:117:33 [INFO] [stdout] | [INFO] [stdout] 117 | fn traverse_t(self, f: impl FunctionT) -> A2 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `impl FunctionT` [INFO] [stdout] | [INFO] [stdout] note: required for `impl FunctionT` to implement `term::Term` [INFO] [stdout] --> crates/glasgae/src/base/data/term.rs:9:9 [INFO] [stdout] | [INFO] [stdout] 9 | impl Term for T where T: TermBase + Clone {} [INFO] [stdout] | ^^^^ ^ ----- unsatisfied trait bound introduced here [INFO] [stdout] note: required for `impl FunctionT` to implement `function::FunctionT` [INFO] [stdout] --> crates/glasgae/src/base/data/function/mod.rs:53:15 [INFO] [stdout] | [INFO] [stdout] 53 | impl FunctionT for F [INFO] [stdout] | ^^^^^^^^^^^^^^^ ^ [INFO] [stdout] 54 | where [INFO] [stdout] 55 | F: Term + FnOnce(A) -> B, [INFO] [stdout] | ---- unsatisfied trait bound introduced here [INFO] [stdout] note: the requirement `impl FunctionT: function::FunctionT` appears on the `impl`'s method `traverse_t` but not on the corresponding trait's method [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:69:8 [INFO] [stdout] | [INFO] [stdout] 61 | pub trait TraverseT: Pointed [INFO] [stdout] | --------- in this trait [INFO] [stdout] ... [INFO] [stdout] 69 | fn traverse_t(self, f: impl FunctionT) -> Self::Traversed; [INFO] [stdout] | ^^^^^^^^^^ this trait's method doesn't have the requirement `impl FunctionT: function::FunctionT` [INFO] [stdout] help: consider restricting opaque type `impl FunctionT` with trait `Clone` [INFO] [stdout] | [INFO] [stdout] 117 | fn traverse_t(self, f: impl FunctionT + std::clone::Clone) -> A2 { [INFO] [stdout] | +++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/tuple/pair.rs:109:38 [INFO] [stdout] | [INFO] [stdout] 109 | A1: Functor<(L, A), Pointed = A, Mapped = A2>, [INFO] [stdout] | ^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 111 | A2: Term + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `::Pointed == (L, A)` [INFO] [stdout] --> crates/glasgae/src/base/data/tuple/pair.rs:109:38 [INFO] [stdout] | [INFO] [stdout] 109 | A1: Functor<(L, A), Pointed = A, Mapped = A2>, [INFO] [stdout] | ^^^^^^^^^^^ expected `(L, A)`, found associated type [INFO] [stdout] | [INFO] [stdout] = note: expected tuple `(L, A)` [INFO] [stdout] found associated type `::Pointed` [INFO] [stdout] = help: consider constraining the associated type `::Pointed` to `(L, A)` [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A2: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `A2` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `A2` with trait `Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/tuple/pair.rs:111:13 [INFO] [stdout] | [INFO] [stdout] 111 | A2: Term + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `<<(L_, R) as Functor>::Mapped as Pointed>::Pointed == R_` [INFO] [stdout] --> crates/glasgae/src/base/data/tuple/pair.rs:174:5 [INFO] [stdout] | [INFO] [stdout] 166 | impl Bifunctor for (L, R) [INFO] [stdout] | -- expected this type parameter [INFO] [stdout] ... [INFO] [stdout] 174 | / fn bimap( [INFO] [stdout] 175 | | self, [INFO] [stdout] 176 | | fa: impl crate::prelude::FunctionT, [INFO] [stdout] 177 | | fb: impl crate::prelude::FunctionT, [INFO] [stdout] 178 | | ) -> crate::prelude::MappedT, R_> [INFO] [stdout] | |_________________________________________________________________________________________________^ expected type parameter `R_`, found associated type [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `R_` [INFO] [stdout] found associated type `<<(L_, R) as functor::Functor>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = note: you might be missing a type parameter or trait bound [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `<<(L_, R) as Functor>::Mapped as Pointed>::Pointed == R_` [INFO] [stdout] --> crates/glasgae/src/base/data/tuple/pair.rs:172:14 [INFO] [stdout] | [INFO] [stdout] 166 | impl Bifunctor for (L, R) [INFO] [stdout] | -- expected this type parameter [INFO] [stdout] ... [INFO] [stdout] 172 | (L_, R): Functor, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ expected type parameter `R_`, found associated type [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `R_` [INFO] [stdout] found associated type `<<(L_, R) as functor::Functor>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = note: you might be missing a type parameter or trait bound [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0275]: overflow evaluating the requirement `>::Chained == _` [INFO] [stdout] --> crates/glasgae/src/logger/state_logging.rs:125:1 [INFO] [stdout] | [INFO] [stdout] 125 | / impl StateLogger [INFO] [stdout] 126 | | where [INFO] [stdout] 127 | | LVL: Term, [INFO] [stdout] 128 | | MSG: Term, [INFO] [stdout] 129 | | MA: Monad, [INFO] [stdout] 130 | | MA::Chained: Monad<((), usize), Chained = MA>, [INFO] [stdout] | |__________________________________________________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `::Pointed == A` [INFO] [stdout] --> crates/glasgae/src/logger/state_logging.rs:209:27 [INFO] [stdout] | [INFO] [stdout] 204 | impl AppA for StateLogger [INFO] [stdout] | - expected this type parameter [INFO] [stdout] ... [INFO] [stdout] 209 | MF: Applicative [INFO] [stdout] | ^^^^^^^^^^ expected type parameter `A`, found `(A, S)` [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `A` [INFO] [stdout] found tuple `(A, S)` [INFO] [stdout] note: required by a bound in `applicative::AppA` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `AppA` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/control/applicative.rs:128:11 [INFO] [stdout] | [INFO] [stdout] 128 | pub trait AppA: WithPointed + WithPointed { [INFO] [stdout] | ---- required by a bound in this trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `::Pointed == B` [INFO] [stdout] --> crates/glasgae/src/logger/state_logging.rs:209:27 [INFO] [stdout] | [INFO] [stdout] 204 | impl AppA for StateLogger [INFO] [stdout] | - expected this type parameter [INFO] [stdout] ... [INFO] [stdout] 209 | MF: Applicative [INFO] [stdout] | ^^^^^^^^^^ expected type parameter `B`, found `(B, S)` [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `B` [INFO] [stdout] found tuple `(B, S)` [INFO] [stdout] note: required by a bound in `applicative::AppA` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `AppA` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/control/applicative.rs:128:11 [INFO] [stdout] | [INFO] [stdout] 128 | pub trait AppA: WithPointed + WithPointed { [INFO] [stdout] | ---- required by a bound in this trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `>::Mapped> as Pointed>::Pointed == B` [INFO] [stdout] --> crates/glasgae/src/logger/mod.rs:86:5 [INFO] [stdout] | [INFO] [stdout] 76 | impl Functor for LoggingT [INFO] [stdout] | - expected this type parameter [INFO] [stdout] ... [INFO] [stdout] 86 | fn fmap(self, f: impl crate::prelude::FunctionT) -> Self::Mapped { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type mismatch resolving `>::Mapped> as Pointed>::Pointed == B` [INFO] [stdout] | [INFO] [stdout] note: expected this to be `B` [INFO] [stdout] --> crates/glasgae/src/base/data/pointed.rs:47:28 [INFO] [stdout] | [INFO] [stdout] 47 | type Pointed = $arg::Pointed; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/logger/mod.rs:65:1 [INFO] [stdout] | [INFO] [stdout] 65 | derive_pointed_via!(LoggingT); [INFO] [stdout] | --------------------------------------------- in this macro invocation [INFO] [stdout] = note: expected type parameter `B` [INFO] [stdout] found associated type `<>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = note: you might be missing a type parameter or trait bound [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: this error originates in the macro `derive_pointed_via` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `>::Mapped> as Pointed>::Pointed == B` [INFO] [stdout] --> crates/glasgae/src/logger/mod.rs:84:19 [INFO] [stdout] | [INFO] [stdout] 76 | impl Functor for LoggingT [INFO] [stdout] | - expected this type parameter [INFO] [stdout] ... [INFO] [stdout] 84 | type Mapped = LoggingT; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type mismatch resolving `>::Mapped> as Pointed>::Pointed == B` [INFO] [stdout] | [INFO] [stdout] note: expected this to be `B` [INFO] [stdout] --> crates/glasgae/src/base/data/pointed.rs:47:28 [INFO] [stdout] | [INFO] [stdout] 47 | type Pointed = $arg::Pointed; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/logger/mod.rs:65:1 [INFO] [stdout] | [INFO] [stdout] 65 | derive_pointed_via!(LoggingT); [INFO] [stdout] | --------------------------------------------- in this macro invocation [INFO] [stdout] = note: expected type parameter `B` [INFO] [stdout] found associated type `<>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = note: you might be missing a type parameter or trait bound [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: this error originates in the macro `derive_pointed_via` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `<>::Mapped as Pointed>::Pointed == B` [INFO] [stdout] --> crates/glasgae/src/logger/mod.rs:80:9 [INFO] [stdout] | [INFO] [stdout] 76 | impl Functor for LoggingT [INFO] [stdout] | - expected this type parameter [INFO] [stdout] ... [INFO] [stdout] 80 | MA: Functor, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ expected type parameter `B`, found associated type [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `B` [INFO] [stdout] found associated type `<>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = note: you might be missing a type parameter or trait bound [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `::Pointed == MA` [INFO] [stdout] --> crates/glasgae/src/logger/mod.rs:108:31 [INFO] [stdout] | [INFO] [stdout] 103 | impl AppA for LoggingT [INFO] [stdout] | -- - found type parameter [INFO] [stdout] | | [INFO] [stdout] | expected type parameter [INFO] [stdout] ... [INFO] [stdout] 108 | + Applicative [INFO] [stdout] | ^^^^^^^^^^ expected type parameter `MA`, found type parameter `A` [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `MA` [INFO] [stdout] found type parameter `A` [INFO] [stdout] = note: a type parameter was expected, but a different one was found; you might be missing a type parameter or trait bound [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch10-02-traits.html#traits-as-parameters [INFO] [stdout] note: required by a bound in `applicative::AppA` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `AppA` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/control/applicative.rs:128:11 [INFO] [stdout] | [INFO] [stdout] 128 | pub trait AppA: WithPointed + WithPointed { [INFO] [stdout] | ---- required by a bound in this trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `::Pointed == MB` [INFO] [stdout] --> crates/glasgae/src/logger/mod.rs:108:31 [INFO] [stdout] | [INFO] [stdout] 103 | impl AppA for LoggingT [INFO] [stdout] | -- - found type parameter [INFO] [stdout] | | [INFO] [stdout] | expected type parameter [INFO] [stdout] ... [INFO] [stdout] 108 | + Applicative [INFO] [stdout] | ^^^^^^^^^^ expected type parameter `MB`, found type parameter `B` [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `MB` [INFO] [stdout] found type parameter `B` [INFO] [stdout] = note: a type parameter was expected, but a different one was found; you might be missing a type parameter or trait bound [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch10-02-traits.html#traits-as-parameters [INFO] [stdout] note: required by a bound in `applicative::AppA` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `AppA` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/control/applicative.rs:128:11 [INFO] [stdout] | [INFO] [stdout] 128 | pub trait AppA: WithPointed + WithPointed { [INFO] [stdout] | ---- required by a bound in this trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A: Clone` is not satisfied in `(A, R)` [INFO] [stdout] --> crates/glasgae/src/logger/mod.rs:217:17 [INFO] [stdout] | [INFO] [stdout] 217 | MA: Pointed + MonadLogger, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ within `(A, R)`, the trait `Clone` is not implemented for `A` [INFO] [stdout] | [INFO] [stdout] = note: required because it appears within the type `(A, R)` [INFO] [stdout] help: consider further restricting type parameter `A` with trait `Clone` [INFO] [stdout] | [INFO] [stdout] 218 | R: Term, A: std::clone::Clone [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `A` may contain interior mutability and a reference may not be safely transferable across a catch_unwind boundary [INFO] [stdout] --> crates/glasgae/src/logger/mod.rs:217:17 [INFO] [stdout] | [INFO] [stdout] 217 | MA: Pointed + MonadLogger, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ `A` may contain interior mutability and a reference may not be safely transferable across a catch_unwind boundary [INFO] [stdout] | [INFO] [stdout] = note: required because it appears within the type `(A, R)` [INFO] [stdout] help: consider further restricting type parameter `A` with trait `RefUnwindSafe` [INFO] [stdout] | [INFO] [stdout] 218 | R: Term, A: std::panic::RefUnwindSafe [INFO] [stdout] | ++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `A` may not be safely transferred across an unwind boundary [INFO] [stdout] --> crates/glasgae/src/logger/mod.rs:217:17 [INFO] [stdout] | [INFO] [stdout] 217 | MA: Pointed + MonadLogger, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ `A` may not be safely transferred across an unwind boundary [INFO] [stdout] | [INFO] [stdout] = note: required because it appears within the type `(A, R)` [INFO] [stdout] help: consider further restricting type parameter `A` with trait `UnwindSafe` [INFO] [stdout] | [INFO] [stdout] 218 | R: Term, A: std::panic::UnwindSafe [INFO] [stdout] | +++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `A` cannot be shared between threads safely [INFO] [stdout] --> crates/glasgae/src/logger/mod.rs:217:17 [INFO] [stdout] | [INFO] [stdout] 217 | MA: Pointed + MonadLogger, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ `A` cannot be shared between threads safely [INFO] [stdout] | [INFO] [stdout] = note: required because it appears within the type `(A, R)` [INFO] [stdout] help: consider further restricting type parameter `A` with trait `Sync` [INFO] [stdout] | [INFO] [stdout] 218 | R: Term, A: std::marker::Sync [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `A` cannot be sent between threads safely [INFO] [stdout] --> crates/glasgae/src/logger/mod.rs:217:17 [INFO] [stdout] | [INFO] [stdout] 217 | MA: Pointed + MonadLogger, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ `A` cannot be sent between threads safely [INFO] [stdout] | [INFO] [stdout] = note: required because it appears within the type `(A, R)` [INFO] [stdout] help: consider further restricting type parameter `A` with trait `Send` [INFO] [stdout] | [INFO] [stdout] 218 | R: Term, A: std::marker::Send [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MA: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/mtl/reader.rs:123:1 [INFO] [stdout] | [INFO] [stdout] 123 | / impl MonadAsk for WriterT [INFO] [stdout] 124 | | where [INFO] [stdout] 125 | | MA: MonadLower + ReturnM, [INFO] [stdout] 126 | | MA::Lowered: Monad<(A, W), Pointed = A, Chained = MA> + MonadAsk, [INFO] [stdout] 127 | | W: Monoid, [INFO] [stdout] 128 | | A: Term, [INFO] [stdout] | |____________^ the trait `monad::ChainM` is not implemented for `MA` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MA` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 125 | MA: MonadLower + ReturnM + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MA: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/mtl/reader.rs:130:5 [INFO] [stdout] | [INFO] [stdout] 130 | fn ask() -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ the trait `monad::ChainM` is not implemented for `MA` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MA` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 125 | MA: MonadLower + ReturnM + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MA: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/mtl/reader.rs:126:45 [INFO] [stdout] | [INFO] [stdout] 126 | MA::Lowered: Monad<(A, W), Pointed = A, Chained = MA> + MonadAsk, [INFO] [stdout] | ^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MA` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `monad::ChainM` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ChainM` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/control/monad/mod.rs:69:11 [INFO] [stdout] | [INFO] [stdout] 69 | pub trait ChainM: WithPointed { [INFO] [stdout] | ------ required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `MA` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 125 | MA: MonadLower + ReturnM + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MA: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:70:19 [INFO] [stdout] | [INFO] [stdout] 70 | type Chained: ChainM; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `monad::ChainM` is not implemented for `MA` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MA` with trait `ChainM` [INFO] [stdout] --> crates/glasgae/src/mtl/reader.rs:125:53 [INFO] [stdout] | [INFO] [stdout] 125 | MA: MonadLower + ReturnM + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MA: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/mtl/reader.rs:147:1 [INFO] [stdout] | [INFO] [stdout] 147 | / impl MonadReader for WriterT [INFO] [stdout] 148 | | where [INFO] [stdout] 149 | | MA: MonadLower + ReturnM, [INFO] [stdout] 150 | | MA::Lowered: Monad<(A, W), Pointed = A, Chained = MA> + MonadReader, [INFO] [stdout] 151 | | W: Monoid, [INFO] [stdout] 152 | | R: Term, [INFO] [stdout] 153 | | A: Term, [INFO] [stdout] | |____________^ the trait `monad::ChainM` is not implemented for `MA` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MA` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 149 | MA: MonadLower + ReturnM + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MA: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/mtl/reader.rs:155:5 [INFO] [stdout] | [INFO] [stdout] 155 | fn reader(f: impl FunctionT) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `monad::ChainM` is not implemented for `MA` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MA` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 149 | MA: MonadLower + ReturnM + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MA: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/mtl/reader.rs:150:45 [INFO] [stdout] | [INFO] [stdout] 150 | MA::Lowered: Monad<(A, W), Pointed = A, Chained = MA> + MonadReader, [INFO] [stdout] | ^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MA` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `monad::ChainM` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ChainM` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/control/monad/mod.rs:69:11 [INFO] [stdout] | [INFO] [stdout] 69 | pub trait ChainM: WithPointed { [INFO] [stdout] | ------ required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `MA` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 149 | MA: MonadLower + ReturnM + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MA: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:70:19 [INFO] [stdout] | [INFO] [stdout] 70 | type Chained: ChainM; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `monad::ChainM` is not implemented for `MA` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MA` with trait `ChainM` [INFO] [stdout] --> crates/glasgae/src/mtl/reader.rs:149:53 [INFO] [stdout] | [INFO] [stdout] 149 | MA: MonadLower + ReturnM + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `T: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/mtl/state.rs:242:1 [INFO] [stdout] | [INFO] [stdout] 242 | / impl Gets for T [INFO] [stdout] 243 | | where [INFO] [stdout] 244 | | StateT: Monad, [INFO] [stdout] 245 | | S: ReturnM, [INFO] [stdout] 246 | | T: ReturnM, [INFO] [stdout] 247 | | A: Term, [INFO] [stdout] | |____________^ the trait `monad::ChainM` is not implemented for `T` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `T` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 246 | T: ReturnM + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `T: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/mtl/state.rs:249:5 [INFO] [stdout] | [INFO] [stdout] 249 | fn gets(f: impl FunctionT) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `monad::ChainM` is not implemented for `T` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `T` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 246 | T: ReturnM + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `T: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/mtl/state.rs:244:41 [INFO] [stdout] | [INFO] [stdout] 244 | StateT: Monad, [INFO] [stdout] | ^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `T` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `monad::ChainM` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ChainM` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/control/monad/mod.rs:69:11 [INFO] [stdout] | [INFO] [stdout] 69 | pub trait ChainM: WithPointed { [INFO] [stdout] | ------ required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `T` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 246 | T: ReturnM + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `T: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:70:19 [INFO] [stdout] | [INFO] [stdout] 70 | type Chained: ChainM; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `monad::ChainM` is not implemented for `T` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `T` with trait `ChainM` [INFO] [stdout] --> crates/glasgae/src/mtl/state.rs:246:28 [INFO] [stdout] | [INFO] [stdout] 246 | T: ReturnM + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A: Clone` is not satisfied in `(A, W)` [INFO] [stdout] --> crates/glasgae/src/mtl/writer.rs:36:17 [INFO] [stdout] | [INFO] [stdout] 36 | MA: ReturnM, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ within `(A, W)`, the trait `Clone` is not implemented for `A` [INFO] [stdout] | [INFO] [stdout] = note: required because it appears within the type `(A, W)` [INFO] [stdout] help: consider further restricting type parameter `A` with trait `Clone` [INFO] [stdout] | [INFO] [stdout] 36 | MA: ReturnM, A: std::clone::Clone [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `A` may contain interior mutability and a reference may not be safely transferable across a catch_unwind boundary [INFO] [stdout] --> crates/glasgae/src/mtl/writer.rs:36:17 [INFO] [stdout] | [INFO] [stdout] 36 | MA: ReturnM, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ `A` may contain interior mutability and a reference may not be safely transferable across a catch_unwind boundary [INFO] [stdout] | [INFO] [stdout] = note: required because it appears within the type `(A, W)` [INFO] [stdout] help: consider further restricting type parameter `A` with trait `RefUnwindSafe` [INFO] [stdout] | [INFO] [stdout] 36 | MA: ReturnM, A: std::panic::RefUnwindSafe [INFO] [stdout] | ++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `A` may not be safely transferred across an unwind boundary [INFO] [stdout] --> crates/glasgae/src/mtl/writer.rs:36:17 [INFO] [stdout] | [INFO] [stdout] 36 | MA: ReturnM, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ `A` may not be safely transferred across an unwind boundary [INFO] [stdout] | [INFO] [stdout] = note: required because it appears within the type `(A, W)` [INFO] [stdout] help: consider further restricting type parameter `A` with trait `UnwindSafe` [INFO] [stdout] | [INFO] [stdout] 36 | MA: ReturnM, A: std::panic::UnwindSafe [INFO] [stdout] | +++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `A` cannot be shared between threads safely [INFO] [stdout] --> crates/glasgae/src/mtl/writer.rs:36:17 [INFO] [stdout] | [INFO] [stdout] 36 | MA: ReturnM, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ `A` cannot be shared between threads safely [INFO] [stdout] | [INFO] [stdout] = note: required because it appears within the type `(A, W)` [INFO] [stdout] help: consider further restricting type parameter `A` with trait `Sync` [INFO] [stdout] | [INFO] [stdout] 36 | MA: ReturnM, A: std::marker::Sync [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `A` cannot be sent between threads safely [INFO] [stdout] --> crates/glasgae/src/mtl/writer.rs:36:17 [INFO] [stdout] | [INFO] [stdout] 36 | MA: ReturnM, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ `A` cannot be sent between threads safely [INFO] [stdout] | [INFO] [stdout] = note: required because it appears within the type `(A, W)` [INFO] [stdout] help: consider further restricting type parameter `A` with trait `Send` [INFO] [stdout] | [INFO] [stdout] 36 | MA: ReturnM, A: std::marker::Send [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MO: monad::ChainM<(A, W)>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/mtl/writer.rs:53:1 [INFO] [stdout] | [INFO] [stdout] 53 | / impl MonadListen> for WriterT [INFO] [stdout] 54 | | where [INFO] [stdout] 55 | | MA: Monad<((A, W), W), Pointed = (A, W), Chained = MO>, [INFO] [stdout] 56 | | MO: ReturnM, [INFO] [stdout] 57 | | W: Term, [INFO] [stdout] 58 | | A: Term, [INFO] [stdout] | |____________^ the trait `monad::ChainM<(A, W)>` is not implemented for `MO` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MO` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 56 | MO: ReturnM + base::control::monad::ChainM<(A, W)>, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MO: monad::ChainM<(A, W)>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/mtl/writer.rs:60:5 [INFO] [stdout] | [INFO] [stdout] 60 | fn listen(self) -> WriterT { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `monad::ChainM<(A, W)>` is not implemented for `MO` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MO` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 56 | MO: ReturnM + base::control::monad::ChainM<(A, W)>, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MO: with_pointed::WithPointed<(A, W)>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/mtl/writer.rs:55:46 [INFO] [stdout] | [INFO] [stdout] 55 | MA: Monad<((A, W), W), Pointed = (A, W), Chained = MO>, [INFO] [stdout] | ^^^^^^^^^^^^ the trait `with_pointed::WithPointed<(A, W)>` is not implemented for `MO` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `monad::ChainM` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ChainM` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/control/monad/mod.rs:69:11 [INFO] [stdout] | [INFO] [stdout] 69 | pub trait ChainM: WithPointed { [INFO] [stdout] | ------ required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `MO` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 56 | MO: ReturnM + base::data::with_pointed::WithPointed<(A, W)>, [INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MO: monad::ChainM<(A, W)>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:70:19 [INFO] [stdout] | [INFO] [stdout] 70 | type Chained: ChainM; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `monad::ChainM<(A, W)>` is not implemented for `MO` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MO` with trait `ChainM` [INFO] [stdout] --> crates/glasgae/src/mtl/writer.rs:56:39 [INFO] [stdout] | [INFO] [stdout] 56 | MO: ReturnM + base::control::monad::ChainM<(A, W)>, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: monad::ChainM<((A, F), W)>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/mtl/writer.rs:65:1 [INFO] [stdout] | [INFO] [stdout] 65 | / impl MonadPass> for WriterT [INFO] [stdout] 66 | | where [INFO] [stdout] 67 | | MA: Monad<(A, B), Pointed = ((A, F), W), Chained = MB>, [INFO] [stdout] 68 | | MB: ReturnM, [INFO] [stdout] ... | [INFO] [stdout] 71 | | A: Term, [INFO] [stdout] 72 | | B: Term, [INFO] [stdout] | |____________^ the trait `monad::ChainM<((A, F), W)>` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 68 | MB: ReturnM + base::control::monad::ChainM<((A, F), W)>, [INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: monad::ChainM<((A, F), W)>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/mtl/writer.rs:74:5 [INFO] [stdout] | [INFO] [stdout] 74 | fn pass(self) -> WriterT { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `monad::ChainM<((A, F), W)>` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 68 | MB: ReturnM + base::control::monad::ChainM<((A, F), W)>, [INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: with_pointed::WithPointed<((A, F), W)>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/mtl/writer.rs:67:46 [INFO] [stdout] | [INFO] [stdout] 67 | MA: Monad<(A, B), Pointed = ((A, F), W), Chained = MB>, [INFO] [stdout] | ^^^^^^^^^^^^ the trait `with_pointed::WithPointed<((A, F), W)>` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `monad::ChainM` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ChainM` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/control/monad/mod.rs:69:11 [INFO] [stdout] | [INFO] [stdout] 69 | pub trait ChainM: WithPointed { [INFO] [stdout] | ------ required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 68 | MB: ReturnM + base::data::with_pointed::WithPointed<((A, F), W)>, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: monad::ChainM<((A, F), W)>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:70:19 [INFO] [stdout] | [INFO] [stdout] 70 | type Chained: ChainM; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `monad::ChainM<((A, F), W)>` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `ChainM` [INFO] [stdout] --> crates/glasgae/src/mtl/writer.rs:68:34 [INFO] [stdout] | [INFO] [stdout] 68 | MB: ReturnM + base::control::monad::ChainM<((A, F), W)>, [INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MAB: monad::ChainM<(A, W)>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/mtl/writer.rs:179:1 [INFO] [stdout] | [INFO] [stdout] 179 | / impl Listens for T [INFO] [stdout] 180 | | where [INFO] [stdout] 181 | | T: MonadWriter + MonadListen, [INFO] [stdout] 182 | | MA: Monad<(A, B), Pointed = (A, W), Chained = MAB>, [INFO] [stdout] ... | [INFO] [stdout] 185 | | A: Term, [INFO] [stdout] 186 | | B: Term, [INFO] [stdout] | |____________^ the trait `monad::ChainM<(A, W)>` is not implemented for `MAB` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MAB` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 183 | MAB: ReturnM + base::control::monad::ChainM<(A, W)>, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MAB: monad::ChainM<(A, W)>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/mtl/writer.rs:188:5 [INFO] [stdout] | [INFO] [stdout] 188 | fn listens(self, f: impl FunctionT) -> MAB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `monad::ChainM<(A, W)>` is not implemented for `MAB` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MAB` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 183 | MAB: ReturnM + base::control::monad::ChainM<(A, W)>, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MAB: with_pointed::WithPointed<(A, W)>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/mtl/writer.rs:182:41 [INFO] [stdout] | [INFO] [stdout] 182 | MA: Monad<(A, B), Pointed = (A, W), Chained = MAB>, [INFO] [stdout] | ^^^^^^^^^^^^^ the trait `with_pointed::WithPointed<(A, W)>` is not implemented for `MAB` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `monad::ChainM` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ChainM` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/control/monad/mod.rs:69:11 [INFO] [stdout] | [INFO] [stdout] 69 | pub trait ChainM: WithPointed { [INFO] [stdout] | ------ required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `MAB` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 183 | MAB: ReturnM + base::data::with_pointed::WithPointed<(A, W)>, [INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MAB: monad::ChainM<(A, W)>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:70:19 [INFO] [stdout] | [INFO] [stdout] 70 | type Chained: ChainM; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `monad::ChainM<(A, W)>` is not implemented for `MAB` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MAB` with trait `ChainM` [INFO] [stdout] --> crates/glasgae/src/mtl/writer.rs:183:35 [INFO] [stdout] | [INFO] [stdout] 183 | MAB: ReturnM + base::control::monad::ChainM<(A, W)>, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MA: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/mtl/writer.rs:204:1 [INFO] [stdout] | [INFO] [stdout] 204 | / impl Censor for MT [INFO] [stdout] 205 | | where [INFO] [stdout] 206 | | MA: MonadPass + ReturnM)>, [INFO] [stdout] 207 | | W: Term, [INFO] [stdout] 208 | | MT: Monad<(T, Function), Pointed = T, Chained = MA> + MonadPass, [INFO] [stdout] 209 | | T: Term, [INFO] [stdout] | |____________^ the trait `monad::ChainM` is not implemented for `MA` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MA` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 206 | MA: MonadPass + ReturnM)> + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MA: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/mtl/writer.rs:211:5 [INFO] [stdout] | [INFO] [stdout] 211 | fn censor(self, f: impl FunctionT) -> MF { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `monad::ChainM` is not implemented for `MA` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MA` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 206 | MA: MonadPass + ReturnM)> + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MA: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/mtl/writer.rs:208:49 [INFO] [stdout] | [INFO] [stdout] 208 | MT: Monad<(T, Function), Pointed = T, Chained = MA> + MonadPass, [INFO] [stdout] | ^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MA` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `monad::ChainM` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ChainM` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/control/monad/mod.rs:69:11 [INFO] [stdout] | [INFO] [stdout] 69 | pub trait ChainM: WithPointed { [INFO] [stdout] | ------ required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `MA` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 206 | MA: MonadPass + ReturnM)> + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MA: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:70:19 [INFO] [stdout] | [INFO] [stdout] 70 | type Chained: ChainM; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `monad::ChainM` is not implemented for `MA` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MA` with trait `ChainM` [INFO] [stdout] --> crates/glasgae/src/mtl/writer.rs:206:63 [INFO] [stdout] | [INFO] [stdout] 206 | MA: MonadPass + ReturnM)> + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `E: Clone` is not satisfied [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:212:17 [INFO] [stdout] | [INFO] [stdout] 212 | MA: Pointed>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `E` [INFO] [stdout] | [INFO] [stdout] note: required for `either::Either` to implement `Clone` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 109 | #[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)] [INFO] [stdout] | ----- in this derive macro expansion [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ - type parameter would need to implement `Clone` [INFO] [stdout] = help: consider manually implementing `Clone` to avoid undesired bounds [INFO] [stdout] help: consider further restricting type parameter `E` with trait `Clone` [INFO] [stdout] | [INFO] [stdout] 213 | A: Term, E: std::clone::Clone [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `E` may contain interior mutability and a reference may not be safely transferable across a catch_unwind boundary [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:212:17 [INFO] [stdout] | [INFO] [stdout] 212 | MA: Pointed>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `E` may contain interior mutability and a reference may not be safely transferable across a catch_unwind boundary [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider further restricting type parameter `E` with trait `RefUnwindSafe` [INFO] [stdout] | [INFO] [stdout] 213 | A: Term, E: std::panic::RefUnwindSafe [INFO] [stdout] | ++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `E` may not be safely transferred across an unwind boundary [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:212:17 [INFO] [stdout] | [INFO] [stdout] 212 | MA: Pointed>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `E` may not be safely transferred across an unwind boundary [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider further restricting type parameter `E` with trait `UnwindSafe` [INFO] [stdout] | [INFO] [stdout] 213 | A: Term, E: std::panic::UnwindSafe [INFO] [stdout] | +++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `E` cannot be shared between threads safely [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:212:17 [INFO] [stdout] | [INFO] [stdout] 212 | MA: Pointed>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `E` cannot be shared between threads safely [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider further restricting type parameter `E` with trait `Sync` [INFO] [stdout] | [INFO] [stdout] 213 | A: Term, E: std::marker::Sync [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `E` cannot be sent between threads safely [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:212:17 [INFO] [stdout] | [INFO] [stdout] 212 | MA: Pointed>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `E` cannot be sent between threads safely [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider further restricting type parameter `E` with trait `Send` [INFO] [stdout] | [INFO] [stdout] 213 | A: Term, E: std::marker::Send [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `E: Clone` is not satisfied [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:220:35 [INFO] [stdout] | [INFO] [stdout] 220 | MA: WithPointed, Pointed = Either>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `E` [INFO] [stdout] | [INFO] [stdout] note: required for `either::Either` to implement `Clone` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 109 | #[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)] [INFO] [stdout] | ----- in this derive macro expansion [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ - type parameter would need to implement `Clone` [INFO] [stdout] = help: consider manually implementing `Clone` to avoid undesired bounds [INFO] [stdout] help: consider further restricting type parameter `E` with trait `Clone` [INFO] [stdout] | [INFO] [stdout] 223 | B: Term, E: std::clone::Clone [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `E` may contain interior mutability and a reference may not be safely transferable across a catch_unwind boundary [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:220:35 [INFO] [stdout] | [INFO] [stdout] 220 | MA: WithPointed, Pointed = Either>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `E` may contain interior mutability and a reference may not be safely transferable across a catch_unwind boundary [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider further restricting type parameter `E` with trait `RefUnwindSafe` [INFO] [stdout] | [INFO] [stdout] 223 | B: Term, E: std::panic::RefUnwindSafe [INFO] [stdout] | ++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `E` may not be safely transferred across an unwind boundary [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:220:35 [INFO] [stdout] | [INFO] [stdout] 220 | MA: WithPointed, Pointed = Either>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `E` may not be safely transferred across an unwind boundary [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider further restricting type parameter `E` with trait `UnwindSafe` [INFO] [stdout] | [INFO] [stdout] 223 | B: Term, E: std::panic::UnwindSafe [INFO] [stdout] | +++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `E` cannot be shared between threads safely [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:220:35 [INFO] [stdout] | [INFO] [stdout] 220 | MA: WithPointed, Pointed = Either>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `E` cannot be shared between threads safely [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider further restricting type parameter `E` with trait `Sync` [INFO] [stdout] | [INFO] [stdout] 223 | B: Term, E: std::marker::Sync [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `E` cannot be sent between threads safely [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:220:35 [INFO] [stdout] | [INFO] [stdout] 220 | MA: WithPointed, Pointed = Either>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `E` cannot be sent between threads safely [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider further restricting type parameter `E` with trait `Send` [INFO] [stdout] | [INFO] [stdout] 223 | B: Term, E: std::marker::Send [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0275]: overflow evaluating the requirement `>>::Mapped == _` [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:228:1 [INFO] [stdout] | [INFO] [stdout] 228 | / impl Functor for ExceptT [INFO] [stdout] 229 | | where [INFO] [stdout] 230 | | MA: Functor, Pointed = Either>, [INFO] [stdout] 231 | | MA::Mapped: Functor, Pointed = Either, Mapped = MA>, [INFO] [stdout] 232 | | E: Term, [INFO] [stdout] 233 | | A: Term, [INFO] [stdout] 234 | | B: Term, [INFO] [stdout] | |____________^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `E: Clone` is not satisfied [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:320:17 [INFO] [stdout] | [INFO] [stdout] 320 | MA: Pointed>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `E` [INFO] [stdout] | [INFO] [stdout] note: required for `either::Either` to implement `Clone` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 109 | #[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)] [INFO] [stdout] | ----- in this derive macro expansion [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ - type parameter would need to implement `Clone` [INFO] [stdout] = help: consider manually implementing `Clone` to avoid undesired bounds [INFO] [stdout] help: consider further restricting type parameter `E` with trait `Clone` [INFO] [stdout] | [INFO] [stdout] 322 | B: Monoid, E: std::clone::Clone [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `E` may contain interior mutability and a reference may not be safely transferable across a catch_unwind boundary [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:320:17 [INFO] [stdout] | [INFO] [stdout] 320 | MA: Pointed>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `E` may contain interior mutability and a reference may not be safely transferable across a catch_unwind boundary [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider further restricting type parameter `E` with trait `RefUnwindSafe` [INFO] [stdout] | [INFO] [stdout] 322 | B: Monoid, E: std::panic::RefUnwindSafe [INFO] [stdout] | ++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `E` may not be safely transferred across an unwind boundary [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:320:17 [INFO] [stdout] | [INFO] [stdout] 320 | MA: Pointed>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `E` may not be safely transferred across an unwind boundary [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider further restricting type parameter `E` with trait `UnwindSafe` [INFO] [stdout] | [INFO] [stdout] 322 | B: Monoid, E: std::panic::UnwindSafe [INFO] [stdout] | +++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `E` cannot be shared between threads safely [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:320:17 [INFO] [stdout] | [INFO] [stdout] 320 | MA: Pointed>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `E` cannot be shared between threads safely [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider further restricting type parameter `E` with trait `Sync` [INFO] [stdout] | [INFO] [stdout] 322 | B: Monoid, E: std::marker::Sync [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `E` cannot be sent between threads safely [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:320:17 [INFO] [stdout] | [INFO] [stdout] 320 | MA: Pointed>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `E` cannot be sent between threads safely [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider further restricting type parameter `E` with trait `Send` [INFO] [stdout] | [INFO] [stdout] 322 | B: Monoid, E: std::marker::Send [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `E: Clone` is not satisfied [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:331:17 [INFO] [stdout] | [INFO] [stdout] 331 | MA: Pointed>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `E` [INFO] [stdout] | [INFO] [stdout] note: required for `either::Either` to implement `Clone` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 109 | #[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)] [INFO] [stdout] | ----- in this derive macro expansion [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ - type parameter would need to implement `Clone` [INFO] [stdout] = help: consider manually implementing `Clone` to avoid undesired bounds [INFO] [stdout] help: consider further restricting type parameter `E` with trait `Clone` [INFO] [stdout] | [INFO] [stdout] 333 | B: Term, E: std::clone::Clone [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `E` may contain interior mutability and a reference may not be safely transferable across a catch_unwind boundary [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:331:17 [INFO] [stdout] | [INFO] [stdout] 331 | MA: Pointed>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `E` may contain interior mutability and a reference may not be safely transferable across a catch_unwind boundary [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider further restricting type parameter `E` with trait `RefUnwindSafe` [INFO] [stdout] | [INFO] [stdout] 333 | B: Term, E: std::panic::RefUnwindSafe [INFO] [stdout] | ++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `E` may not be safely transferred across an unwind boundary [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:331:17 [INFO] [stdout] | [INFO] [stdout] 331 | MA: Pointed>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `E` may not be safely transferred across an unwind boundary [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider further restricting type parameter `E` with trait `UnwindSafe` [INFO] [stdout] | [INFO] [stdout] 333 | B: Term, E: std::panic::UnwindSafe [INFO] [stdout] | +++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `E` cannot be shared between threads safely [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:331:17 [INFO] [stdout] | [INFO] [stdout] 331 | MA: Pointed>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `E` cannot be shared between threads safely [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider further restricting type parameter `E` with trait `Sync` [INFO] [stdout] | [INFO] [stdout] 333 | B: Term, E: std::marker::Sync [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `E` cannot be sent between threads safely [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:331:17 [INFO] [stdout] | [INFO] [stdout] 331 | MA: Pointed>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `E` cannot be sent between threads safely [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider further restricting type parameter `E` with trait `Send` [INFO] [stdout] | [INFO] [stdout] 333 | B: Term, E: std::marker::Send [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `E: Clone` is not satisfied [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:346:17 [INFO] [stdout] | [INFO] [stdout] 346 | MA: Pointed>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `E` [INFO] [stdout] | [INFO] [stdout] note: required for `either::Either` to implement `Clone` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 109 | #[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)] [INFO] [stdout] | ----- in this derive macro expansion [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ - type parameter would need to implement `Clone` [INFO] [stdout] = help: consider manually implementing `Clone` to avoid undesired bounds [INFO] [stdout] help: consider further restricting type parameter `E` with trait `Clone` [INFO] [stdout] | [INFO] [stdout] 347 | A: Term, E: std::clone::Clone [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `E` may contain interior mutability and a reference may not be safely transferable across a catch_unwind boundary [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:346:17 [INFO] [stdout] | [INFO] [stdout] 346 | MA: Pointed>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `E` may contain interior mutability and a reference may not be safely transferable across a catch_unwind boundary [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider further restricting type parameter `E` with trait `RefUnwindSafe` [INFO] [stdout] | [INFO] [stdout] 347 | A: Term, E: std::panic::RefUnwindSafe [INFO] [stdout] | ++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `E` may not be safely transferred across an unwind boundary [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:346:17 [INFO] [stdout] | [INFO] [stdout] 346 | MA: Pointed>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `E` may not be safely transferred across an unwind boundary [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider further restricting type parameter `E` with trait `UnwindSafe` [INFO] [stdout] | [INFO] [stdout] 347 | A: Term, E: std::panic::UnwindSafe [INFO] [stdout] | +++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `E` cannot be shared between threads safely [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:346:17 [INFO] [stdout] | [INFO] [stdout] 346 | MA: Pointed>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `E` cannot be shared between threads safely [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider further restricting type parameter `E` with trait `Sync` [INFO] [stdout] | [INFO] [stdout] 347 | A: Term, E: std::marker::Sync [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `E` cannot be sent between threads safely [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:346:17 [INFO] [stdout] | [INFO] [stdout] 346 | MA: Pointed>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `E` cannot be sent between threads safely [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider further restricting type parameter `E` with trait `Send` [INFO] [stdout] | [INFO] [stdout] 347 | A: Term, E: std::marker::Send [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `< as Functor>::Mapped as Pointed>::Pointed == A1` [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:360:11 [INFO] [stdout] | [INFO] [stdout] 358 | impl TraverseT for ExceptT [INFO] [stdout] | -- expected this type parameter [INFO] [stdout] 359 | where [INFO] [stdout] 360 | Self: Functor, [INFO] [stdout] | ^^^^^^^^^^^ expected type parameter `A1`, found associated type [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `A1` [INFO] [stdout] found associated type `< as functor::Functor>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = note: you might be missing a type parameter or trait bound [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MA: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:400:1 [INFO] [stdout] | [INFO] [stdout] 400 | / impl MonadTrans for ExceptT [INFO] [stdout] 401 | | where [INFO] [stdout] 402 | | MA: ReturnM>, [INFO] [stdout] 403 | | MB: Monad, Pointed = A, Chained = MA>, [INFO] [stdout] 404 | | E: Term, [INFO] [stdout] 405 | | A: Term, [INFO] [stdout] | |____________^ the trait `monad::ChainM` is not implemented for `MA` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MA` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 402 | MA: ReturnM> + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MA: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:407:5 [INFO] [stdout] | [INFO] [stdout] 407 | fn lift(m: MB) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ the trait `monad::ChainM` is not implemented for `MA` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MA` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 402 | MA: ReturnM> + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MA: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:403:42 [INFO] [stdout] | [INFO] [stdout] 403 | MB: Monad, Pointed = A, Chained = MA>, [INFO] [stdout] | ^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MA` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `monad::ChainM` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ChainM` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/control/monad/mod.rs:69:11 [INFO] [stdout] | [INFO] [stdout] 69 | pub trait ChainM: WithPointed { [INFO] [stdout] | ------ required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `MA` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 402 | MA: ReturnM> + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MA: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:70:19 [INFO] [stdout] | [INFO] [stdout] 70 | type Chained: ChainM; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `monad::ChainM` is not implemented for `MA` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MA` with trait `ChainM` [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:402:40 [INFO] [stdout] | [INFO] [stdout] 402 | MA: ReturnM> + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `E: Clone` is not satisfied [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:415:17 [INFO] [stdout] | [INFO] [stdout] 415 | MA: Pointed>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `E` [INFO] [stdout] | [INFO] [stdout] note: required for `either::Either` to implement `Clone` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 109 | #[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)] [INFO] [stdout] | ----- in this derive macro expansion [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ - type parameter would need to implement `Clone` [INFO] [stdout] = help: consider manually implementing `Clone` to avoid undesired bounds [INFO] [stdout] help: consider further restricting type parameter `E` with trait `Clone` [INFO] [stdout] | [INFO] [stdout] 416 | A: Term, E: std::clone::Clone [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `E` may contain interior mutability and a reference may not be safely transferable across a catch_unwind boundary [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:415:17 [INFO] [stdout] | [INFO] [stdout] 415 | MA: Pointed>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `E` may contain interior mutability and a reference may not be safely transferable across a catch_unwind boundary [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider further restricting type parameter `E` with trait `RefUnwindSafe` [INFO] [stdout] | [INFO] [stdout] 416 | A: Term, E: std::panic::RefUnwindSafe [INFO] [stdout] | ++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `E` may not be safely transferred across an unwind boundary [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:415:17 [INFO] [stdout] | [INFO] [stdout] 415 | MA: Pointed>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `E` may not be safely transferred across an unwind boundary [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider further restricting type parameter `E` with trait `UnwindSafe` [INFO] [stdout] | [INFO] [stdout] 416 | A: Term, E: std::panic::UnwindSafe [INFO] [stdout] | +++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `E` cannot be shared between threads safely [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:415:17 [INFO] [stdout] | [INFO] [stdout] 415 | MA: Pointed>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `E` cannot be shared between threads safely [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider further restricting type parameter `E` with trait `Sync` [INFO] [stdout] | [INFO] [stdout] 416 | A: Term, E: std::marker::Sync [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `E` cannot be sent between threads safely [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:415:17 [INFO] [stdout] | [INFO] [stdout] 415 | MA: Pointed>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `E` cannot be sent between threads safely [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider further restricting type parameter `E` with trait `Send` [INFO] [stdout] | [INFO] [stdout] 416 | A: Term, E: std::marker::Send [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `E: Clone` is not satisfied [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:423:34 [INFO] [stdout] | [INFO] [stdout] 423 | trait LowerEither: Pointed> + WithPointed { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `E` [INFO] [stdout] | [INFO] [stdout] note: required for `either::Either` to implement `Clone` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 109 | #[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)] [INFO] [stdout] | ----- in this derive macro expansion [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ - type parameter would need to implement `Clone` [INFO] [stdout] = help: consider manually implementing `Clone` to avoid undesired bounds [INFO] [stdout] help: consider restricting type parameter `E` with trait `Clone` [INFO] [stdout] | [INFO] [stdout] 423 | trait LowerEither: Pointed> + WithPointed { [INFO] [stdout] | +++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A: Clone` is not satisfied [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:423:34 [INFO] [stdout] | [INFO] [stdout] 423 | trait LowerEither: Pointed> + WithPointed { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `A` [INFO] [stdout] | [INFO] [stdout] note: required for `either::Either` to implement `Clone` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 109 | #[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)] [INFO] [stdout] | ----- in this derive macro expansion [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ - type parameter would need to implement `Clone` [INFO] [stdout] = help: consider manually implementing `Clone` to avoid undesired bounds [INFO] [stdout] help: consider restricting type parameter `A` with trait `Clone` [INFO] [stdout] | [INFO] [stdout] 423 | trait LowerEither: Pointed> + WithPointed { [INFO] [stdout] | +++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `E` may contain interior mutability and a reference may not be safely transferable across a catch_unwind boundary [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:423:34 [INFO] [stdout] | [INFO] [stdout] 423 | trait LowerEither: Pointed> + WithPointed { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `E` may contain interior mutability and a reference may not be safely transferable across a catch_unwind boundary [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider restricting type parameter `E` with trait `RefUnwindSafe` [INFO] [stdout] | [INFO] [stdout] 423 | trait LowerEither: Pointed> + WithPointed { [INFO] [stdout] | +++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `A` may contain interior mutability and a reference may not be safely transferable across a catch_unwind boundary [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:423:34 [INFO] [stdout] | [INFO] [stdout] 423 | trait LowerEither: Pointed> + WithPointed { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `A` may contain interior mutability and a reference may not be safely transferable across a catch_unwind boundary [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider restricting type parameter `A` with trait `RefUnwindSafe` [INFO] [stdout] | [INFO] [stdout] 423 | trait LowerEither: Pointed> + WithPointed { [INFO] [stdout] | +++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `E` may not be safely transferred across an unwind boundary [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:423:34 [INFO] [stdout] | [INFO] [stdout] 423 | trait LowerEither: Pointed> + WithPointed { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `E` may not be safely transferred across an unwind boundary [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider restricting type parameter `E` with trait `UnwindSafe` [INFO] [stdout] | [INFO] [stdout] 423 | trait LowerEither: Pointed> + WithPointed { [INFO] [stdout] | ++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `A` may not be safely transferred across an unwind boundary [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:423:34 [INFO] [stdout] | [INFO] [stdout] 423 | trait LowerEither: Pointed> + WithPointed { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `A` may not be safely transferred across an unwind boundary [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider restricting type parameter `A` with trait `UnwindSafe` [INFO] [stdout] | [INFO] [stdout] 423 | trait LowerEither: Pointed> + WithPointed { [INFO] [stdout] | ++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `E` cannot be shared between threads safely [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:423:34 [INFO] [stdout] | [INFO] [stdout] 423 | trait LowerEither: Pointed> + WithPointed { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `E` cannot be shared between threads safely [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider restricting type parameter `E` with trait `Sync` [INFO] [stdout] | [INFO] [stdout] 423 | trait LowerEither: Pointed> + WithPointed { [INFO] [stdout] | +++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `A` cannot be shared between threads safely [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:423:34 [INFO] [stdout] | [INFO] [stdout] 423 | trait LowerEither: Pointed> + WithPointed { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `A` cannot be shared between threads safely [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider restricting type parameter `A` with trait `Sync` [INFO] [stdout] | [INFO] [stdout] 423 | trait LowerEither: Pointed> + WithPointed { [INFO] [stdout] | +++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `E` cannot be sent between threads safely [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:423:34 [INFO] [stdout] | [INFO] [stdout] 423 | trait LowerEither: Pointed> + WithPointed { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `E` cannot be sent between threads safely [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider restricting type parameter `E` with trait `Send` [INFO] [stdout] | [INFO] [stdout] 423 | trait LowerEither: Pointed> + WithPointed { [INFO] [stdout] | +++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `A` cannot be sent between threads safely [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:423:34 [INFO] [stdout] | [INFO] [stdout] 423 | trait LowerEither: Pointed> + WithPointed { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `A` cannot be sent between threads safely [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider restricting type parameter `A` with trait `Send` [INFO] [stdout] | [INFO] [stdout] 423 | trait LowerEither: Pointed> + WithPointed { [INFO] [stdout] | +++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `E: Clone` is not satisfied [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:429:16 [INFO] [stdout] | [INFO] [stdout] 429 | T: Pointed> + WithPointed, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `E` [INFO] [stdout] | [INFO] [stdout] note: required for `either::Either` to implement `Clone` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 109 | #[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)] [INFO] [stdout] | ----- in this derive macro expansion [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ - type parameter would need to implement `Clone` [INFO] [stdout] = help: consider manually implementing `Clone` to avoid undesired bounds [INFO] [stdout] help: consider further restricting type parameter `E` with trait `Clone` [INFO] [stdout] | [INFO] [stdout] 429 | T: Pointed> + WithPointed, E: std::clone::Clone [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `A: Clone` is not satisfied [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:429:16 [INFO] [stdout] | [INFO] [stdout] 429 | T: Pointed> + WithPointed, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ the trait `Clone` is not implemented for `A` [INFO] [stdout] | [INFO] [stdout] note: required for `either::Either` to implement `Clone` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 109 | #[derive(Debug, Copy, Clone, PartialEq, Eq, PartialOrd, Ord, Hash)] [INFO] [stdout] | ----- in this derive macro expansion [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ - type parameter would need to implement `Clone` [INFO] [stdout] = help: consider manually implementing `Clone` to avoid undesired bounds [INFO] [stdout] help: consider further restricting type parameter `A` with trait `Clone` [INFO] [stdout] | [INFO] [stdout] 429 | T: Pointed> + WithPointed, A: std::clone::Clone [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `E` may contain interior mutability and a reference may not be safely transferable across a catch_unwind boundary [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:429:16 [INFO] [stdout] | [INFO] [stdout] 429 | T: Pointed> + WithPointed, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `E` may contain interior mutability and a reference may not be safely transferable across a catch_unwind boundary [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider further restricting type parameter `E` with trait `RefUnwindSafe` [INFO] [stdout] | [INFO] [stdout] 429 | T: Pointed> + WithPointed, E: std::panic::RefUnwindSafe [INFO] [stdout] | ++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `A` may contain interior mutability and a reference may not be safely transferable across a catch_unwind boundary [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:429:16 [INFO] [stdout] | [INFO] [stdout] 429 | T: Pointed> + WithPointed, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `A` may contain interior mutability and a reference may not be safely transferable across a catch_unwind boundary [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider further restricting type parameter `A` with trait `RefUnwindSafe` [INFO] [stdout] | [INFO] [stdout] 429 | T: Pointed> + WithPointed, A: std::panic::RefUnwindSafe [INFO] [stdout] | ++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `E` may not be safely transferred across an unwind boundary [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:429:16 [INFO] [stdout] | [INFO] [stdout] 429 | T: Pointed> + WithPointed, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `E` may not be safely transferred across an unwind boundary [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider further restricting type parameter `E` with trait `UnwindSafe` [INFO] [stdout] | [INFO] [stdout] 429 | T: Pointed> + WithPointed, E: std::panic::UnwindSafe [INFO] [stdout] | +++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the type `A` may not be safely transferred across an unwind boundary [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:429:16 [INFO] [stdout] | [INFO] [stdout] 429 | T: Pointed> + WithPointed, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `A` may not be safely transferred across an unwind boundary [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider further restricting type parameter `A` with trait `UnwindSafe` [INFO] [stdout] | [INFO] [stdout] 429 | T: Pointed> + WithPointed, A: std::panic::UnwindSafe [INFO] [stdout] | +++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `E` cannot be shared between threads safely [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:429:16 [INFO] [stdout] | [INFO] [stdout] 429 | T: Pointed> + WithPointed, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `E` cannot be shared between threads safely [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider further restricting type parameter `E` with trait `Sync` [INFO] [stdout] | [INFO] [stdout] 429 | T: Pointed> + WithPointed, E: std::marker::Sync [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `A` cannot be shared between threads safely [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:429:16 [INFO] [stdout] | [INFO] [stdout] 429 | T: Pointed> + WithPointed, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `A` cannot be shared between threads safely [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider further restricting type parameter `A` with trait `Sync` [INFO] [stdout] | [INFO] [stdout] 429 | T: Pointed> + WithPointed, A: std::marker::Sync [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `E` cannot be sent between threads safely [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:429:16 [INFO] [stdout] | [INFO] [stdout] 429 | T: Pointed> + WithPointed, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `E` cannot be sent between threads safely [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider further restricting type parameter `E` with trait `Send` [INFO] [stdout] | [INFO] [stdout] 429 | T: Pointed> + WithPointed, E: std::marker::Send [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: `A` cannot be sent between threads safely [INFO] [stdout] --> crates/glasgae/src/transformers/except.rs:429:16 [INFO] [stdout] | [INFO] [stdout] 429 | T: Pointed> + WithPointed, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ `A` cannot be sent between threads safely [INFO] [stdout] | [INFO] [stdout] note: required because it appears within the type `either::Either` [INFO] [stdout] --> crates/glasgae/src/base/data/either.rs:110:10 [INFO] [stdout] | [INFO] [stdout] 110 | pub enum Either { [INFO] [stdout] | ^^^^^^ [INFO] [stdout] help: consider further restricting type parameter `A` with trait `Send` [INFO] [stdout] | [INFO] [stdout] 429 | T: Pointed> + WithPointed, A: std::marker::Send [INFO] [stdout] | ++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `>::Mapped> as Pointed>::Pointed == T` [INFO] [stdout] --> crates/glasgae/src/transformers/identity.rs:47:5 [INFO] [stdout] | [INFO] [stdout] 40 | impl Functor for IdentityT [INFO] [stdout] | - expected this type parameter [INFO] [stdout] ... [INFO] [stdout] 47 | fn fmap(self, f: impl crate::prelude::FunctionT) -> Self::Mapped { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type mismatch resolving `>::Mapped> as Pointed>::Pointed == T` [INFO] [stdout] | [INFO] [stdout] note: expected this to be `T` [INFO] [stdout] --> crates/glasgae/src/base/data/pointed.rs:47:28 [INFO] [stdout] | [INFO] [stdout] 47 | type Pointed = $arg::Pointed; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/transformers/identity.rs:37:1 [INFO] [stdout] | [INFO] [stdout] 37 | derive_pointed_via!(IdentityT<(MA)>); [INFO] [stdout] | ------------------------------------ in this macro invocation [INFO] [stdout] = note: expected type parameter `T` [INFO] [stdout] found associated type `<>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = note: you might be missing a type parameter or trait bound [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: this error originates in the macro `derive_pointed_via` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `>::Mapped> as Pointed>::Pointed == T` [INFO] [stdout] --> crates/glasgae/src/transformers/identity.rs:45:19 [INFO] [stdout] | [INFO] [stdout] 40 | impl Functor for IdentityT [INFO] [stdout] | - expected this type parameter [INFO] [stdout] ... [INFO] [stdout] 45 | type Mapped = IdentityT; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ type mismatch resolving `>::Mapped> as Pointed>::Pointed == T` [INFO] [stdout] | [INFO] [stdout] note: expected this to be `T` [INFO] [stdout] --> crates/glasgae/src/base/data/pointed.rs:47:28 [INFO] [stdout] | [INFO] [stdout] 47 | type Pointed = $arg::Pointed; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/transformers/identity.rs:37:1 [INFO] [stdout] | [INFO] [stdout] 37 | derive_pointed_via!(IdentityT<(MA)>); [INFO] [stdout] | ------------------------------------ in this macro invocation [INFO] [stdout] = note: expected type parameter `T` [INFO] [stdout] found associated type `<>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = note: you might be missing a type parameter or trait bound [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: this error originates in the macro `derive_pointed_via` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `<>::Mapped as Pointed>::Pointed == T` [INFO] [stdout] --> crates/glasgae/src/transformers/identity.rs:42:9 [INFO] [stdout] | [INFO] [stdout] 40 | impl Functor for IdentityT [INFO] [stdout] | - expected this type parameter [INFO] [stdout] 41 | where [INFO] [stdout] 42 | MA: Functor, [INFO] [stdout] | ^^^^^^^^^^ expected type parameter `T`, found associated type [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `T` [INFO] [stdout] found associated type `<>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = note: you might be missing a type parameter or trait bound [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `< as Functor>::Mapped as Pointed>::Pointed == A1` [INFO] [stdout] --> crates/glasgae/src/transformers/maybe.rs:176:11 [INFO] [stdout] | [INFO] [stdout] 174 | impl TraverseT for MaybeT [INFO] [stdout] | -- expected this type parameter [INFO] [stdout] 175 | where [INFO] [stdout] 176 | Self: Functor, [INFO] [stdout] | ^^^^^^^^^^^ expected type parameter `A1`, found associated type [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `A1` [INFO] [stdout] found associated type `< as functor::Functor>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = note: you might be missing a type parameter or trait bound [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `<>::Mapped as Pointed>::Pointed == B` [INFO] [stdout] --> crates/glasgae/src/transformers/reader.rs:167:5 [INFO] [stdout] | [INFO] [stdout] 159 | impl Functor for ReaderT [INFO] [stdout] | - expected this type parameter [INFO] [stdout] ... [INFO] [stdout] 167 | fn fmap(self, f: impl FunctionT) -> ReaderT { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected type parameter `B`, found associated type [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `B` [INFO] [stdout] found associated type `<>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = note: you might be missing a type parameter or trait bound [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `>::Mapped> as Pointed>::Pointed == B` [INFO] [stdout] --> crates/glasgae/src/transformers/reader.rs:165:19 [INFO] [stdout] | [INFO] [stdout] 159 | impl Functor for ReaderT [INFO] [stdout] | - expected this type parameter [INFO] [stdout] ... [INFO] [stdout] 165 | type Mapped = ReaderT; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ type mismatch resolving `>::Mapped> as Pointed>::Pointed == B` [INFO] [stdout] | [INFO] [stdout] note: expected this to be `B` [INFO] [stdout] --> crates/glasgae/src/base/data/pointed.rs:47:28 [INFO] [stdout] | [INFO] [stdout] 47 | type Pointed = $arg::Pointed; [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/transformers/reader.rs:156:1 [INFO] [stdout] | [INFO] [stdout] 156 | derive_pointed_via!(ReaderT); [INFO] [stdout] | ------------------------------------ in this macro invocation [INFO] [stdout] = note: expected type parameter `B` [INFO] [stdout] found associated type `<>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = note: you might be missing a type parameter or trait bound [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: this error originates in the macro `derive_pointed_via` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `<>::Mapped as Pointed>::Pointed == B` [INFO] [stdout] --> crates/glasgae/src/transformers/reader.rs:162:9 [INFO] [stdout] | [INFO] [stdout] 159 | impl Functor for ReaderT [INFO] [stdout] | - expected this type parameter [INFO] [stdout] ... [INFO] [stdout] 162 | MA: Functor, [INFO] [stdout] | ^^^^^^^^^^ expected type parameter `B`, found associated type [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `B` [INFO] [stdout] found associated type `<>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = note: you might be missing a type parameter or trait bound [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MA: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/transformers/state.rs:371:1 [INFO] [stdout] | [INFO] [stdout] 371 | / impl MonadTrans for StateT [INFO] [stdout] 372 | | where [INFO] [stdout] 373 | | MA: MonadLower + ReturnM, [INFO] [stdout] 374 | | MA::Lowered: Monad<(A, S), Pointed = A, Chained = MA>, [INFO] [stdout] 375 | | S: Term, [INFO] [stdout] 376 | | A: Term, [INFO] [stdout] | |____________^ the trait `monad::ChainM` is not implemented for `MA` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MA` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 373 | MA: MonadLower + ReturnM + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MA: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/transformers/state.rs:378:5 [INFO] [stdout] | [INFO] [stdout] 378 | fn lift(m: MA::Lowered) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `monad::ChainM` is not implemented for `MA` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MA` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 373 | MA: MonadLower + ReturnM + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MA: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/transformers/state.rs:374:45 [INFO] [stdout] | [INFO] [stdout] 374 | MA::Lowered: Monad<(A, S), Pointed = A, Chained = MA>, [INFO] [stdout] | ^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MA` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `monad::ChainM` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ChainM` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/control/monad/mod.rs:69:11 [INFO] [stdout] | [INFO] [stdout] 69 | pub trait ChainM: WithPointed { [INFO] [stdout] | ------ required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `MA` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 373 | MA: MonadLower + ReturnM + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MA: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:70:19 [INFO] [stdout] | [INFO] [stdout] 70 | type Chained: ChainM; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `monad::ChainM` is not implemented for `MA` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MA` with trait `ChainM` [INFO] [stdout] --> crates/glasgae/src/transformers/state.rs:373:53 [INFO] [stdout] | [INFO] [stdout] 373 | MA: MonadLower + ReturnM + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MA: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/transformers/state.rs:383:1 [INFO] [stdout] | [INFO] [stdout] 383 | / impl MonadIO for StateT [INFO] [stdout] 384 | | where [INFO] [stdout] 385 | | MA: ReturnM + MonadLower, [INFO] [stdout] 386 | | MA::Lowered: Monad<(A, S), Pointed = A, Chained = MA> + MonadIO, [INFO] [stdout] 387 | | S: Term, [INFO] [stdout] 388 | | A: Term, [INFO] [stdout] | |____________^ the trait `monad::ChainM` is not implemented for `MA` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MA` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 385 | MA: ReturnM + MonadLower + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MA: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/transformers/state.rs:390:5 [INFO] [stdout] | [INFO] [stdout] 390 | fn lift_io(m: IO) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `monad::ChainM` is not implemented for `MA` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MA` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 385 | MA: ReturnM + MonadLower + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MA: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/transformers/state.rs:386:45 [INFO] [stdout] | [INFO] [stdout] 386 | MA::Lowered: Monad<(A, S), Pointed = A, Chained = MA> + MonadIO, [INFO] [stdout] | ^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MA` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `monad::ChainM` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ChainM` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/control/monad/mod.rs:69:11 [INFO] [stdout] | [INFO] [stdout] 69 | pub trait ChainM: WithPointed { [INFO] [stdout] | ------ required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `MA` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 385 | MA: ReturnM + MonadLower + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MA: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:70:19 [INFO] [stdout] | [INFO] [stdout] 70 | type Chained: ChainM; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `monad::ChainM` is not implemented for `MA` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MA` with trait `ChainM` [INFO] [stdout] --> crates/glasgae/src/transformers/state.rs:385:53 [INFO] [stdout] | [INFO] [stdout] 385 | MA: ReturnM + MonadLower + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `<<... as Functor<...>>::Mapped as Pointed>::Pointed == Box<...>` [INFO] [stdout] --> crates/glasgae/src/transformers/writer.rs:234:9 [INFO] [stdout] | [INFO] [stdout] 234 | MF: Functor, Pointed = (F, W)> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Box>`, found associated type [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box<(dyn function::FunctionT<(A, W), (B, W)> + 'static)>` [INFO] [stdout] found associated type `< + 'static)>>>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = help: consider constraining the associated type `< + 'static)>>>::Mapped as pointed::Pointed>::Pointed` to `Box<(dyn function::FunctionT<(A, W), (B, W)> + 'static)>` [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/glasgae-8194c79139e38ab9.long-type-18226127347012985995.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MA: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/transformers/writer.rs:290:1 [INFO] [stdout] | [INFO] [stdout] 290 | / impl MonadTrans for WriterT [INFO] [stdout] 291 | | where [INFO] [stdout] 292 | | MA: MonadLower + ReturnM, [INFO] [stdout] 293 | | MA::Lowered: Monad<(A, W), Pointed = A, Chained = MA>, [INFO] [stdout] 294 | | W: Monoid, [INFO] [stdout] 295 | | A: Term, [INFO] [stdout] | |____________^ the trait `monad::ChainM` is not implemented for `MA` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MA` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 292 | MA: MonadLower + ReturnM + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MA: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/transformers/writer.rs:297:5 [INFO] [stdout] | [INFO] [stdout] 297 | fn lift(m: MA::Lowered) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `monad::ChainM` is not implemented for `MA` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MA` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 292 | MA: MonadLower + ReturnM + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MA: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/transformers/writer.rs:293:45 [INFO] [stdout] | [INFO] [stdout] 293 | MA::Lowered: Monad<(A, W), Pointed = A, Chained = MA>, [INFO] [stdout] | ^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MA` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `monad::ChainM` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ChainM` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/control/monad/mod.rs:69:11 [INFO] [stdout] | [INFO] [stdout] 69 | pub trait ChainM: WithPointed { [INFO] [stdout] | ------ required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `MA` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 292 | MA: MonadLower + ReturnM + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MA: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:70:19 [INFO] [stdout] | [INFO] [stdout] 70 | type Chained: ChainM; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `monad::ChainM` is not implemented for `MA` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MA` with trait `ChainM` [INFO] [stdout] --> crates/glasgae/src/transformers/writer.rs:292:53 [INFO] [stdout] | [INFO] [stdout] 292 | MA: MonadLower + ReturnM + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MA: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/transformers/writer.rs:302:1 [INFO] [stdout] | [INFO] [stdout] 302 | / impl MonadIO for WriterT [INFO] [stdout] 303 | | where [INFO] [stdout] 304 | | MA: MonadLower + ReturnM, [INFO] [stdout] 305 | | MA::Lowered: Monad<(A, W), Chained = MA> + MonadIO, [INFO] [stdout] 306 | | W: Monoid, [INFO] [stdout] 307 | | A: Term, [INFO] [stdout] | |____________^ the trait `monad::ChainM` is not implemented for `MA` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MA` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 304 | MA: MonadLower + ReturnM + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MA: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/transformers/writer.rs:309:5 [INFO] [stdout] | [INFO] [stdout] 309 | fn lift_io(m: IO) -> Self { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `monad::ChainM` is not implemented for `MA` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MA` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 304 | MA: MonadLower + ReturnM + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MA: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/transformers/writer.rs:305:32 [INFO] [stdout] | [INFO] [stdout] 305 | MA::Lowered: Monad<(A, W), Chained = MA> + MonadIO, [INFO] [stdout] | ^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MA` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `monad::ChainM` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ChainM` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/control/monad/mod.rs:69:11 [INFO] [stdout] | [INFO] [stdout] 69 | pub trait ChainM: WithPointed { [INFO] [stdout] | ------ required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `MA` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 304 | MA: MonadLower + ReturnM + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MA: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:70:19 [INFO] [stdout] | [INFO] [stdout] 70 | type Chained: ChainM; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `monad::ChainM` is not implemented for `MA` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MA` with trait `ChainM` [INFO] [stdout] --> crates/glasgae/src/transformers/writer.rs:304:53 [INFO] [stdout] | [INFO] [stdout] 304 | MA: MonadLower + ReturnM + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `::Pointed == FA` [INFO] [stdout] --> crates/glasgae/src/transformers/lift.rs:97:52 [INFO] [stdout] | [INFO] [stdout] 90 | impl AppA for Lift [INFO] [stdout] | -- - found type parameter [INFO] [stdout] | | [INFO] [stdout] | expected type parameter [INFO] [stdout] ... [INFO] [stdout] 97 | FF: Pointed + Applicative, [INFO] [stdout] | ^^^^^^^^^^ expected type parameter `FA`, found type parameter `A` [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `FA` [INFO] [stdout] found type parameter `A` [INFO] [stdout] = note: a type parameter was expected, but a different one was found; you might be missing a type parameter or trait bound [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch10-02-traits.html#traits-as-parameters [INFO] [stdout] note: required by a bound in `applicative::AppA` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `AppA` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/control/applicative.rs:128:11 [INFO] [stdout] | [INFO] [stdout] 128 | pub trait AppA: WithPointed + WithPointed { [INFO] [stdout] | ---- required by a bound in this trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `::Pointed == FB` [INFO] [stdout] --> crates/glasgae/src/transformers/lift.rs:97:52 [INFO] [stdout] | [INFO] [stdout] 90 | impl AppA for Lift [INFO] [stdout] | -- - found type parameter [INFO] [stdout] | | [INFO] [stdout] | expected type parameter [INFO] [stdout] ... [INFO] [stdout] 97 | FF: Pointed + Applicative, [INFO] [stdout] | ^^^^^^^^^^ expected type parameter `FB`, found type parameter `B` [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `FB` [INFO] [stdout] found type parameter `B` [INFO] [stdout] = note: a type parameter was expected, but a different one was found; you might be missing a type parameter or trait bound [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch10-02-traits.html#traits-as-parameters [INFO] [stdout] note: required by a bound in `applicative::AppA` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `AppA` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/control/applicative.rs:128:11 [INFO] [stdout] | [INFO] [stdout] 128 | pub trait AppA: WithPointed + WithPointed { [INFO] [stdout] | ---- required by a bound in this trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `< as Functor>::Mapped as Pointed>::Pointed == A1` [INFO] [stdout] --> crates/glasgae/src/transformers/lift.rs:143:11 [INFO] [stdout] | [INFO] [stdout] 141 | impl TraverseT for Lift [INFO] [stdout] | -- expected this type parameter [INFO] [stdout] 142 | where [INFO] [stdout] 143 | Self: Functor, [INFO] [stdout] | ^^^^^^^^^^^ expected type parameter `A1`, found associated type [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `A1` [INFO] [stdout] found associated type `< as functor::Functor>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = note: you might be missing a type parameter or trait bound [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `M: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/zipper_cont.rs:28:1 [INFO] [stdout] | [INFO] [stdout] 28 | / impl ZipMove for Cont [INFO] [stdout] 29 | | where [INFO] [stdout] 30 | | Self: Monad, [INFO] [stdout] 31 | | M: ReturnM, [INFO] [stdout] 32 | | T: ZipMove, [INFO] [stdout] 33 | | D: Term, [INFO] [stdout] | |____________^ the trait `monad::ChainM` is not implemented for `M` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `M` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 31 | M: ReturnM + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `M: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/zipper_cont.rs:35:5 [INFO] [stdout] | [INFO] [stdout] 35 | fn zip_move(self, dir: D) -> M { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `monad::ChainM` is not implemented for `M` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `M` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 31 | M: ReturnM + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `M: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/zipper_cont.rs:30:33 [INFO] [stdout] | [INFO] [stdout] 30 | Self: Monad, [INFO] [stdout] | ^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `M` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `monad::ChainM` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ChainM` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/control/monad/mod.rs:69:11 [INFO] [stdout] | [INFO] [stdout] 69 | pub trait ChainM: WithPointed { [INFO] [stdout] | ------ required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `M` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 31 | M: ReturnM + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `M: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:70:19 [INFO] [stdout] | [INFO] [stdout] 70 | type Chained: ChainM; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `monad::ChainM` is not implemented for `M` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `M` with trait `ChainM` [INFO] [stdout] --> crates/glasgae/src/zipper_cont.rs:31:28 [INFO] [stdout] | [INFO] [stdout] 31 | M: ReturnM + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `M: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/zipper_cont.rs:62:1 [INFO] [stdout] | [INFO] [stdout] 62 | / impl ZipAllTheWay for Cont [INFO] [stdout] 63 | | where [INFO] [stdout] 64 | | Self: Monad, [INFO] [stdout] 65 | | M: ReturnM, [INFO] [stdout] 66 | | T: Pointed + ZipAllTheWay, [INFO] [stdout] 67 | | D: Term, [INFO] [stdout] | |____________^ the trait `monad::ChainM` is not implemented for `M` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `M` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 65 | M: ReturnM + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `M: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/zipper_cont.rs:69:5 [INFO] [stdout] | [INFO] [stdout] 69 | fn zip_all_the_way(self, dir: D, f: impl FunctionT>) -> M { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `monad::ChainM` is not implemented for `M` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `M` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 65 | M: ReturnM + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `M: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/zipper_cont.rs:64:33 [INFO] [stdout] | [INFO] [stdout] 64 | Self: Monad, [INFO] [stdout] | ^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `M` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `monad::ChainM` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ChainM` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/control/monad/mod.rs:69:11 [INFO] [stdout] | [INFO] [stdout] 69 | pub trait ChainM: WithPointed { [INFO] [stdout] | ------ required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `M` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 65 | M: ReturnM + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `M: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:70:19 [INFO] [stdout] | [INFO] [stdout] 70 | type Chained: ChainM; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `monad::ChainM` is not implemented for `M` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `M` with trait `ChainM` [INFO] [stdout] --> crates/glasgae/src/zipper_cont.rs:65:28 [INFO] [stdout] | [INFO] [stdout] 65 | M: ReturnM + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `N: monad::ChainM<(Option, Direction)>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/zipper_cont.rs:199:1 [INFO] [stdout] | [INFO] [stdout] 199 | / impl Travel for ZipperTerm [INFO] [stdout] 200 | | where [INFO] [stdout] 201 | | M: Monad, Direction), Chained = N>, [INFO] [stdout] 202 | | N: Monad + ReturnM, [INFO] [stdout] | |____________________________________________________________________________________________^ the trait `monad::ChainM<(Option, Direction)>` is not implemented for `N` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `N` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 202 | N: Monad + ReturnM + base::control::monad::ChainM<(std::option::Option, zipper_cont::Direction)>, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `N: monad::ChainM<(Option, Direction)>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/zipper_cont.rs:204:5 [INFO] [stdout] | [INFO] [stdout] 204 | fn travel(self, tf: impl FunctionT) -> N { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `monad::ChainM<(Option, Direction)>` is not implemented for `N` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `N` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 202 | N: Monad + ReturnM + base::control::monad::ChainM<(std::option::Option, zipper_cont::Direction)>, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `N: with_pointed::WithPointed<(Option, Direction)>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/zipper_cont.rs:201:69 [INFO] [stdout] | [INFO] [stdout] 201 | M: Monad, Direction), Chained = N>, [INFO] [stdout] | ^^^^^^^^^^^ the trait `with_pointed::WithPointed<(Option, Direction)>` is not implemented for `N` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `monad::ChainM` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ChainM` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/control/monad/mod.rs:69:11 [INFO] [stdout] | [INFO] [stdout] 69 | pub trait ChainM: WithPointed { [INFO] [stdout] | ------ required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `N` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 202 | N: Monad + ReturnM + base::data::with_pointed::WithPointed<(std::option::Option, zipper_cont::Direction)>, [INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `N: monad::ChainM<(Option, Direction)>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:70:19 [INFO] [stdout] | [INFO] [stdout] 70 | type Chained: ChainM; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `monad::ChainM<(Option, Direction)>` is not implemented for `N` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `N` with trait `ChainM` [INFO] [stdout] --> crates/glasgae/src/zipper_cont.rs:202:92 [INFO] [stdout] | [INFO] [stdout] 202 | N: Monad + ReturnM + base::control::monad::ChainM<(std::option::Option, zipper_cont::Direction)>, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `N: monad::ChainM<(Option, Direction1)>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/zipper_cont.rs:241:1 [INFO] [stdout] | [INFO] [stdout] 241 | / impl Travel for ZipperTerm [INFO] [stdout] 242 | | where [INFO] [stdout] 243 | | M: Monad, Direction1), Chained = N>, [INFO] [stdout] 244 | | N: Monad, [INFO] [stdout] | |____________________________________________________________^ the trait `monad::ChainM<(Option, Direction1)>` is not implemented for `N` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `N` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 244 | N: Monad + base::control::monad::ChainM<(std::option::Option, zipper_cont::Direction1)>, [INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `N: monad::ChainM<(Option, Direction1)>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/zipper_cont.rs:246:5 [INFO] [stdout] | [INFO] [stdout] 246 | fn travel(self, tf: impl FunctionT) -> N { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `monad::ChainM<(Option, Direction1)>` is not implemented for `N` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `N` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 244 | N: Monad + base::control::monad::ChainM<(std::option::Option, zipper_cont::Direction1)>, [INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `N: with_pointed::WithPointed<(Option, Direction1)>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/zipper_cont.rs:243:70 [INFO] [stdout] | [INFO] [stdout] 243 | M: Monad, Direction1), Chained = N>, [INFO] [stdout] | ^^^^^^^^^^^ the trait `with_pointed::WithPointed<(Option, Direction1)>` is not implemented for `N` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `monad::ChainM` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ChainM` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/control/monad/mod.rs:69:11 [INFO] [stdout] | [INFO] [stdout] 69 | pub trait ChainM: WithPointed { [INFO] [stdout] | ------ required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `N` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 244 | N: Monad + base::data::with_pointed::WithPointed<(std::option::Option, zipper_cont::Direction1)>, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `glasgae` (lib) due to 449 previous errors; 1 warning emitted [INFO] [stdout] error[E0277]: the trait bound `N: monad::ChainM<(Option, Direction1)>` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:70:19 [INFO] [stdout] | [INFO] [stdout] 70 | type Chained: ChainM; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `monad::ChainM<(Option, Direction1)>` is not implemented for `N` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `N` with trait `ChainM` [INFO] [stdout] --> crates/glasgae/src/zipper_cont.rs:244:60 [INFO] [stdout] | [INFO] [stdout] 244 | N: Monad + base::control::monad::ChainM<(std::option::Option, zipper_cont::Direction1)>, [INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] Some errors have detailed explanations: E0271, E0275, E0277. [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0271`. [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:293:1 [INFO] [stdout] | [INFO] [stdout] 293 | / impl LiftA2 for F [INFO] [stdout] 294 | | where [INFO] [stdout] 295 | | F: Term + BifunT, [INFO] [stdout] 296 | | MA: Pointed [INFO] [stdout] ... | [INFO] [stdout] 304 | | B: Term, [INFO] [stdout] 305 | | C: Term, [INFO] [stdout] | |____________^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 300 | MF: Applicative + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:307:5 [INFO] [stdout] | [INFO] [stdout] 307 | fn lift_a2(self) -> impl BifunT { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 300 | MF: Applicative + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:307:25 [INFO] [stdout] | [INFO] [stdout] 307 | fn lift_a2(self) -> impl BifunT { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `>` [INFO] [stdout] --> crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `>` [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 300 | MF: Applicative + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:307:25 [INFO] [stdout] | [INFO] [stdout] 307 | fn lift_a2(self) -> impl BifunT { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `>` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `>` [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 301 | MB: Pointed + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MC: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:307:25 [INFO] [stdout] | [INFO] [stdout] 307 | fn lift_a2(self) -> impl BifunT { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MC` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `>` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `>` [INFO] [stdout] help: consider further restricting type parameter `MC` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 302 | MC: Pointed + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:307:25 [INFO] [stdout] | [INFO] [stdout] 307 | fn lift_a2(self) -> impl BifunT { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 300 | MF: Applicative + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:290:25 [INFO] [stdout] | [INFO] [stdout] 290 | fn lift_a2(self) -> impl BifunT, WithPointedT>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] note: required for `F` to implement `applicative::LiftA2` [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:293:34 [INFO] [stdout] | [INFO] [stdout] 293 | impl LiftA2 for F [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 300 | MF: Applicative + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:290:25 [INFO] [stdout] | [INFO] [stdout] 290 | fn lift_a2(self) -> impl BifunT, WithPointedT>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] note: required for `F` to implement `applicative::LiftA2` [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:293:34 [INFO] [stdout] | [INFO] [stdout] 293 | impl LiftA2 for F [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ----------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 301 | MB: Pointed + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MC: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:290:25 [INFO] [stdout] | [INFO] [stdout] 290 | fn lift_a2(self) -> impl BifunT, WithPointedT>; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MC` [INFO] [stdout] | [INFO] [stdout] note: required for `F` to implement `applicative::LiftA2` [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:293:34 [INFO] [stdout] | [INFO] [stdout] 293 | impl LiftA2 for F [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ----------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `MC` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 302 | MC: Pointed + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:297:35 [INFO] [stdout] | [INFO] [stdout] 297 | + Functor, Mapped = MF> [INFO] [stdout] | ^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 300 | MF: Applicative + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `::Pointed == Box>` [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:297:35 [INFO] [stdout] | [INFO] [stdout] 297 | + Functor, Mapped = MF> [INFO] [stdout] | ^^^^^^^^^^^ expected `Box>`, found associated type [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box<(dyn function::FunctionT + 'static)>` [INFO] [stdout] found associated type `::Pointed` [INFO] [stdout] = help: consider constraining the associated type `::Pointed` to `Box<(dyn function::FunctionT + 'static)>` [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:300:50 [INFO] [stdout] | [INFO] [stdout] 300 | MF: Applicative + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `WithPointed` [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:301:29 [INFO] [stdout] | [INFO] [stdout] 301 | MB: Pointed + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] help: there is an associated type with the same name [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: Self::WithPointed; [INFO] [stdout] | ++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MC: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MC` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MC` with trait `WithPointed` [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:302:29 [INFO] [stdout] | [INFO] [stdout] 302 | MC: Pointed + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:293:55 [INFO] [stdout] | [INFO] [stdout] 293 | impl LiftA2 for F [INFO] [stdout] | ^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] note: required for `F` to implement `applicative::LiftA2` [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:293:34 [INFO] [stdout] | [INFO] [stdout] 293 | impl LiftA2 for F [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 300 | MF: Applicative + base::data::functor::Functor, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:293:55 [INFO] [stdout] | [INFO] [stdout] 293 | impl LiftA2 for F [INFO] [stdout] | ^ the trait `with_pointed::WithPointed` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] note: required for `F` to implement `applicative::LiftA2` [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:293:34 [INFO] [stdout] | [INFO] [stdout] 293 | impl LiftA2 for F [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ----------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 301 | MB: Pointed + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MC: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:293:55 [INFO] [stdout] | [INFO] [stdout] 293 | impl LiftA2 for F [INFO] [stdout] | ^ the trait `with_pointed::WithPointed` is not implemented for `MC` [INFO] [stdout] | [INFO] [stdout] note: required for `F` to implement `applicative::LiftA2` [INFO] [stdout] --> crates/glasgae/src/base/control/applicative.rs:293:34 [INFO] [stdout] | [INFO] [stdout] 293 | impl LiftA2 for F [INFO] [stdout] | ^^^^^^^^^^^^^^^^ ^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ----------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `MC` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 302 | MC: Pointed + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:233:1 [INFO] [stdout] | [INFO] [stdout] 233 | / impl FilterM for Vec [INFO] [stdout] 234 | | where [INFO] [stdout] 235 | | MA: Functor, Vec>, Pointed = bool, Mapped = MF> [INFO] [stdout] 236 | | + WithPointed, WithPointed = MB>, [INFO] [stdout] 237 | | MF: Applicative, Vec, WithA = MB, WithB = MB>, [INFO] [stdout] 238 | | MB: Pointed> + PureA, [INFO] [stdout] 239 | | A: Term, [INFO] [stdout] | |____________^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 237 | MF: Applicative, Vec, WithA = MB, WithB = MB> + base::data::functor::Functor, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:241:5 [INFO] [stdout] | [INFO] [stdout] 241 | fn filter_m(self, f: impl FunctionT) -> MB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 237 | MF: Applicative, Vec, WithA = MB, WithB = MB> + base::data::functor::Functor, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:235:59 [INFO] [stdout] | [INFO] [stdout] 235 | MA: Functor, Vec>, Pointed = bool, Mapped = MF> [INFO] [stdout] | ^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 237 | MF: Applicative, Vec, WithA = MB, WithB = MB> + base::data::with_pointed::WithPointed, [INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `::Pointed == Box, Vec>>` [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:235:59 [INFO] [stdout] | [INFO] [stdout] 235 | MA: Functor, Vec>, Pointed = bool, Mapped = MF> [INFO] [stdout] | ^^^^^^^^^^^ expected `Box, Vec>>`, found associated type [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box<(dyn function::FunctionT, Vec> + 'static)>` [INFO] [stdout] found associated type `::Pointed` [INFO] [stdout] = help: consider constraining the associated type `::Pointed` to `Box<(dyn function::FunctionT, Vec> + 'static)>` [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:237:60 [INFO] [stdout] | [INFO] [stdout] 237 | MF: Applicative, Vec, WithA = MB, WithB = MB> + base::data::functor::Functor, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `WithPointed` [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:238:42 [INFO] [stdout] | [INFO] [stdout] 238 | MB: Pointed> + PureA + base::data::with_pointed::WithPointed, [INFO] [stdout] | +++++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:233:44 [INFO] [stdout] | [INFO] [stdout] 233 | impl FilterM for Vec [INFO] [stdout] | ^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] note: required for `Vec` to implement `FilterM` [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:233:21 [INFO] [stdout] | [INFO] [stdout] 233 | impl FilterM for Vec [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ ^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 237 | MF: Applicative, Vec, WithA = MB, WithB = MB> + base::data::functor::Functor, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `<<... as Functor<...>>::Mapped as Pointed>::Pointed == Box<...>` [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:334:9 [INFO] [stdout] | [INFO] [stdout] 334 | MA: Functor, Vec>, Pointed = T> + WithPointed, WithPointed = MB>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected `Box, Vec>>`, found associated type [INFO] [stdout] | [INFO] [stdout] = note: expected struct `Box<(dyn function::FunctionT, Vec> + 'static)>` [INFO] [stdout] found associated type `<, Vec> + 'static)>>>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = help: consider constraining the associated type `<, Vec> + 'static)>>>::Mapped as pointed::Pointed>::Pointed` to `Box<(dyn function::FunctionT, Vec> + 'static)>` [INFO] [stdout] = note: for more information, visit https://doc.rust-lang.org/book/ch19-03-advanced-traits.html [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] = note: the full name for the type has been written to '/opt/rustwide/target/debug/deps/glasgae-1c4b71f778c4f728.long-type-15224056453042576847.txt' [INFO] [stdout] = note: consider using `--verbose` to print the full type name to the console [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:349:1 [INFO] [stdout] | [INFO] [stdout] 349 | pub trait LiftM: Term + FunctionT [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `monad::ChainM` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 352 | MB: ReturnM + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:351:31 [INFO] [stdout] | [INFO] [stdout] 351 | MA: Monad, [INFO] [stdout] | ^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `monad::ChainM` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:23 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `ChainM` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/control/monad/mod.rs:69:11 [INFO] [stdout] | [INFO] [stdout] 69 | pub trait ChainM: WithPointed { [INFO] [stdout] | ------ required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `WithPointed` [INFO] [stdout] | [INFO] [stdout] 352 | MB: ReturnM + base::data::with_pointed::WithPointed, [INFO] [stdout] | ++++++++++++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:70:19 [INFO] [stdout] | [INFO] [stdout] 70 | type Chained: ChainM; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `monad::ChainM` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 352 | MB: ReturnM + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:361:1 [INFO] [stdout] | [INFO] [stdout] 361 | / impl LiftM for F [INFO] [stdout] 362 | | where [INFO] [stdout] 363 | | F: Term + FunctionT, [INFO] [stdout] 364 | | MA: Monad, [INFO] [stdout] 365 | | MB: ReturnM, [INFO] [stdout] 366 | | A: Term, [INFO] [stdout] 367 | | B: Term, [INFO] [stdout] | |____________^ the trait `monad::ChainM` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 365 | MB: ReturnM + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: monad::ChainM` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:361:23 [INFO] [stdout] | [INFO] [stdout] 361 | impl LiftM for F [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ the trait `monad::ChainM` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] note: required by a bound in `monad::LiftM` [INFO] [stdout] --> crates/glasgae/src/base/control/monad/mod.rs:70:19 [INFO] [stdout] | [INFO] [stdout] 70 | type Chained: ChainM; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `LiftM` [INFO] [stdout] ... [INFO] [stdout] 349 | pub trait LiftM: Term + FunctionT [INFO] [stdout] | ----- required by a bound in this trait [INFO] [stdout] help: consider further restricting type parameter `MB` with trait `ChainM` [INFO] [stdout] | [INFO] [stdout] 365 | MB: ReturnM + base::control::monad::ChainM, [INFO] [stdout] | +++++++++++++++++++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `<>::Mapped as Pointed>::Pointed == B` [INFO] [stdout] --> crates/glasgae/src/base/data/bifunctor.rs:19:40 [INFO] [stdout] | [INFO] [stdout] 19 | pub trait Bifunctor: Bifmap + Functor [INFO] [stdout] | - ^^^^^^^^^^ expected type parameter `B`, found associated type [INFO] [stdout] | | [INFO] [stdout] | expected this type parameter [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `B` [INFO] [stdout] found associated type `<>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = note: you might be missing a type parameter or trait bound [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0271]: type mismatch resolving `<<>::WithBipointed as Functor>::Mapped as Pointed>::Pointed == B` [INFO] [stdout] --> crates/glasgae/src/base/data/bifunctor.rs:21:26 [INFO] [stdout] | [INFO] [stdout] 19 | pub trait Bifunctor: Bifmap + Functor [INFO] [stdout] | - expected this type parameter [INFO] [stdout] 20 | where [INFO] [stdout] 21 | Self::WithBipointed: Functor, [INFO] [stdout] | ^^^^^^^^^^ expected type parameter `B`, found associated type [INFO] [stdout] | [INFO] [stdout] = note: expected type parameter `B` [INFO] [stdout] found associated type `<<>::WithBipointed as functor::Functor>::Mapped as pointed::Pointed>::Pointed` [INFO] [stdout] = note: you might be missing a type parameter or trait bound [INFO] [stdout] note: required by a bound in `functor::Functor` [INFO] [stdout] --> crates/glasgae/src/base/data/with_pointed.rs:6:50 [INFO] [stdout] | [INFO] [stdout] 6 | type WithPointed: WithPointed; [INFO] [stdout] | ^^^^^^^^^^^ required by this bound in `Functor` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:29:11 [INFO] [stdout] | [INFO] [stdout] 29 | pub trait Functor: WithPointed [INFO] [stdout] | ------- required by a bound in this trait [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:126:9 [INFO] [stdout] | [INFO] [stdout] 126 | / impl<$($_arg,)* $arg $(,$arg_)*, MA, MF, B, MB> $crate::prelude::TraverseT for $ty<$($_arg,)* $arg $(,$arg_)*> [INFO] [stdout] 127 | | where [INFO] [stdout] 128 | | $( [INFO] [stdout] 129 | | $_arg: $crate::prelude::Term $(+ $_trait)*, [INFO] [stdout] ... | [INFO] [stdout] 139 | | B: $crate::prelude::Term $(+ $trait)*, [INFO] [stdout] 140 | | MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] | |______________________________________________________________________^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/linked_list.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(LinkedList<(X)>, push_back); [INFO] [stdout] | -------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA>, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:142:13 [INFO] [stdout] | [INFO] [stdout] 142 | type Mapped = MA; [INFO] [stdout] | ^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/linked_list.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(LinkedList<(X)>, push_back); [INFO] [stdout] | -------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA>, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:143:13 [INFO] [stdout] | [INFO] [stdout] 143 | type Value = $crate::prelude::PointedT; [INFO] [stdout] | ^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/linked_list.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(LinkedList<(X)>, push_back); [INFO] [stdout] | -------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA>, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:144:13 [INFO] [stdout] | [INFO] [stdout] 144 | type Traversed = MB; [INFO] [stdout] | ^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/linked_list.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(LinkedList<(X)>, push_back); [INFO] [stdout] | -------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA>, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MF: functor::Functor` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:146:13 [INFO] [stdout] | [INFO] [stdout] 146 | fn traverse_t(self, f: impl $crate::prelude::FunctionT) -> MB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `functor::Functor` is not implemented for `MF` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/linked_list.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(LinkedList<(X)>, push_back); [INFO] [stdout] | -------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] note: required for `LinkedList` to implement `traversable::TraverseT` [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:126:57 [INFO] [stdout] | [INFO] [stdout] 126 | impl<$($_arg,)* $arg $(,$arg_)*, MA, MF, B, MB> $crate::prelude::TraverseT for $ty<$($_arg,)* $arg $(,$arg_)*> [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/linked_list.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(LinkedList<(X)>, push_back); [INFO] [stdout] | -------------------------------------------------------- in this macro invocation [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/functor/mod.rs:33:18 [INFO] [stdout] | [INFO] [stdout] 33 | type Mapped: Functor; [INFO] [stdout] | --------------------------------------------------------- unsatisfied trait bound introduced here [INFO] [stdout] = note: this error originates in the macro `derive_traversable_iterable` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider further restricting type parameter `MF` with trait `Functor` [INFO] [stdout] | [INFO] [stdout] 140 - MB: $crate::prelude::PureA> $(+ $trait)*, [INFO] [stdout] 140 + MB: $crate::prelude::PureA>, MF: base::data::functor::Functor [INFO] [stdout] | [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the trait bound `MB: with_pointed::WithPointed` is not satisfied [INFO] [stdout] --> crates/glasgae/src/base/data/traversable.rs:146:13 [INFO] [stdout] | [INFO] [stdout] 146 | fn traverse_t(self, f: impl $crate::prelude::FunctionT) -> MB { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `with_pointed::WithPointed` is not implemented for `MB` [INFO] [stdout] | [INFO] [stdout] ::: crates/glasgae/src/base/data/collection/list/linked_list.rs:17:1 [INFO] [stdout] | [INFO] [stdout] 17 | derive_traversable_iterable!(LinkedList<(X)>, push_back); [WARN] too many lines in the log, truncating it