[INFO] fetching crate tinystate 0.1.1...
[INFO] testing tinystate-0.1.1 against try#33835004928d3bf65db4d4712e1330766263b0bd for pr-155739-1
[INFO] extracting crate tinystate 0.1.1 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate tinystate 0.1.1
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate tinystate 0.1.1
[INFO] tweaked toml for crates.io crate tinystate 0.1.1 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate tinystate 0.1.1 on toolchain 33835004928d3bf65db4d4712e1330766263b0bd
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate tinystate 0.1.1 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" "+33835004928d3bf65db4d4712e1330766263b0bd" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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" "+33835004928d3bf65db4d4712e1330766263b0bd" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 109b38d530583be307a504fc63469d343fe0e1de926541358c46ce1283337e11
[INFO] running `Command { std: "docker" "start" "-a" "109b38d530583be307a504fc63469d343fe0e1de926541358c46ce1283337e11", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "109b38d530583be307a504fc63469d343fe0e1de926541358c46ce1283337e11", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "109b38d530583be307a504fc63469d343fe0e1de926541358c46ce1283337e11", kill_on_drop: false }`
[INFO] [stdout] 109b38d530583be307a504fc63469d343fe0e1de926541358c46ce1283337e11
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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" "-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" "+33835004928d3bf65db4d4712e1330766263b0bd" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c0c13421025ddb4d99e408fe23b3c87707310a88da3090a6bcf37e03f8e04892
[INFO] running `Command { std: "docker" "start" "-a" "c0c13421025ddb4d99e408fe23b3c87707310a88da3090a6bcf37e03f8e04892", kill_on_drop: false }`
[INFO] [stderr]    Compiling tinystate v0.1.1 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.26s
[INFO] running `Command { std: "docker" "inspect" "c0c13421025ddb4d99e408fe23b3c87707310a88da3090a6bcf37e03f8e04892", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c0c13421025ddb4d99e408fe23b3c87707310a88da3090a6bcf37e03f8e04892", kill_on_drop: false }`
[INFO] [stdout] c0c13421025ddb4d99e408fe23b3c87707310a88da3090a6bcf37e03f8e04892
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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" "-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" "+33835004928d3bf65db4d4712e1330766263b0bd" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3f3eeecd35e8fc7f6df74ffa69caaa862f502340c28c3572cd877859940f37dd
[INFO] running `Command { std: "docker" "start" "-a" "3f3eeecd35e8fc7f6df74ffa69caaa862f502340c28c3572cd877859940f37dd", kill_on_drop: false }`
[INFO] [stderr]    Compiling tinystate v0.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] error: cannot find derive macro `States` in this scope
[INFO] [stdout]  --> examples/traffic_light.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Debug, PartialEq, States)]
[INFO] [stdout]   |                            ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: `States` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]  --> examples/traffic_light.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tinystate::States;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Events` in this scope
[INFO] [stdout]   --> examples/traffic_light.rs:12:17
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Debug, Events)]
[INFO] [stdout]    |                 ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: `Events` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]   --> examples/traffic_light.rs:1:5
[INFO] [stdout]    |
[INFO] [stdout]  1 | use tinystate::Events;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `States` in this scope
[INFO] [stdout]    --> src/lib.rs:838:32
[INFO] [stdout]     |
[INFO] [stdout] 838 |     #[derive(Debug, PartialEq, States)]
[INFO] [stdout]     |                                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: `States` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]    --> src/lib.rs:836:9
[INFO] [stdout]     |
[INFO] [stdout] 836 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Events` in this scope
[INFO] [stdout]    --> src/lib.rs:845:32
[INFO] [stdout]     |
[INFO] [stdout] 845 |     #[derive(Debug, PartialEq, Events)]
[INFO] [stdout]     |                                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: `Events` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]    --> src/lib.rs:836:9
[INFO] [stdout]     |
[INFO] [stdout] 836 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `States` in this scope
[INFO] [stdout]    --> src/lib.rs:884:32
[INFO] [stdout]     |
[INFO] [stdout] 884 |     #[derive(Debug, PartialEq, States)]
[INFO] [stdout]     |                                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: `States` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]    --> src/lib.rs:836:9
[INFO] [stdout]     |
[INFO] [stdout] 836 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Events` in this scope
[INFO] [stdout]    --> src/lib.rs:891:32
[INFO] [stdout]     |
[INFO] [stdout] 891 |     #[derive(Debug, PartialEq, Events)]
[INFO] [stdout]     |                                ^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] note: `Events` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]    --> src/lib.rs:836:9
[INFO] [stdout]     |
[INFO] [stdout] 836 |     use super::*;
[INFO] [stdout]     |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TrafficLight: States` is not satisfied
[INFO] [stdout]    --> examples/traffic_light.rs:18:21
[INFO] [stdout]     |
[INFO] [stdout]  18 |     let mut light = StateMachineBuilder::<TrafficLight, Signal, 3, 1>::new()
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `States` is not implemented for `TrafficLight`
[INFO] [stdout]    --> examples/traffic_light.rs:6:1
[INFO] [stdout]     |
[INFO] [stdout]   6 | enum TrafficLight {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `StateMachineBuilder`
[INFO] [stdout]    --> src/lib.rs:516:35
[INFO] [stdout]     |
[INFO] [stdout] 516 | pub struct StateMachineBuilder<S: States, E: Events, const NS: usize, const NE: usize> {
[INFO] [stdout]     |                                   ^^^^^^ required by this bound in `StateMachineBuilder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `Signal: Events` is not satisfied
[INFO] [stdout]    --> examples/traffic_light.rs:18:21
[INFO] [stdout]     |
[INFO] [stdout]  18 |     let mut light = StateMachineBuilder::<TrafficLight, Signal, 3, 1>::new()
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Events` is not implemented for `Signal`
[INFO] [stdout]    --> examples/traffic_light.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | enum Signal {
[INFO] [stdout]     | ^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `StateMachineBuilder`
[INFO] [stdout]    --> src/lib.rs:516:46
[INFO] [stdout]     |
[INFO] [stdout] 516 | pub struct StateMachineBuilder<S: States, E: Events, const NS: usize, const NE: usize> {
[INFO] [stdout]     |                                              ^^^^^^ required by this bound in `StateMachineBuilder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the associated function or constant `new` exists for struct `StateMachineBuilder<TrafficLight, Signal, 3, 1>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> examples/traffic_light.rs:18:72
[INFO] [stdout]     |
[INFO] [stdout]   6 | enum TrafficLight {
[INFO] [stdout]     | ----------------- doesn't satisfy `TrafficLight: States`
[INFO] [stdout] ...
[INFO] [stdout]  13 | enum Signal {
[INFO] [stdout]     | ----------- doesn't satisfy `Signal: Events`
[INFO] [stdout] ...
[INFO] [stdout]  18 |     let mut light = StateMachineBuilder::<TrafficLight, Signal, 3, 1>::new()
[INFO] [stdout]     |                                                                        ^^^ associated function or constant cannot be called on `StateMachineBuilder<TrafficLight, Signal, 3, 1>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `TrafficLight: States`
[INFO] [stdout]             `Signal: Events`
[INFO] [stdout] note: the traits `Events` and `States` must be implemented
[INFO] [stdout]    --> src/lib.rs:112:1
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub trait States: Copy + Default {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 | pub trait Events: Copy {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `States` in this scope
[INFO] [stdout]  --> examples/door.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Debug, PartialEq, States)]
[INFO] [stdout]   |                            ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: `States` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]  --> examples/door.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tinystate::States;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Events` in this scope
[INFO] [stdout]   --> examples/door.rs:12:28
[INFO] [stdout]    |
[INFO] [stdout] 12 | #[derive(Debug, PartialEq, Events)]
[INFO] [stdout]    |                            ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: `Events` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]   --> examples/door.rs:1:5
[INFO] [stdout]    |
[INFO] [stdout]  1 | use tinystate::Events;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TrafficLightState: States` is not satisfied
[INFO] [stdout]    --> src/lib.rs:852:22
[INFO] [stdout]     |
[INFO] [stdout] 852 |         let mut sm = StateMachineBuilder::<TrafficLightState, TrafficLightEvent, 3, 1>::new()
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `States` is not implemented for `TrafficLightState`
[INFO] [stdout]    --> src/lib.rs:839:5
[INFO] [stdout]     |
[INFO] [stdout] 839 |     enum TrafficLightState {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/lib.rs:112:1
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub trait States: Copy + Default {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `StateMachineBuilder`
[INFO] [stdout]    --> src/lib.rs:516:35
[INFO] [stdout]     |
[INFO] [stdout] 516 | pub struct StateMachineBuilder<S: States, E: Events, const NS: usize, const NE: usize> {
[INFO] [stdout]     |                                   ^^^^^^ required by this bound in `StateMachineBuilder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `tinystate` (example "traffic_light") due to 5 previous errors
[INFO] [stdout] error[E0277]: the trait bound `TrafficLightEvent: Events` is not satisfied
[INFO] [stdout]    --> src/lib.rs:852:22
[INFO] [stdout]     |
[INFO] [stdout] 852 |         let mut sm = StateMachineBuilder::<TrafficLightState, TrafficLightEvent, 3, 1>::new()
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Events` is not implemented for `TrafficLightEvent`
[INFO] [stdout]    --> src/lib.rs:846:5
[INFO] [stdout]     |
[INFO] [stdout] 846 |     enum TrafficLightEvent {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/lib.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub trait Events: Copy {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `StateMachineBuilder`
[INFO] [stdout]    --> src/lib.rs:516:46
[INFO] [stdout]     |
[INFO] [stdout] 516 | pub struct StateMachineBuilder<S: States, E: Events, const NS: usize, const NE: usize> {
[INFO] [stdout]     |                                              ^^^^^^ required by this bound in `StateMachineBuilder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] error[E0599]: the associated function or constant `new` exists for struct `StateMachineBuilder<TrafficLightState, TrafficLightEvent, 3, 1>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/lib.rs:852:89
[INFO] [stdout]     |
[INFO] [stdout] 516 | pub struct StateMachineBuilder<S: States, E: Events, const NS: usize, const NE: usize> {
[INFO] [stdout]     | -------------------------------------------------------------------------------------- associated function or constant `new` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 839 |     enum TrafficLightState {
[INFO] [stdout]     |     ---------------------- doesn't satisfy `TrafficLightState: States`
[INFO] [stdout] ...
[INFO] [stdout] 846 |     enum TrafficLightEvent {
[INFO] [stdout]     |     ---------------------- doesn't satisfy `TrafficLightEvent: Events`
[INFO] [stdout] ...
[INFO] [stdout] 852 |         let mut sm = StateMachineBuilder::<TrafficLightState, TrafficLightEvent, 3, 1>::new()
[INFO] [stdout]     |                                                                                         ^^^ associated function or constant cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: the following trait bounds were not satisfied:
[INFO] [stdout]       `TrafficLightEvent: Events`
[INFO] [stdout]       `TrafficLightState: States`
[INFO] [stdout]    --> src/lib.rs:523:9
[INFO] [stdout]     |
[INFO] [stdout] 523 | impl<S: States, E: Events, const NS: usize, const NE: usize> StateMachineBuilder<S, E, NS, NE> {
[INFO] [stdout]     |         ^^^^^^     ^^^^^^                                    ---------------------------------
[INFO] [stdout]     |         |          |
[INFO] [stdout]     |         |          unsatisfied trait bound introduced here
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] note: the traits `Events` and `States` must be implemented
[INFO] [stdout]    --> src/lib.rs:112:1
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub trait States: Copy + Default {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 | pub trait Events: Copy {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DoorState: States` is not satisfied
[INFO] [stdout]    --> src/lib.rs:901:22
[INFO] [stdout]     |
[INFO] [stdout] 901 |         let mut sm = StateMachineBuilder::<DoorState, DoorEvent, 3, 4>::new()
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `States` is not implemented for `DoorState`
[INFO] [stdout]    --> src/lib.rs:885:5
[INFO] [stdout]     |
[INFO] [stdout] 885 |     enum DoorState {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/lib.rs:112:1
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub trait States: Copy + Default {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `StateMachineBuilder`
[INFO] [stdout]    --> src/lib.rs:516:35
[INFO] [stdout]     |
[INFO] [stdout] 516 | pub struct StateMachineBuilder<S: States, E: Events, const NS: usize, const NE: usize> {
[INFO] [stdout]     |                                   ^^^^^^ required by this bound in `StateMachineBuilder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `tinystate` (example "door") due to 5 previous errors
[INFO] [stdout] error[E0277]: the trait bound `DoorEvent: Events` is not satisfied
[INFO] [stdout]    --> src/lib.rs:901:22
[INFO] [stdout]     |
[INFO] [stdout] 901 |         let mut sm = StateMachineBuilder::<DoorState, DoorEvent, 3, 4>::new()
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Events` is not implemented for `DoorEvent`
[INFO] [stdout]    --> src/lib.rs:892:5
[INFO] [stdout]     |
[INFO] [stdout] 892 |     enum DoorEvent {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/lib.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub trait Events: Copy {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `StateMachineBuilder`
[INFO] [stdout]    --> src/lib.rs:516:46
[INFO] [stdout]     |
[INFO] [stdout] 516 | pub struct StateMachineBuilder<S: States, E: Events, const NS: usize, const NE: usize> {
[INFO] [stdout]     |                                              ^^^^^^ required by this bound in `StateMachineBuilder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DoorState: States` is not satisfied
[INFO] [stdout]    --> examples/door.rs:21:18
[INFO] [stdout]     |
[INFO] [stdout]  21 |     let mut sm = StateMachineBuilder::<DoorState, DoorEvent, 3, 4>::new()
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `States` is not implemented for `DoorState`
[INFO] [stdout]    --> examples/door.rs:6:1
[INFO] [stdout]     |
[INFO] [stdout]   6 | enum DoorState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `StateMachineBuilder`
[INFO] [stdout]    --> src/lib.rs:516:35
[INFO] [stdout]     |
[INFO] [stdout] 516 | pub struct StateMachineBuilder<S: States, E: Events, const NS: usize, const NE: usize> {
[INFO] [stdout]     |                                   ^^^^^^ required by this bound in `StateMachineBuilder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DoorEvent: Events` is not satisfied
[INFO] [stdout]    --> examples/door.rs:21:18
[INFO] [stdout]     |
[INFO] [stdout]  21 |     let mut sm = StateMachineBuilder::<DoorState, DoorEvent, 3, 4>::new()
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Events` is not implemented for `DoorEvent`
[INFO] [stdout]    --> examples/door.rs:13:1
[INFO] [stdout]     |
[INFO] [stdout]  13 | enum DoorEvent {
[INFO] [stdout]     | ^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `StateMachineBuilder`
[INFO] [stdout]    --> src/lib.rs:516:46
[INFO] [stdout]     |
[INFO] [stdout] 516 | pub struct StateMachineBuilder<S: States, E: Events, const NS: usize, const NE: usize> {
[INFO] [stdout]     |                                              ^^^^^^ required by this bound in `StateMachineBuilder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the associated function or constant `new` exists for struct `StateMachineBuilder<DoorState, DoorEvent, 3, 4>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/lib.rs:901:73
[INFO] [stdout]     |
[INFO] [stdout] 516 | pub struct StateMachineBuilder<S: States, E: Events, const NS: usize, const NE: usize> {
[INFO] [stdout]     | -------------------------------------------------------------------------------------- associated function or constant `new` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 885 |     enum DoorState {
[INFO] [stdout]     |     -------------- doesn't satisfy `DoorState: States`
[INFO] [stdout] ...
[INFO] [stdout] 892 |     enum DoorEvent {
[INFO] [stdout]     |     -------------- doesn't satisfy `DoorEvent: Events`
[INFO] [stdout] ...
[INFO] [stdout] 901 |         let mut sm = StateMachineBuilder::<DoorState, DoorEvent, 3, 4>::new()
[INFO] [stdout]     |                                                                         ^^^ associated function or constant cannot be called on `StateMachineBuilder<DoorState, DoorEvent, 3, 4>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: the following trait bounds were not satisfied:
[INFO] [stdout]       `DoorEvent: Events`
[INFO] [stdout]       `DoorState: States`
[INFO] [stdout]    --> src/lib.rs:523:9
[INFO] [stdout]     |
[INFO] [stdout] 523 | impl<S: States, E: Events, const NS: usize, const NE: usize> StateMachineBuilder<S, E, NS, NE> {
[INFO] [stdout]     |         ^^^^^^     ^^^^^^                                    ---------------------------------
[INFO] [stdout]     |         |          |
[INFO] [stdout]     |         |          unsatisfied trait bound introduced here
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] note: the traits `Events` and `States` must be implemented
[INFO] [stdout]    --> src/lib.rs:112:1
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub trait States: Copy + Default {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 | pub trait Events: Copy {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TrafficLightState: States` is not satisfied
[INFO] [stdout]    --> src/lib.rs:944:18
[INFO] [stdout]     |
[INFO] [stdout] 944 |         let sm = StateMachineBuilder::<TrafficLightState, TrafficLightEvent, 3, 1>::new()
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `States` is not implemented for `TrafficLightState`
[INFO] [stdout]    --> src/lib.rs:839:5
[INFO] [stdout]     |
[INFO] [stdout] 839 |     enum TrafficLightState {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/lib.rs:112:1
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub trait States: Copy + Default {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `StateMachineBuilder`
[INFO] [stdout]    --> src/lib.rs:516:35
[INFO] [stdout]     |
[INFO] [stdout] 516 | pub struct StateMachineBuilder<S: States, E: Events, const NS: usize, const NE: usize> {
[INFO] [stdout]     |                                   ^^^^^^ required by this bound in `StateMachineBuilder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TrafficLightEvent: Events` is not satisfied
[INFO] [stdout]    --> src/lib.rs:944:18
[INFO] [stdout]     |
[INFO] [stdout] 944 |         let sm = StateMachineBuilder::<TrafficLightState, TrafficLightEvent, 3, 1>::new()
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Events` is not implemented for `TrafficLightEvent`
[INFO] [stdout]    --> src/lib.rs:846:5
[INFO] [stdout]     |
[INFO] [stdout] 846 |     enum TrafficLightEvent {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/lib.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub trait Events: Copy {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `StateMachineBuilder`
[INFO] [stdout]    --> src/lib.rs:516:46
[INFO] [stdout]     |
[INFO] [stdout] 516 | pub struct StateMachineBuilder<S: States, E: Events, const NS: usize, const NE: usize> {
[INFO] [stdout]     |                                              ^^^^^^ required by this bound in `StateMachineBuilder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `States` in this scope
[INFO] [stdout]  --> examples/vending_machine.rs:5:28
[INFO] [stdout]   |
[INFO] [stdout] 5 | #[derive(Debug, PartialEq, States)]
[INFO] [stdout]   |                            ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout] note: `States` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]  --> examples/vending_machine.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use tinystate::States;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `tinystate` (lib test) due to 25 previous errors
[INFO] [stdout] error[E0599]: the associated function or constant `new` exists for struct `StateMachineBuilder<TrafficLightState, TrafficLightEvent, 3, 1>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/lib.rs:944:85
[INFO] [stdout]     |
[INFO] [stdout] 516 | pub struct StateMachineBuilder<S: States, E: Events, const NS: usize, const NE: usize> {
[INFO] [stdout]     | -------------------------------------------------------------------------------------- associated function or constant `new` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 839 |     enum TrafficLightState {
[INFO] [stdout]     |     ---------------------- doesn't satisfy `TrafficLightState: States`
[INFO] [stdout] ...
[INFO] [stdout] 846 |     enum TrafficLightEvent {
[INFO] [stdout]     |     ---------------------- doesn't satisfy `TrafficLightEvent: Events`
[INFO] [stdout] ...
[INFO] [stdout] 944 |         let sm = StateMachineBuilder::<TrafficLightState, TrafficLightEvent, 3, 1>::new()
[INFO] [stdout]     |                                                                                     ^^^ associated function or constant cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: the following trait bounds were not satisfied:
[INFO] [stdout]       `TrafficLightEvent: Events`
[INFO] [stdout]       `TrafficLightState: States`
[INFO] [stdout]    --> src/lib.rs:523:9
[INFO] [stdout]     |
[INFO] [stdout] 523 | impl<S: States, E: Events, const NS: usize, const NE: usize> StateMachineBuilder<S, E, NS, NE> {
[INFO] [stdout]     |         ^^^^^^     ^^^^^^                                    ---------------------------------
[INFO] [stdout]     |         |          |
[INFO] [stdout]     |         |          unsatisfied trait bound introduced here
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] note: the traits `Events` and `States` must be implemented
[INFO] [stdout]    --> src/lib.rs:112:1
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub trait States: Copy + Default {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 | pub trait Events: Copy {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DoorState: States` is not satisfied
[INFO] [stdout]    --> src/lib.rs:970:18
[INFO] [stdout]     |
[INFO] [stdout] 970 |         let sm = StateMachineBuilder::<DoorState, DoorEvent, 3, 4>::new()
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `States` is not implemented for `DoorState`
[INFO] [stdout]    --> src/lib.rs:885:5
[INFO] [stdout]     |
[INFO] [stdout] 885 |     enum DoorState {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/lib.rs:112:1
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub trait States: Copy + Default {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `StateMachineBuilder`
[INFO] [stdout]    --> src/lib.rs:516:35
[INFO] [stdout]     |
[INFO] [stdout] 516 | pub struct StateMachineBuilder<S: States, E: Events, const NS: usize, const NE: usize> {
[INFO] [stdout]     |                                   ^^^^^^ required by this bound in `StateMachineBuilder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DoorEvent: Events` is not satisfied
[INFO] [stdout]    --> src/lib.rs:970:18
[INFO] [stdout]     |
[INFO] [stdout] 970 |         let sm = StateMachineBuilder::<DoorState, DoorEvent, 3, 4>::new()
[INFO] [stdout]     |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Events` is not implemented for `DoorEvent`
[INFO] [stdout]    --> src/lib.rs:892:5
[INFO] [stdout]     |
[INFO] [stdout] 892 |     enum DoorEvent {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/lib.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub trait Events: Copy {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `StateMachineBuilder`
[INFO] [stdout]    --> src/lib.rs:516:46
[INFO] [stdout]     |
[INFO] [stdout] 516 | pub struct StateMachineBuilder<S: States, E: Events, const NS: usize, const NE: usize> {
[INFO] [stdout]     |                                              ^^^^^^ required by this bound in `StateMachineBuilder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the associated function or constant `new` exists for struct `StateMachineBuilder<DoorState, DoorEvent, 3, 4>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> examples/door.rs:21:69
[INFO] [stdout]     |
[INFO] [stdout]   6 | enum DoorState {
[INFO] [stdout]     | -------------- doesn't satisfy `DoorState: States`
[INFO] [stdout] ...
[INFO] [stdout]  13 | enum DoorEvent {
[INFO] [stdout]     | -------------- doesn't satisfy `DoorEvent: Events`
[INFO] [stdout] ...
[INFO] [stdout]  21 |     let mut sm = StateMachineBuilder::<DoorState, DoorEvent, 3, 4>::new()
[INFO] [stdout]     |                                                                     ^^^ associated function or constant cannot be called on `StateMachineBuilder<DoorState, DoorEvent, 3, 4>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `DoorState: States`
[INFO] [stdout]             `DoorEvent: Events`
[INFO] [stdout] note: the traits `Events` and `States` must be implemented
[INFO] [stdout]    --> src/lib.rs:112:1
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub trait States: Copy + Default {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 | pub trait Events: Copy {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the associated function or constant `new` exists for struct `StateMachineBuilder<DoorState, DoorEvent, 3, 4>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/lib.rs:970:69
[INFO] [stdout]     |
[INFO] [stdout] 516 | pub struct StateMachineBuilder<S: States, E: Events, const NS: usize, const NE: usize> {
[INFO] [stdout]     | -------------------------------------------------------------------------------------- associated function or constant `new` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 885 |     enum DoorState {
[INFO] [stdout]     |     -------------- doesn't satisfy `DoorState: States`
[INFO] [stdout] ...
[INFO] [stdout] 892 |     enum DoorEvent {
[INFO] [stdout]     |     -------------- doesn't satisfy `DoorEvent: Events`
[INFO] [stdout] ...
[INFO] [stdout] 970 |         let sm = StateMachineBuilder::<DoorState, DoorEvent, 3, 4>::new()
[INFO] [stdout]     |                                                                     ^^^ associated function or constant cannot be called on `StateMachineBuilder<DoorState, DoorEvent, 3, 4>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: the following trait bounds were not satisfied:
[INFO] [stdout]       `DoorEvent: Events`
[INFO] [stdout]       `DoorState: States`
[INFO] [stdout]    --> src/lib.rs:523:9
[INFO] [stdout]     |
[INFO] [stdout] 523 | impl<S: States, E: Events, const NS: usize, const NE: usize> StateMachineBuilder<S, E, NS, NE> {
[INFO] [stdout]     |         ^^^^^^     ^^^^^^                                    ---------------------------------
[INFO] [stdout]     |         |          |
[INFO] [stdout]     |         |          unsatisfied trait bound introduced here
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] note: the traits `Events` and `States` must be implemented
[INFO] [stdout]    --> src/lib.rs:112:1
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub trait States: Copy + Default {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 | pub trait Events: Copy {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: cannot find derive macro `Events` in this scope
[INFO] [stdout]   --> examples/vending_machine.rs:15:17
[INFO] [stdout]    |
[INFO] [stdout] 15 | #[derive(Debug, Events)]
[INFO] [stdout]    |                 ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: `Events` is imported here, but it is only a trait, without a derive macro
[INFO] [stdout]   --> examples/vending_machine.rs:1:5
[INFO] [stdout]    |
[INFO] [stdout]  1 | use tinystate::Events;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DoorState: States` is not satisfied
[INFO] [stdout]    --> src/lib.rs:996:22
[INFO] [stdout]     |
[INFO] [stdout] 996 |         let mut sm = StateMachineBuilder::<DoorState, DoorEvent, 3, 4>::new()
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `States` is not implemented for `DoorState`
[INFO] [stdout]    --> src/lib.rs:885:5
[INFO] [stdout]     |
[INFO] [stdout] 885 |     enum DoorState {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/lib.rs:112:1
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub trait States: Copy + Default {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `StateMachineBuilder`
[INFO] [stdout]    --> src/lib.rs:516:35
[INFO] [stdout]     |
[INFO] [stdout] 516 | pub struct StateMachineBuilder<S: States, E: Events, const NS: usize, const NE: usize> {
[INFO] [stdout]     |                                   ^^^^^^ required by this bound in `StateMachineBuilder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DoorEvent: Events` is not satisfied
[INFO] [stdout]    --> src/lib.rs:996:22
[INFO] [stdout]     |
[INFO] [stdout] 996 |         let mut sm = StateMachineBuilder::<DoorState, DoorEvent, 3, 4>::new()
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Events` is not implemented for `DoorEvent`
[INFO] [stdout]    --> src/lib.rs:892:5
[INFO] [stdout]     |
[INFO] [stdout] 892 |     enum DoorEvent {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]    --> src/lib.rs:154:1
[INFO] [stdout]     |
[INFO] [stdout] 154 | pub trait Events: Copy {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `StateMachineBuilder`
[INFO] [stdout]    --> src/lib.rs:516:46
[INFO] [stdout]     |
[INFO] [stdout] 516 | pub struct StateMachineBuilder<S: States, E: Events, const NS: usize, const NE: usize> {
[INFO] [stdout]     |                                              ^^^^^^ required by this bound in `StateMachineBuilder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the associated function or constant `new` exists for struct `StateMachineBuilder<DoorState, DoorEvent, 3, 4>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> src/lib.rs:996:73
[INFO] [stdout]     |
[INFO] [stdout] 516 | pub struct StateMachineBuilder<S: States, E: Events, const NS: usize, const NE: usize> {
[INFO] [stdout]     | -------------------------------------------------------------------------------------- associated function or constant `new` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout] 885 |     enum DoorState {
[INFO] [stdout]     |     -------------- doesn't satisfy `DoorState: States`
[INFO] [stdout] ...
[INFO] [stdout] 892 |     enum DoorEvent {
[INFO] [stdout]     |     -------------- doesn't satisfy `DoorEvent: Events`
[INFO] [stdout] ...
[INFO] [stdout] 996 |         let mut sm = StateMachineBuilder::<DoorState, DoorEvent, 3, 4>::new()
[INFO] [stdout]     |                                                                         ^^^ associated function or constant cannot be called on `StateMachineBuilder<DoorState, DoorEvent, 3, 4>` due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout] note: the following trait bounds were not satisfied:
[INFO] [stdout]       `DoorEvent: Events`
[INFO] [stdout]       `DoorState: States`
[INFO] [stdout]    --> src/lib.rs:523:9
[INFO] [stdout]     |
[INFO] [stdout] 523 | impl<S: States, E: Events, const NS: usize, const NE: usize> StateMachineBuilder<S, E, NS, NE> {
[INFO] [stdout]     |         ^^^^^^     ^^^^^^                                    ---------------------------------
[INFO] [stdout]     |         |          |
[INFO] [stdout]     |         |          unsatisfied trait bound introduced here
[INFO] [stdout]     |         unsatisfied trait bound introduced here
[INFO] [stdout] note: the traits `Events` and `States` must be implemented
[INFO] [stdout]    --> src/lib.rs:112:1
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub trait States: Copy + Default {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 | pub trait Events: Copy {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DoorState: States` is not satisfied
[INFO] [stdout]     --> src/lib.rs:1026:22
[INFO] [stdout]      |
[INFO] [stdout] 1026 |         let mut sm = StateMachineBuilder::<DoorState, DoorEvent, 3, 4>::new()
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `States` is not implemented for `DoorState`
[INFO] [stdout]     --> src/lib.rs:885:5
[INFO] [stdout]      |
[INFO] [stdout]  885 |     enum DoorState {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]     --> src/lib.rs:112:1
[INFO] [stdout]      |
[INFO] [stdout]  112 | pub trait States: Copy + Default {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `StateMachineBuilder`
[INFO] [stdout]     --> src/lib.rs:516:35
[INFO] [stdout]      |
[INFO] [stdout]  516 | pub struct StateMachineBuilder<S: States, E: Events, const NS: usize, const NE: usize> {
[INFO] [stdout]      |                                   ^^^^^^ required by this bound in `StateMachineBuilder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `DoorEvent: Events` is not satisfied
[INFO] [stdout]     --> src/lib.rs:1026:22
[INFO] [stdout]      |
[INFO] [stdout] 1026 |         let mut sm = StateMachineBuilder::<DoorState, DoorEvent, 3, 4>::new()
[INFO] [stdout]      |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `Events` is not implemented for `DoorEvent`
[INFO] [stdout]     --> src/lib.rs:892:5
[INFO] [stdout]      |
[INFO] [stdout]  892 |     enum DoorEvent {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]     --> src/lib.rs:154:1
[INFO] [stdout]      |
[INFO] [stdout]  154 | pub trait Events: Copy {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `StateMachineBuilder`
[INFO] [stdout]     --> src/lib.rs:516:46
[INFO] [stdout]      |
[INFO] [stdout]  516 | pub struct StateMachineBuilder<S: States, E: Events, const NS: usize, const NE: usize> {
[INFO] [stdout]      |                                              ^^^^^^ required by this bound in `StateMachineBuilder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the associated function or constant `new` exists for struct `StateMachineBuilder<DoorState, DoorEvent, 3, 4>`, but its trait bounds were not satisfied
[INFO] [stdout]     --> src/lib.rs:1026:73
[INFO] [stdout]      |
[INFO] [stdout]  516 | pub struct StateMachineBuilder<S: States, E: Events, const NS: usize, const NE: usize> {
[INFO] [stdout]      | -------------------------------------------------------------------------------------- associated function or constant `new` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout]  885 |     enum DoorState {
[INFO] [stdout]      |     -------------- doesn't satisfy `DoorState: States`
[INFO] [stdout] ...
[INFO] [stdout]  892 |     enum DoorEvent {
[INFO] [stdout]      |     -------------- doesn't satisfy `DoorEvent: Events`
[INFO] [stdout] ...
[INFO] [stdout] 1026 |         let mut sm = StateMachineBuilder::<DoorState, DoorEvent, 3, 4>::new()
[INFO] [stdout]      |                                                                         ^^^ associated function or constant cannot be called on `StateMachineBuilder<DoorState, DoorEvent, 3, 4>` due to unsatisfied trait bounds
[INFO] [stdout]      |
[INFO] [stdout] note: the following trait bounds were not satisfied:
[INFO] [stdout]       `DoorEvent: Events`
[INFO] [stdout]       `DoorState: States`
[INFO] [stdout]     --> src/lib.rs:523:9
[INFO] [stdout]      |
[INFO] [stdout]  523 | impl<S: States, E: Events, const NS: usize, const NE: usize> StateMachineBuilder<S, E, NS, NE> {
[INFO] [stdout]      |         ^^^^^^     ^^^^^^                                    ---------------------------------
[INFO] [stdout]      |         |          |
[INFO] [stdout]      |         |          unsatisfied trait bound introduced here
[INFO] [stdout]      |         unsatisfied trait bound introduced here
[INFO] [stdout] note: the traits `Events` and `States` must be implemented
[INFO] [stdout]     --> src/lib.rs:112:1
[INFO] [stdout]      |
[INFO] [stdout]  112 | pub trait States: Copy + Default {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  154 | pub trait Events: Copy {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TrafficLightState: States` is not satisfied
[INFO] [stdout]     --> src/lib.rs:1056:18
[INFO] [stdout]      |
[INFO] [stdout] 1056 |         let sm = StateMachineBuilder::<TrafficLightState, TrafficLightEvent, 3, 1>::new()
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `States` is not implemented for `TrafficLightState`
[INFO] [stdout]     --> src/lib.rs:839:5
[INFO] [stdout]      |
[INFO] [stdout]  839 |     enum TrafficLightState {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]     --> src/lib.rs:112:1
[INFO] [stdout]      |
[INFO] [stdout]  112 | pub trait States: Copy + Default {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `StateMachineBuilder`
[INFO] [stdout]     --> src/lib.rs:516:35
[INFO] [stdout]      |
[INFO] [stdout]  516 | pub struct StateMachineBuilder<S: States, E: Events, const NS: usize, const NE: usize> {
[INFO] [stdout]      |                                   ^^^^^^ required by this bound in `StateMachineBuilder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `TrafficLightEvent: Events` is not satisfied
[INFO] [stdout]     --> src/lib.rs:1056:18
[INFO] [stdout]      |
[INFO] [stdout] 1056 |         let sm = StateMachineBuilder::<TrafficLightState, TrafficLightEvent, 3, 1>::new()
[INFO] [stdout]      |                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]      |
[INFO] [stdout] help: the trait `Events` is not implemented for `TrafficLightEvent`
[INFO] [stdout]     --> src/lib.rs:846:5
[INFO] [stdout]      |
[INFO] [stdout]  846 |     enum TrafficLightEvent {
[INFO] [stdout]      |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] help: this trait has no implementations, consider adding one
[INFO] [stdout]     --> src/lib.rs:154:1
[INFO] [stdout]      |
[INFO] [stdout]  154 | pub trait Events: Copy {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `StateMachineBuilder`
[INFO] [stdout]     --> src/lib.rs:516:46
[INFO] [stdout]      |
[INFO] [stdout]  516 | pub struct StateMachineBuilder<S: States, E: Events, const NS: usize, const NE: usize> {
[INFO] [stdout]      |                                              ^^^^^^ required by this bound in `StateMachineBuilder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the associated function or constant `new` exists for struct `StateMachineBuilder<TrafficLightState, TrafficLightEvent, 3, 1>`, but its trait bounds were not satisfied
[INFO] [stdout]     --> src/lib.rs:1056:85
[INFO] [stdout]      |
[INFO] [stdout]  516 | pub struct StateMachineBuilder<S: States, E: Events, const NS: usize, const NE: usize> {
[INFO] [stdout]      | -------------------------------------------------------------------------------------- associated function or constant `new` not found for this struct
[INFO] [stdout] ...
[INFO] [stdout]  839 |     enum TrafficLightState {
[INFO] [stdout]      |     ---------------------- doesn't satisfy `TrafficLightState: States`
[INFO] [stdout] ...
[INFO] [stdout]  846 |     enum TrafficLightEvent {
[INFO] [stdout]      |     ---------------------- doesn't satisfy `TrafficLightEvent: Events`
[INFO] [stdout] ...
[INFO] [stdout] 1056 |         let sm = StateMachineBuilder::<TrafficLightState, TrafficLightEvent, 3, 1>::new()
[INFO] [stdout]      |                                                                                     ^^^ associated function or constant cannot be called due to unsatisfied trait bounds
[INFO] [stdout]      |
[INFO] [stdout] note: the following trait bounds were not satisfied:
[INFO] [stdout]       `TrafficLightEvent: Events`
[INFO] [stdout]       `TrafficLightState: States`
[INFO] [stdout]     --> src/lib.rs:523:9
[INFO] [stdout]      |
[INFO] [stdout]  523 | impl<S: States, E: Events, const NS: usize, const NE: usize> StateMachineBuilder<S, E, NS, NE> {
[INFO] [stdout]      |         ^^^^^^     ^^^^^^                                    ---------------------------------
[INFO] [stdout]      |         |          |
[INFO] [stdout]      |         |          unsatisfied trait bound introduced here
[INFO] [stdout]      |         unsatisfied trait bound introduced here
[INFO] [stdout] note: the traits `Events` and `States` must be implemented
[INFO] [stdout]     --> src/lib.rs:112:1
[INFO] [stdout]      |
[INFO] [stdout]  112 | pub trait States: Copy + Default {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  154 | pub trait Events: Copy {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `VendingState: States` is not satisfied
[INFO] [stdout]    --> examples/vending_machine.rs:25:23
[INFO] [stdout]     |
[INFO] [stdout]  25 |     let mut machine = StateMachineBuilder::<VendingState, VendingEvent, 6, 5>::new()
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `States` is not implemented for `VendingState`
[INFO] [stdout]    --> examples/vending_machine.rs:6:1
[INFO] [stdout]     |
[INFO] [stdout]   6 | enum VendingState {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `StateMachineBuilder`
[INFO] [stdout]    --> src/lib.rs:516:35
[INFO] [stdout]     |
[INFO] [stdout] 516 | pub struct StateMachineBuilder<S: States, E: Events, const NS: usize, const NE: usize> {
[INFO] [stdout]     |                                   ^^^^^^ required by this bound in `StateMachineBuilder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0277]: the trait bound `VendingEvent: Events` is not satisfied
[INFO] [stdout]    --> examples/vending_machine.rs:25:23
[INFO] [stdout]     |
[INFO] [stdout]  25 |     let mut machine = StateMachineBuilder::<VendingState, VendingEvent, 6, 5>::new()
[INFO] [stdout]     |                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ unsatisfied trait bound
[INFO] [stdout]     |
[INFO] [stdout] help: the trait `Events` is not implemented for `VendingEvent`
[INFO] [stdout]    --> examples/vending_machine.rs:16:1
[INFO] [stdout]     |
[INFO] [stdout]  16 | enum VendingEvent {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: required by a bound in `StateMachineBuilder`
[INFO] [stdout]    --> src/lib.rs:516:46
[INFO] [stdout]     |
[INFO] [stdout] 516 | pub struct StateMachineBuilder<S: States, E: Events, const NS: usize, const NE: usize> {
[INFO] [stdout]     |                                              ^^^^^^ required by this bound in `StateMachineBuilder`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0599]: the associated function or constant `new` exists for struct `StateMachineBuilder<VendingState, VendingEvent, 6, 5>`, but its trait bounds were not satisfied
[INFO] [stdout]    --> examples/vending_machine.rs:25:80
[INFO] [stdout]     |
[INFO] [stdout]   6 | enum VendingState {
[INFO] [stdout]     | ----------------- doesn't satisfy `VendingState: States`
[INFO] [stdout] ...
[INFO] [stdout]  16 | enum VendingEvent {
[INFO] [stdout]     | ----------------- doesn't satisfy `VendingEvent: Events`
[INFO] [stdout] ...
[INFO] [stdout]  25 |     let mut machine = StateMachineBuilder::<VendingState, VendingEvent, 6, 5>::new()
[INFO] [stdout]     |                                                                                ^^^ associated function or constant cannot be called due to unsatisfied trait bounds
[INFO] [stdout]     |
[INFO] [stdout]     = note: the following trait bounds were not satisfied:
[INFO] [stdout]             `VendingState: States`
[INFO] [stdout]             `VendingEvent: Events`
[INFO] [stdout] note: the traits `Events` and `States` must be implemented
[INFO] [stdout]    --> src/lib.rs:112:1
[INFO] [stdout]     |
[INFO] [stdout] 112 | pub trait States: Copy + Default {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 154 | pub trait Events: Copy {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0277, E0599.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0277`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `tinystate` (example "vending_machine") due to 5 previous errors
[INFO] running `Command { std: "docker" "inspect" "3f3eeecd35e8fc7f6df74ffa69caaa862f502340c28c3572cd877859940f37dd", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3f3eeecd35e8fc7f6df74ffa69caaa862f502340c28c3572cd877859940f37dd", kill_on_drop: false }`
[INFO] [stdout] 3f3eeecd35e8fc7f6df74ffa69caaa862f502340c28c3572cd877859940f37dd
