[INFO] cloning repository https://github.com/Yatekii/reactor
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Yatekii/reactor" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FYatekii%2Freactor", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FYatekii%2Freactor'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 69903568cf5f360161f1b23e37d929e54a4885c0
[INFO] testing Yatekii/reactor against 1.54.0 for beta-1.55-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FYatekii%2Freactor" "/workspace/builds/worker-5/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Yatekii/reactor on toolchain 1.54.0
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/Yatekii/reactor
[INFO] finished tweaking git repo https://github.com/Yatekii/reactor
[INFO] tweaked toml for git repo https://github.com/Yatekii/reactor written to /workspace/builds/worker-5/source/Cargo.toml
[INFO] crate git repo https://github.com/Yatekii/reactor already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+1.54.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 78e93487809ab614323eb0810ef2e6e00971b541fbfd9ed05eb3d27c669678fa
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "78e93487809ab614323eb0810ef2e6e00971b541fbfd9ed05eb3d27c669678fa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "78e93487809ab614323eb0810ef2e6e00971b541fbfd9ed05eb3d27c669678fa", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "78e93487809ab614323eb0810ef2e6e00971b541fbfd9ed05eb3d27c669678fa", kill_on_drop: false }`
[INFO] [stdout] 78e93487809ab614323eb0810ef2e6e00971b541fbfd9ed05eb3d27c669678fa
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3bb99a807feea7d9565a3cc8bc902839d2c83f75bddc9de50b04ba603b66b7a4
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "3bb99a807feea7d9565a3cc8bc902839d2c83f75bddc9de50b04ba603b66b7a4", kill_on_drop: false }`
[INFO] [stderr]    Compiling syn v0.15.30
[INFO] [stderr]    Compiling reactor v0.1.0 (/opt/rustwide/workdir/reactor)
[INFO] [stderr]    Compiling reactor-derive v0.1.0 (/opt/rustwide/workdir/reactor-derive)
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> reactor-derive/src/lib.rs:70:109
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let t = sub_state.sub_states.iter().map(|sub_state| assemble_from_sub_state(root, sub_state)).collect::<(Vec<_>)>();
[INFO] [stdout]    |                                                                                                             ^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling example v0.1.0 (/opt/rustwide/workdir/example)
[INFO] [stdout] SubState {
[INFO] [stdout]     ident: Ident {
[INFO] [stdout]         ident: "Outer2",
[INFO] [stdout]         span: #0 bytes(175..181),
[INFO] [stdout]     },
[INFO] [stdout]     sub_states: [
[INFO] [stdout]         SubState {
[INFO] [stdout]             ident: Ident {
[INFO] [stdout]                 ident: "Bla",
[INFO] [stdout]                 span: #0 bytes(197..200),
[INFO] [stdout]             },
[INFO] [stdout]             sub_states: [
[INFO] [stdout]                 SubState {
[INFO] [stdout]                     ident: Ident {
[INFO] [stdout]                         ident: "A1",
[INFO] [stdout]                         span: #0 bytes(215..217),
[INFO] [stdout]                     },
[INFO] [stdout]                     sub_states: [],
[INFO] [stdout]                 },
[INFO] [stdout]                 SubState {
[INFO] [stdout]                     ident: Ident {
[INFO] [stdout]                         ident: "B1",
[INFO] [stdout]                         span: #0 bytes(219..221),
[INFO] [stdout]                     },
[INFO] [stdout]                     sub_states: [],
[INFO] [stdout]                 },
[INFO] [stdout]             ],
[INFO] [stdout]         },
[INFO] [stdout]         SubState {
[INFO] [stdout]             ident: Ident {
[INFO] [stdout]                 ident: "Blo",
[INFO] [stdout]                 span: #0 bytes(247..250),
[INFO] [stdout]             },
[INFO] [stdout]             sub_states: [
[INFO] [stdout]                 SubState {
[INFO] [stdout]                     ident: Ident {
[INFO] [stdout]                         ident: "D1",
[INFO] [stdout]                         span: #0 bytes(265..267),
[INFO] [stdout]                     },
[INFO] [stdout]                     sub_states: [],
[INFO] [stdout]                 },
[INFO] [stdout]                 SubState {
[INFO] [stdout]                     ident: Ident {
[INFO] [stdout]                         ident: "E1",
[INFO] [stdout]                         span: #0 bytes(269..271),
[INFO] [stdout]                     },
[INFO] [stdout]                     sub_states: [],
[INFO] [stdout]                 },
[INFO] [stdout]             ],
[INFO] [stdout]         },
[INFO] [stdout]         SubState {
[INFO] [stdout]             ident: Ident {
[INFO] [stdout]                 ident: "C1",
[INFO] [stdout]                 span: #0 bytes(292..294),
[INFO] [stdout]             },
[INFO] [stdout]             sub_states: [],
[INFO] [stdout]         },
[INFO] [stdout]     ],
[INFO] [stdout] }
[INFO] [stdout] #[derive(Copy, Clone, Debug)] enum Outer2 { Bla(Bla), Blo(Blo), C1(C1) } impl
[INFO] [stdout] State < Event > for Outer2 where Outer2 : reactor :: base :: Actor < Event >
[INFO] [stdout] {
[INFO] [stdout]     type State = Outer2 ; const INITIAL_STATE : Self = Outer2 :: C1(C1 { }) ;
[INFO] [stdout]     fn get_levels(& self, levels : & mut [core :: any :: TypeId], ptr : usize)
[INFO] [stdout]     {
[INFO] [stdout]         match self
[INFO] [stdout]         {
[INFO] [stdout]             Outer2 :: Bla(b) =>
[INFO] [stdout]             {
[INFO] [stdout]                 levels [ptr] = core :: any :: TypeId :: of :: < Outer2 > () ;
[INFO] [stdout]                 b.get_levels(levels, ptr + 1) ;
[INFO] [stdout]             }, Outer2 :: Blo(b) =>
[INFO] [stdout]             {
[INFO] [stdout]                 levels [ptr] = core :: any :: TypeId :: of :: < Outer2 > () ;
[INFO] [stdout]                 b.get_levels(levels, ptr + 1) ;
[INFO] [stdout]             }, Outer2 :: C1(b) =>
[INFO] [stdout]             {
[INFO] [stdout]                 levels [ptr] = core :: any :: TypeId :: of :: < Outer2 > () ;
[INFO] [stdout]                 b.get_levels(levels, ptr + 1) ;
[INFO] [stdout]             },
[INFO] [stdout]         }
[INFO] [stdout]     } fn super_enter(& self, level : i32)
[INFO] [stdout]     {
[INFO] [stdout]         if level > 0
[INFO] [stdout]         {
[INFO] [stdout]             match self
[INFO] [stdout]             {
[INFO] [stdout]                 Outer2 :: Bla(b) => { b.super_enter(level - 1) }, Outer2 ::
[INFO] [stdout]                 Blo(b) => { b.super_enter(level - 1) }, Outer2 :: C1(b) =>
[INFO] [stdout]                 { b.super_enter(level - 1) },
[INFO] [stdout]             }
[INFO] [stdout]         } else
[INFO] [stdout]         {
[INFO] [stdout]             self.enter() ; match self
[INFO] [stdout]             {
[INFO] [stdout]                 Outer2 :: Bla(b) => { b.super_enter(level - 1) }, Outer2 ::
[INFO] [stdout]                 Blo(b) => { b.super_enter(level - 1) }, Outer2 :: C1(b) =>
[INFO] [stdout]                 { b.super_enter(level - 1) },
[INFO] [stdout]             }
[INFO] [stdout]         }
[INFO] [stdout]     } fn super_handle(& self, event : Event) -> EventResult << Self as State <
[INFO] [stdout]     Event >> :: State >
[INFO] [stdout]     {
[INFO] [stdout]         match self
[INFO] [stdout]         {
[INFO] [stdout]             Outer2 :: Bla(b) =>
[INFO] [stdout]             {
[INFO] [stdout]                 match b.super_handle(event.clone())
[INFO] [stdout]                 {
[INFO] [stdout]                     EventResult :: Handled => EventResult :: Handled,
[INFO] [stdout]                     EventResult :: Transition(t) => EventResult ::
[INFO] [stdout]                     Transition(t), EventResult :: NotHandled =>
[INFO] [stdout]                     self.handle(event),
[INFO] [stdout]                 }
[INFO] [stdout]             }, Outer2 :: Blo(b) =>
[INFO] [stdout]             {
[INFO] [stdout]                 match b.super_handle(event.clone())
[INFO] [stdout]                 {
[INFO] [stdout]                     EventResult :: Handled => EventResult :: Handled,
[INFO] [stdout]                     EventResult :: Transition(t) => EventResult ::
[INFO] [stdout]                     Transition(t), EventResult :: NotHandled =>
[INFO] [stdout]                     self.handle(event),
[INFO] [stdout]                 }
[INFO] [stdout]             }, Outer2 :: C1(b) =>
[INFO] [stdout]             {
[INFO] [stdout]                 match b.super_handle(event.clone())
[INFO] [stdout]                 {
[INFO] [stdout]                     EventResult :: Handled => EventResult :: Handled,
[INFO] [stdout]                     EventResult :: Transition(t) => EventResult ::
[INFO] [stdout]                     Transition(t), EventResult :: NotHandled =>
[INFO] [stdout]                     self.handle(event),
[INFO] [stdout]                 }
[INFO] [stdout]             },
[INFO] [stdout]         }
[INFO] [stdout]     } fn super_exit(& self, level : i32)
[INFO] [stdout]     {
[INFO] [stdout]         if level > 0
[INFO] [stdout]         {
[INFO] [stdout]             match self
[INFO] [stdout]             {
[INFO] [stdout]                 Outer2 :: Bla(b) => { b.super_exit(level - 1) }, Outer2 ::
[INFO] [stdout]                 Blo(b) => { b.super_exit(level - 1) }, Outer2 :: C1(b) =>
[INFO] [stdout]                 { b.super_exit(level - 1) },
[INFO] [stdout]             }
[INFO] [stdout]         } else
[INFO] [stdout]         {
[INFO] [stdout]             match self
[INFO] [stdout]             {
[INFO] [stdout]                 Outer2 :: Bla(b) => { b.super_exit(level - 1) }, Outer2 ::
[INFO] [stdout]                 Blo(b) => { b.super_exit(level - 1) }, Outer2 :: C1(b) =>
[INFO] [stdout]                 { b.super_exit(level - 1) },
[INFO] [stdout]             } self.exit() ;
[INFO] [stdout]         }
[INFO] [stdout]     }
[INFO] [stdout] } #[derive(Copy, Clone, Debug)] enum Bla { A1(A1), B1(B1) } impl State < Event
[INFO] [stdout] > for Bla where Bla : reactor :: base :: Actor < Event >
[INFO] [stdout] {
[INFO] [stdout]     type State = Outer2 ; const INITIAL_STATE : Self = Bla :: B1(B1 { }) ; fn
[INFO] [stdout]     get_levels(& self, levels : & mut [core :: any :: TypeId], ptr : usize)
[INFO] [stdout]     {
[INFO] [stdout]         match self
[INFO] [stdout]         {
[INFO] [stdout]             Bla :: A1(b) =>
[INFO] [stdout]             {
[INFO] [stdout]                 levels [ptr] = core :: any :: TypeId :: of :: < Bla > () ;
[INFO] [stdout]                 b.get_levels(levels, ptr + 1) ;
[INFO] [stdout]             }, Bla :: B1(b) =>
[INFO] [stdout]             {
[INFO] [stdout]                 levels [ptr] = core :: any :: TypeId :: of :: < Bla > () ;
[INFO] [stdout]                 b.get_levels(levels, ptr + 1) ;
[INFO] [stdout]             },
[INFO] [stdout]         }
[INFO] [stdout]     } fn super_enter(& self, level : i32)
[INFO] [stdout]     {
[INFO] [stdout]         if level > 0
[INFO] [stdout]         {
[INFO] [stdout]             match self
[INFO] [stdout]             {
[INFO] [stdout]                 Bla :: A1(b) => { b.super_enter(level - 1) }, Bla :: B1(b) =>
[INFO] [stdout]                 { b.super_enter(level - 1) },
[INFO] [stdout]             }
[INFO] [stdout]         } else
[INFO] [stdout]         {
[INFO] [stdout]             self.enter() ; match self
[INFO] [stdout]             {
[INFO] [stdout]                 Bla :: A1(b) => { b.super_enter(level - 1) }, Bla :: B1(b) =>
[INFO] [stdout]                 { b.super_enter(level - 1) },
[INFO] [stdout]             }
[INFO] [stdout]         }
[INFO] [stdout]     } fn super_handle(& self, event : Event) -> EventResult << Self as State <
[INFO] [stdout]     Event >> :: State >
[INFO] [stdout]     {
[INFO] [stdout]         match self
[INFO] [stdout]         {
[INFO] [stdout]             Bla :: A1(b) =>
[INFO] [stdout]             {
[INFO] [stdout]                 match b.super_handle(event.clone())
[INFO] [stdout]                 {
[INFO] [stdout]                     EventResult :: Handled => EventResult :: Handled,
[INFO] [stdout]                     EventResult :: Transition(t) => EventResult ::
[INFO] [stdout]                     Transition(t), EventResult :: NotHandled =>
[INFO] [stdout]                     self.handle(event),
[INFO] [stdout]                 }
[INFO] [stdout]             }, Bla :: B1(b) =>
[INFO] [stdout]             {
[INFO] [stdout]                 match b.super_handle(event.clone())
[INFO] [stdout]                 {
[INFO] [stdout]                     EventResult :: Handled => EventResult :: Handled,
[INFO] [stdout]                     EventResult :: Transition(t) => EventResult ::
[INFO] [stdout]                     Transition(t), EventResult :: NotHandled =>
[INFO] [stdout]                     self.handle(event),
[INFO] [stdout]                 }
[INFO] [stdout]             },
[INFO] [stdout]         }
[INFO] [stdout]     } fn super_exit(& self, level : i32)
[INFO] [stdout]     {
[INFO] [stdout]         if level > 0
[INFO] [stdout]         {
[INFO] [stdout]             match self
[INFO] [stdout]             {
[INFO] [stdout]                 Bla :: A1(b) => { b.super_exit(level - 1) }, Bla :: B1(b) =>
[INFO] [stdout]                 { b.super_exit(level - 1) },
[INFO] [stdout]             }
[INFO] [stdout]         } else
[INFO] [stdout]         {
[INFO] [stdout]             match self
[INFO] [stdout]             {
[INFO] [stdout]                 Bla :: A1(b) => { b.super_exit(level - 1) }, Bla :: B1(b) =>
[INFO] [stdout]                 { b.super_exit(level - 1) },
[INFO] [stdout]             } self.exit() ;
[INFO] [stdout]         }
[INFO] [stdout]     }
[INFO] [stdout] } #[derive(Copy, Clone, Debug)] struct A1() ; impl State < Event > for A1
[INFO] [stdout] where A1 : reactor :: base :: Actor < Event >
[INFO] [stdout] {
[INFO] [stdout]     type State = Outer2 ; const INITIAL_STATE : Self = A1 { } ; fn
[INFO] [stdout]     get_levels(& self, levels : & mut [core :: any :: TypeId], ptr : usize)
[INFO] [stdout]     { levels [ptr] = core :: any :: TypeId :: of :: < A1 > () ; } fn
[INFO] [stdout]     super_enter(& self, level : i32) { self.enter() } fn
[INFO] [stdout]     super_handle(& self, event : Event) -> EventResult << Self as State <
[INFO] [stdout]     Event >> :: State > { self.handle(event) } fn
[INFO] [stdout]     super_exit(& self, level : i32) { self.exit() }
[INFO] [stdout] } #[derive(Copy, Clone, Debug)] struct B1() ; impl State < Event > for B1
[INFO] [stdout] where B1 : reactor :: base :: Actor < Event >
[INFO] [stdout] {
[INFO] [stdout]     type State = Outer2 ; const INITIAL_STATE : Self = B1 { } ; fn
[INFO] [stdout]     get_levels(& self, levels : & mut [core :: any :: TypeId], ptr : usize)
[INFO] [stdout]     { levels [ptr] = core :: any :: TypeId :: of :: < B1 > () ; } fn
[INFO] [stdout]     super_enter(& self, level : i32) { self.enter() } fn
[INFO] [stdout]     super_handle(& self, event : Event) -> EventResult << Self as State <
[INFO] [stdout]     Event >> :: State > { self.handle(event) } fn
[INFO] [stdout]     super_exit(& self, level : i32) { self.exit() }
[INFO] [stdout] } #[derive(Copy, Clone, Debug)] enum Blo { D1(D1), E1(E1) } impl State < Event
[INFO] [stdout] > for Blo where Blo : reactor :: base :: Actor < Event >
[INFO] [stdout] {
[INFO] [stdout]     type State = Outer2 ; const INITIAL_STATE : Self = Blo :: E1(E1 { }) ; fn
[INFO] [stdout]     get_levels(& self, levels : & mut [core :: any :: TypeId], ptr : usize)
[INFO] [stdout]     {
[INFO] [stdout]         match self
[INFO] [stdout]         {
[INFO] [stdout]             Blo :: D1(b) =>
[INFO] [stdout]             {
[INFO] [stdout]                 levels [ptr] = core :: any :: TypeId :: of :: < Blo > () ;
[INFO] [stdout]                 b.get_levels(levels, ptr + 1) ;
[INFO] [stdout]             }, Blo :: E1(b) =>
[INFO] [stdout]             {
[INFO] [stdout]                 levels [ptr] = core :: any :: TypeId :: of :: < Blo > () ;
[INFO] [stdout]                 b.get_levels(levels, ptr + 1) ;
[INFO] [stdout]             },
[INFO] [stdout]         }
[INFO] [stdout]     } fn super_enter(& self, level : i32)
[INFO] [stdout]     {
[INFO] [stdout]         if level > 0
[INFO] [stdout]         {
[INFO] [stdout]             match self
[INFO] [stdout]             {
[INFO] [stdout]                 Blo :: D1(b) => { b.super_enter(level - 1) }, Blo :: E1(b) =>
[INFO] [stdout]                 { b.super_enter(level - 1) },
[INFO] [stdout]             }
[INFO] [stdout]         } else
[INFO] [stdout]         {
[INFO] [stdout]             self.enter() ; match self
[INFO] [stdout]             {
[INFO] [stdout]                 Blo :: D1(b) => { b.super_enter(level - 1) }, Blo :: E1(b) =>
[INFO] [stdout]                 { b.super_enter(level - 1) },
[INFO] [stdout]             }
[INFO] [stdout]         }
[INFO] [stdout]     } fn super_handle(& self, event : Event) -> EventResult << Self as State <
[INFO] [stdout]     Event >> :: State >
[INFO] [stdout]     {
[INFO] [stdout]         match self
[INFO] [stdout]         {
[INFO] [stdout]             Blo :: D1(b) =>
[INFO] [stdout]             {
[INFO] [stdout]                 match b.super_handle(event.clone())
[INFO] [stdout]                 {
[INFO] [stdout]                     EventResult :: Handled => EventResult :: Handled,
[INFO] [stdout]                     EventResult :: Transition(t) => EventResult ::
[INFO] [stdout]                     Transition(t), EventResult :: NotHandled =>
[INFO] [stdout]                     self.handle(event),
[INFO] [stdout]                 }
[INFO] [stdout]             }, Blo :: E1(b) =>
[INFO] [stdout]             {
[INFO] [stdout]                 match b.super_handle(event.clone())
[INFO] [stdout]                 {
[INFO] [stdout]                     EventResult :: Handled => EventResult :: Handled,
[INFO] [stdout]                     EventResult :: Transition(t) => EventResult ::
[INFO] [stdout]                     Transition(t), EventResult :: NotHandled =>
[INFO] [stdout]                     self.handle(event),
[INFO] [stdout]                 }
[INFO] [stdout]             },
[INFO] [stdout]         }
[INFO] [stdout]     } fn super_exit(& self, level : i32)
[INFO] [stdout]     {
[INFO] [stdout]         if level > 0
[INFO] [stdout]         {
[INFO] [stdout]             match self
[INFO] [stdout]             {
[INFO] [stdout]                 Blo :: D1(b) => { b.super_exit(level - 1) }, Blo :: E1(b) =>
[INFO] [stdout]                 { b.super_exit(level - 1) },
[INFO] [stdout]             }
[INFO] [stdout]         } else
[INFO] [stdout]         {
[INFO] [stdout]             match self
[INFO] [stdout]             {
[INFO] [stdout]                 Blo :: D1(b) => { b.super_exit(level - 1) }, Blo :: E1(b) =>
[INFO] [stdout]                 { b.super_exit(level - 1) },
[INFO] [stdout]             } self.exit() ;
[INFO] [stdout]         }
[INFO] [stdout]     }
[INFO] [stdout] } #[derive(Copy, Clone, Debug)] struct D1() ; impl State < Event > for D1
[INFO] [stdout] where D1 : reactor :: base :: Actor < Event >
[INFO] [stdout] {
[INFO] [stdout]     type State = Outer2 ; const INITIAL_STATE : Self = D1 { } ; fn
[INFO] [stdout]     get_levels(& self, levels : & mut [core :: any :: TypeId], ptr : usize)
[INFO] [stdout]     { levels [ptr] = core :: any :: TypeId :: of :: < D1 > () ; } fn
[INFO] [stdout]     super_enter(& self, level : i32) { self.enter() } fn
[INFO] [stdout]     super_handle(& self, event : Event) -> EventResult << Self as State <
[INFO] [stdout]     Event >> :: State > { self.handle(event) } fn
[INFO] [stdout]     super_exit(& self, level : i32) { self.exit() }
[INFO] [stdout] } #[derive(Copy, Clone, Debug)] struct E1() ; impl State < Event > for E1
[INFO] [stdout] where E1 : reactor :: base :: Actor < Event >
[INFO] [stdout] {
[INFO] [stdout]     type State = Outer2 ; const INITIAL_STATE : Self = E1 { } ; fn
[INFO] [stdout]     get_levels(& self, levels : & mut [core :: any :: TypeId], ptr : usize)
[INFO] [stdout]     { levels [ptr] = core :: any :: TypeId :: of :: < E1 > () ; } fn
[INFO] [stdout]     super_enter(& self, level : i32) { self.enter() } fn
[INFO] [stdout]     super_handle(& self, event : Event) -> EventResult << Self as State <
[INFO] [stdout]     Event >> :: State > { self.handle(event) } fn
[INFO] [stdout]     super_exit(& self, level : i32) { self.exit() }
[INFO] [stdout] } #[derive(Copy, Clone, Debug)] struct C1() ; impl State < Event > for C1
[INFO] [stdout] where C1 : reactor :: base :: Actor < Event >
[INFO] [stdout] {
[INFO] [stdout]     type State = Outer2 ; const INITIAL_STATE : Self = C1 { } ; fn
[INFO] [stdout]     get_levels(& self, levels : & mut [core :: any :: TypeId], ptr : usize)
[INFO] [stdout]     { levels [ptr] = core :: any :: TypeId :: of :: < C1 > () ; } fn
[INFO] [stdout]     super_enter(& self, level : i32) { self.enter() } fn
[INFO] [stdout]     super_handle(& self, event : Event) -> EventResult << Self as State <
[INFO] [stdout]     Event >> :: State > { self.handle(event) } fn
[INFO] [stdout]     super_exit(& self, level : i32) { self.exit() }
[INFO] [stdout] } #[derive(Debug)] pub struct Reactor { state : Outer2, } const
[INFO] [stdout] REACTOR_MAX_LEVELS : usize = 3usize ; impl React < Event > for Reactor
[INFO] [stdout] {
[INFO] [stdout]     fn new() -> Self
[INFO] [stdout]     {
[INFO] [stdout]         let reactor = Self { state : Outer2 :: INITIAL_STATE, } ;
[INFO] [stdout]         reactor.state.super_enter(0) ; reactor
[INFO] [stdout]     } fn react(& mut self, event : Event)
[INFO] [stdout]     {
[INFO] [stdout]         match self.state.super_handle(event)
[INFO] [stdout]         {
[INFO] [stdout]             EventResult :: Transition(new_state) =>
[INFO] [stdout]             {
[INFO] [stdout]                 let levels_new = & mut
[INFO] [stdout]                 [core :: any :: TypeId :: of :: < bool > () ;
[INFO] [stdout]                  REACTOR_MAX_LEVELS] ; let levels_old = & mut
[INFO] [stdout]                 [core :: any :: TypeId :: of :: < bool > () ;
[INFO] [stdout]                  REACTOR_MAX_LEVELS] ; new_state.get_levels(levels_new, 0) ;
[INFO] [stdout]                 self.state.get_levels(levels_old, 0) ; let mut i = 0 ; while i
[INFO] [stdout]                 < REACTOR_MAX_LEVELS
[INFO] [stdout]                 { if levels_new [i] != levels_old [i] { break ; } i += 1 ; }
[INFO] [stdout]                 println! ("Moving {:?} -> {:?}", self, new_state) ;
[INFO] [stdout]                 self.state.super_exit(i as i32) ; self.state = new_state ;
[INFO] [stdout]                 self.state.super_enter(i as i32) ;
[INFO] [stdout]             } _ => { },
[INFO] [stdout]         }
[INFO] [stdout]     }
[INFO] [stdout] }
[INFO] [stderr]     Finished dev [unoptimized + debuginfo] target(s) in 10.76s
[INFO] running `Command { std: "docker" "inspect" "3bb99a807feea7d9565a3cc8bc902839d2c83f75bddc9de50b04ba603b66b7a4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3bb99a807feea7d9565a3cc8bc902839d2c83f75bddc9de50b04ba603b66b7a4", kill_on_drop: false }`
[INFO] [stdout] 3bb99a807feea7d9565a3cc8bc902839d2c83f75bddc9de50b04ba603b66b7a4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 2edeb45857861fbef82bf5dea9cfad18f2def696902e34a40f881116648fa51e
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "2edeb45857861fbef82bf5dea9cfad18f2def696902e34a40f881116648fa51e", kill_on_drop: false }`
[INFO] [stderr]    Compiling reactor v0.1.0 (/opt/rustwide/workdir/reactor)
[INFO] [stderr]    Compiling reactor-derive v0.1.0 (/opt/rustwide/workdir/reactor-derive)
[INFO] [stderr]    Compiling example v0.1.0 (/opt/rustwide/workdir/example)
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> reactor-derive/src/lib.rs:70:109
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let t = sub_state.sub_states.iter().map(|sub_state| assemble_from_sub_state(root, sub_state)).collect::<(Vec<_>)>();
[INFO] [stdout]    |                                                                                                             ^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] SubState {
[INFO] [stdout]     ident: Ident {
[INFO] [stdout]         ident: "Outer2",
[INFO] [stdout]         span: #0 bytes(175..181),
[INFO] [stdout]     },
[INFO] [stdout]     sub_states: [
[INFO] [stdout]         SubState {
[INFO] [stdout]             ident: Ident {
[INFO] [stdout]                 ident: "Bla",
[INFO] [stdout]                 span: #0 bytes(197..200),
[INFO] [stdout]             },
[INFO] [stdout]             sub_states: [
[INFO] [stdout]                 SubState {
[INFO] [stdout]                     ident: Ident {
[INFO] [stdout]                         ident: "A1",
[INFO] [stdout]                         span: #0 bytes(215..217),
[INFO] [stdout]                     },
[INFO] [stdout]                     sub_states: [],
[INFO] [stdout]                 },
[INFO] [stdout]                 SubState {
[INFO] [stdout]                     ident: Ident {
[INFO] [stdout]                         ident: "B1",
[INFO] [stdout]                         span: #0 bytes(219..221),
[INFO] [stdout]                     },
[INFO] [stdout]                     sub_states: [],
[INFO] [stdout]                 },
[INFO] [stdout]             ],
[INFO] [stdout]         },
[INFO] [stdout]         SubState {
[INFO] [stdout]             ident: Ident {
[INFO] [stdout]                 ident: "Blo",
[INFO] [stdout]                 span: #0 bytes(247..250),
[INFO] [stdout]             },
[INFO] [stdout]             sub_states: [
[INFO] [stdout]                 SubState {
[INFO] [stdout]                     ident: Ident {
[INFO] [stdout]                         ident: "D1",
[INFO] [stdout]                         span: #0 bytes(265..267),
[INFO] [stdout]                     },
[INFO] [stdout]                     sub_states: [],
[INFO] [stdout]                 },
[INFO] [stdout]                 SubState {
[INFO] [stdout]                     ident: Ident {
[INFO] [stdout]                         ident: "E1",
[INFO] [stdout]                         span: #0 bytes(269..271),
[INFO] [stdout]                     },
[INFO] [stdout]                     sub_states: [],
[INFO] [stdout]                 },
[INFO] [stdout]             ],
[INFO] [stdout]         },
[INFO] [stdout]         SubState {
[INFO] [stdout]             ident: Ident {
[INFO] [stdout]                 ident: "C1",
[INFO] [stdout]                 span: #0 bytes(292..294),
[INFO] [stdout]             },
[INFO] [stdout]             sub_states: [],
[INFO] [stdout]         },
[INFO] [stdout]     ],
[INFO] [stdout] }
[INFO] [stdout] #[derive(Copy, Clone, Debug)] enum Outer2 { Bla(Bla), Blo(Blo), C1(C1) } impl
[INFO] [stdout] State < Event > for Outer2 where Outer2 : reactor :: base :: Actor < Event >
[INFO] [stdout] {
[INFO] [stdout]     type State = Outer2 ; const INITIAL_STATE : Self = Outer2 :: C1(C1 { }) ;
[INFO] [stdout]     fn get_levels(& self, levels : & mut [core :: any :: TypeId], ptr : usize)
[INFO] [stdout]     {
[INFO] [stdout]         match self
[INFO] [stdout]         {
[INFO] [stdout]             Outer2 :: Bla(b) =>
[INFO] [stdout]             {
[INFO] [stdout]                 levels [ptr] = core :: any :: TypeId :: of :: < Outer2 > () ;
[INFO] [stdout]                 b.get_levels(levels, ptr + 1) ;
[INFO] [stdout]             }, Outer2 :: Blo(b) =>
[INFO] [stdout]             {
[INFO] [stdout]                 levels [ptr] = core :: any :: TypeId :: of :: < Outer2 > () ;
[INFO] [stdout]                 b.get_levels(levels, ptr + 1) ;
[INFO] [stdout]             }, Outer2 :: C1(b) =>
[INFO] [stdout]             {
[INFO] [stdout]                 levels [ptr] = core :: any :: TypeId :: of :: < Outer2 > () ;
[INFO] [stdout]                 b.get_levels(levels, ptr + 1) ;
[INFO] [stdout]             },
[INFO] [stdout]         }
[INFO] [stdout]     } fn super_enter(& self, level : i32)
[INFO] [stdout]     {
[INFO] [stdout]         if level > 0
[INFO] [stdout]         {
[INFO] [stdout]             match self
[INFO] [stdout]             {
[INFO] [stdout]                 Outer2 :: Bla(b) => { b.super_enter(level - 1) }, Outer2 ::
[INFO] [stdout]                 Blo(b) => { b.super_enter(level - 1) }, Outer2 :: C1(b) =>
[INFO] [stdout]                 { b.super_enter(level - 1) },
[INFO] [stdout]             }
[INFO] [stdout]         } else
[INFO] [stdout]         {
[INFO] [stdout]             self.enter() ; match self
[INFO] [stdout]             {
[INFO] [stdout]                 Outer2 :: Bla(b) => { b.super_enter(level - 1) }, Outer2 ::
[INFO] [stdout]                 Blo(b) => { b.super_enter(level - 1) }, Outer2 :: C1(b) =>
[INFO] [stdout]                 { b.super_enter(level - 1) },
[INFO] [stdout]             }
[INFO] [stdout]         }
[INFO] [stdout]     } fn super_handle(& self, event : Event) -> EventResult << Self as State <
[INFO] [stdout]     Event >> :: State >
[INFO] [stdout]     {
[INFO] [stdout]         match self
[INFO] [stdout]         {
[INFO] [stdout]             Outer2 :: Bla(b) =>
[INFO] [stdout]             {
[INFO] [stdout]                 match b.super_handle(event.clone())
[INFO] [stdout]                 {
[INFO] [stdout]                     EventResult :: Handled => EventResult :: Handled,
[INFO] [stdout]                     EventResult :: Transition(t) => EventResult ::
[INFO] [stdout]                     Transition(t), EventResult :: NotHandled =>
[INFO] [stdout]                     self.handle(event),
[INFO] [stdout]                 }
[INFO] [stdout]             }, Outer2 :: Blo(b) =>
[INFO] [stdout]             {
[INFO] [stdout]                 match b.super_handle(event.clone())
[INFO] [stdout]                 {
[INFO] [stdout]                     EventResult :: Handled => EventResult :: Handled,
[INFO] [stdout]                     EventResult :: Transition(t) => EventResult ::
[INFO] [stdout]                     Transition(t), EventResult :: NotHandled =>
[INFO] [stdout]                     self.handle(event),
[INFO] [stdout]                 }
[INFO] [stdout]             }, Outer2 :: C1(b) =>
[INFO] [stdout]             {
[INFO] [stdout]                 match b.super_handle(event.clone())
[INFO] [stdout]                 {
[INFO] [stdout]                     EventResult :: Handled => EventResult :: Handled,
[INFO] [stdout]                     EventResult :: Transition(t) => EventResult ::
[INFO] [stdout]                     Transition(t), EventResult :: NotHandled =>
[INFO] [stdout]                     self.handle(event),
[INFO] [stdout]                 }
[INFO] [stdout]             },
[INFO] [stdout]         }
[INFO] [stdout]     } fn super_exit(& self, level : i32)
[INFO] [stdout]     {
[INFO] [stdout]         if level > 0
[INFO] [stdout]         {
[INFO] [stdout]             match self
[INFO] [stdout]             {
[INFO] [stdout]                 Outer2 :: Bla(b) => { b.super_exit(level - 1) }, Outer2 ::
[INFO] [stdout]                 Blo(b) => { b.super_exit(level - 1) }, Outer2 :: C1(b) =>
[INFO] [stdout]                 { b.super_exit(level - 1) },
[INFO] [stdout]             }
[INFO] [stdout]         } else
[INFO] [stdout]         {
[INFO] [stdout]             match self
[INFO] [stdout]             {
[INFO] [stdout]                 Outer2 :: Bla(b) => { b.super_exit(level - 1) }, Outer2 ::
[INFO] [stdout]                 Blo(b) => { b.super_exit(level - 1) }, Outer2 :: C1(b) =>
[INFO] [stdout]                 { b.super_exit(level - 1) },
[INFO] [stdout]             } self.exit() ;
[INFO] [stdout]         }
[INFO] [stdout]     }
[INFO] [stdout] } #[derive(Copy, Clone, Debug)] enum Bla { A1(A1), B1(B1) } impl State < Event
[INFO] [stdout] > for Bla where Bla : reactor :: base :: Actor < Event >
[INFO] [stdout] {
[INFO] [stdout]     type State = Outer2 ; const INITIAL_STATE : Self = Bla :: B1(B1 { }) ; fn
[INFO] [stdout]     get_levels(& self, levels : & mut [core :: any :: TypeId], ptr : usize)
[INFO] [stdout]     {
[INFO] [stdout]         match self
[INFO] [stdout]         {
[INFO] [stdout]             Bla :: A1(b) =>
[INFO] [stdout]             {
[INFO] [stdout]                 levels [ptr] = core :: any :: TypeId :: of :: < Bla > () ;
[INFO] [stdout]                 b.get_levels(levels, ptr + 1) ;
[INFO] [stdout]             }, Bla :: B1(b) =>
[INFO] [stdout]             {
[INFO] [stdout]                 levels [ptr] = core :: any :: TypeId :: of :: < Bla > () ;
[INFO] [stdout]                 b.get_levels(levels, ptr + 1) ;
[INFO] [stdout]             },
[INFO] [stdout]         }
[INFO] [stdout]     } fn super_enter(& self, level : i32)
[INFO] [stdout]     {
[INFO] [stdout]         if level > 0
[INFO] [stdout]         {
[INFO] [stdout]             match self
[INFO] [stdout]             {
[INFO] [stdout]                 Bla :: A1(b) => { b.super_enter(level - 1) }, Bla :: B1(b) =>
[INFO] [stdout]                 { b.super_enter(level - 1) },
[INFO] [stdout]             }
[INFO] [stdout]         } else
[INFO] [stdout]         {
[INFO] [stdout]             self.enter() ; match self
[INFO] [stdout]             {
[INFO] [stdout]                 Bla :: A1(b) => { b.super_enter(level - 1) }, Bla :: B1(b) =>
[INFO] [stdout]                 { b.super_enter(level - 1) },
[INFO] [stdout]             }
[INFO] [stdout]         }
[INFO] [stdout]     } fn super_handle(& self, event : Event) -> EventResult << Self as State <
[INFO] [stdout]     Event >> :: State >
[INFO] [stdout]     {
[INFO] [stdout]         match self
[INFO] [stdout]         {
[INFO] [stdout]             Bla :: A1(b) =>
[INFO] [stdout]             {
[INFO] [stdout]                 match b.super_handle(event.clone())
[INFO] [stdout]                 {
[INFO] [stdout]                     EventResult :: Handled => EventResult :: Handled,
[INFO] [stdout]                     EventResult :: Transition(t) => EventResult ::
[INFO] [stdout]                     Transition(t), EventResult :: NotHandled =>
[INFO] [stdout]                     self.handle(event),
[INFO] [stdout]                 }
[INFO] [stdout]             }, Bla :: B1(b) =>
[INFO] [stdout]             {
[INFO] [stdout]                 match b.super_handle(event.clone())
[INFO] [stdout]                 {
[INFO] [stdout]                     EventResult :: Handled => EventResult :: Handled,
[INFO] [stdout]                     EventResult :: Transition(t) => EventResult ::
[INFO] [stdout]                     Transition(t), EventResult :: NotHandled =>
[INFO] [stdout]                     self.handle(event),
[INFO] [stdout]                 }
[INFO] [stdout]             },
[INFO] [stdout]         }
[INFO] [stdout]     } fn super_exit(& self, level : i32)
[INFO] [stdout]     {
[INFO] [stdout]         if level > 0
[INFO] [stdout]         {
[INFO] [stdout]             match self
[INFO] [stdout]             {
[INFO] [stdout]                 Bla :: A1(b) => { b.super_exit(level - 1) }, Bla :: B1(b) =>
[INFO] [stdout]                 { b.super_exit(level - 1) },
[INFO] [stdout]             }
[INFO] [stdout]         } else
[INFO] [stdout]         {
[INFO] [stdout]             match self
[INFO] [stdout]             {
[INFO] [stdout]                 Bla :: A1(b) => { b.super_exit(level - 1) }, Bla :: B1(b) =>
[INFO] [stdout]                 { b.super_exit(level - 1) },
[INFO] [stdout]             } self.exit() ;
[INFO] [stdout]         }
[INFO] [stdout]     }
[INFO] [stdout] } #[derive(Copy, Clone, Debug)] struct A1() ; impl State < Event > for A1
[INFO] [stdout] where A1 : reactor :: base :: Actor < Event >
[INFO] [stdout] {
[INFO] [stdout]     type State = Outer2 ; const INITIAL_STATE : Self = A1 { } ; fn
[INFO] [stdout]     get_levels(& self, levels : & mut [core :: any :: TypeId], ptr : usize)
[INFO] [stdout]     { levels [ptr] = core :: any :: TypeId :: of :: < A1 > () ; } fn
[INFO] [stdout]     super_enter(& self, level : i32) { self.enter() } fn
[INFO] [stdout]     super_handle(& self, event : Event) -> EventResult << Self as State <
[INFO] [stdout]     Event >> :: State > { self.handle(event) } fn
[INFO] [stdout]     super_exit(& self, level : i32) { self.exit() }
[INFO] [stdout] } #[derive(Copy, Clone, Debug)] struct B1() ; impl State < Event > for B1
[INFO] [stdout] where B1 : reactor :: base :: Actor < Event >
[INFO] [stdout] {
[INFO] [stdout]     type State = Outer2 ; const INITIAL_STATE : Self = B1 { } ; fn
[INFO] [stdout]     get_levels(& self, levels : & mut [core :: any :: TypeId], ptr : usize)
[INFO] [stdout]     { levels [ptr] = core :: any :: TypeId :: of :: < B1 > () ; } fn
[INFO] [stdout]     super_enter(& self, level : i32) { self.enter() } fn
[INFO] [stdout]     super_handle(& self, event : Event) -> EventResult << Self as State <
[INFO] [stdout]     Event >> :: State > { self.handle(event) } fn
[INFO] [stdout]     super_exit(& self, level : i32) { self.exit() }
[INFO] [stdout] } #[derive(Copy, Clone, Debug)] enum Blo { D1(D1), E1(E1) } impl State < Event
[INFO] [stdout] > for Blo where Blo : reactor :: base :: Actor < Event >
[INFO] [stdout] {
[INFO] [stdout]     type State = Outer2 ; const INITIAL_STATE : Self = Blo :: E1(E1 { }) ; fn
[INFO] [stdout]     get_levels(& self, levels : & mut [core :: any :: TypeId], ptr : usize)
[INFO] [stdout]     {
[INFO] [stdout]         match self
[INFO] [stdout]         {
[INFO] [stdout]             Blo :: D1(b) =>
[INFO] [stdout]             {
[INFO] [stdout]                 levels [ptr] = core :: any :: TypeId :: of :: < Blo > () ;
[INFO] [stdout]                 b.get_levels(levels, ptr + 1) ;
[INFO] [stdout]             }, Blo :: E1(b) =>
[INFO] [stdout]             {
[INFO] [stdout]                 levels [ptr] = core :: any :: TypeId :: of :: < Blo > () ;
[INFO] [stdout]                 b.get_levels(levels, ptr + 1) ;
[INFO] [stdout]             },
[INFO] [stdout]         }
[INFO] [stdout]     } fn super_enter(& self, level : i32)
[INFO] [stdout]     {
[INFO] [stdout]         if level > 0
[INFO] [stdout]         {
[INFO] [stdout]             match self
[INFO] [stdout]             {
[INFO] [stdout]                 Blo :: D1(b) => { b.super_enter(level - 1) }, Blo :: E1(b) =>
[INFO] [stdout]                 { b.super_enter(level - 1) },
[INFO] [stdout]             }
[INFO] [stdout]         } else
[INFO] [stdout]         {
[INFO] [stdout]             self.enter() ; match self
[INFO] [stdout]             {
[INFO] [stdout]                 Blo :: D1(b) => { b.super_enter(level - 1) }, Blo :: E1(b) =>
[INFO] [stdout]                 { b.super_enter(level - 1) },
[INFO] [stdout]             }
[INFO] [stdout]         }
[INFO] [stdout]     } fn super_handle(& self, event : Event) -> EventResult << Self as State <
[INFO] [stdout]     Event >> :: State >
[INFO] [stdout]     {
[INFO] [stdout]         match self
[INFO] [stdout]         {
[INFO] [stdout]             Blo :: D1(b) =>
[INFO] [stdout]             {
[INFO] [stdout]                 match b.super_handle(event.clone())
[INFO] [stdout]                 {
[INFO] [stdout]                     EventResult :: Handled => EventResult :: Handled,
[INFO] [stdout]                     EventResult :: Transition(t) => EventResult ::
[INFO] [stdout]                     Transition(t), EventResult :: NotHandled =>
[INFO] [stdout]                     self.handle(event),
[INFO] [stdout]                 }
[INFO] [stdout]             }, Blo :: E1(b) =>
[INFO] [stdout]             {
[INFO] [stdout]                 match b.super_handle(event.clone())
[INFO] [stdout]                 {
[INFO] [stdout]                     EventResult :: Handled => EventResult :: Handled,
[INFO] [stdout]                     EventResult :: Transition(t) => EventResult ::
[INFO] [stdout]                     Transition(t), EventResult :: NotHandled =>
[INFO] [stdout]                     self.handle(event),
[INFO] [stdout]                 }
[INFO] [stdout]             },
[INFO] [stdout]         }
[INFO] [stdout]     } fn super_exit(& self, level : i32)
[INFO] [stdout]     {
[INFO] [stdout]         if level > 0
[INFO] [stdout]         {
[INFO] [stdout]             match self
[INFO] [stdout]             {
[INFO] [stdout]                 Blo :: D1(b) => { b.super_exit(level - 1) }, Blo :: E1(b) =>
[INFO] [stdout]                 { b.super_exit(level - 1) },
[INFO] [stdout]             }
[INFO] [stdout]         } else
[INFO] [stdout]         {
[INFO] [stdout]             match self
[INFO] [stdout]             {
[INFO] [stdout]                 Blo :: D1(b) => { b.super_exit(level - 1) }, Blo :: E1(b) =>
[INFO] [stdout]                 { b.super_exit(level - 1) },
[INFO] [stdout]             } self.exit() ;
[INFO] [stdout]         }
[INFO] [stdout]     }
[INFO] [stdout] } #[derive(Copy, Clone, Debug)] struct D1() ; impl State < Event > for D1
[INFO] [stdout] where D1 : reactor :: base :: Actor < Event >
[INFO] [stdout] {
[INFO] [stdout]     type State = Outer2 ; const INITIAL_STATE : Self = D1 { } ; fn
[INFO] [stdout]     get_levels(& self, levels : & mut [core :: any :: TypeId], ptr : usize)
[INFO] [stdout]     { levels [ptr] = core :: any :: TypeId :: of :: < D1 > () ; } fn
[INFO] [stdout]     super_enter(& self, level : i32) { self.enter() } fn
[INFO] [stdout]     super_handle(& self, event : Event) -> EventResult << Self as State <
[INFO] [stdout]     Event >> :: State > { self.handle(event) } fn
[INFO] [stdout]     super_exit(& self, level : i32) { self.exit() }
[INFO] [stdout] } #[derive(Copy, Clone, Debug)] struct E1() ; impl State < Event > for E1
[INFO] [stdout] where E1 : reactor :: base :: Actor < Event >
[INFO] [stdout] {
[INFO] [stdout]     type State = Outer2 ; const INITIAL_STATE : Self = E1 { } ; fn
[INFO] [stdout]     get_levels(& self, levels : & mut [core :: any :: TypeId], ptr : usize)
[INFO] [stdout]     { levels [ptr] = core :: any :: TypeId :: of :: < E1 > () ; } fn
[INFO] [stdout]     super_enter(& self, level : i32) { self.enter() } fn
[INFO] [stdout]     super_handle(& self, event : Event) -> EventResult << Self as State <
[INFO] [stdout]     Event >> :: State > { self.handle(event) } fn
[INFO] [stdout]     super_exit(& self, level : i32) { self.exit() }
[INFO] [stdout] } #[derive(Copy, Clone, Debug)] struct C1() ; impl State < Event > for C1
[INFO] [stdout] where C1 : reactor :: base :: Actor < Event >
[INFO] [stdout] {
[INFO] [stdout]     type State = Outer2 ; const INITIAL_STATE : Self = C1 { } ; fn
[INFO] [stdout]     get_levels(& self, levels : & mut [core :: any :: TypeId], ptr : usize)
[INFO] [stdout]     { levels [ptr] = core :: any :: TypeId :: of :: < C1 > () ; } fn
[INFO] [stdout]     super_enter(& self, level : i32) { self.enter() } fn
[INFO] [stdout]     super_handle(& self, event : Event) -> EventResult << Self as State <
[INFO] [stdout]     Event >> :: State > { self.handle(event) } fn
[INFO] [stdout]     super_exit(& self, level : i32) { self.exit() }
[INFO] [stdout] } #[derive(Debug)] pub struct Reactor { state : Outer2, } const
[INFO] [stdout] REACTOR_MAX_LEVELS : usize = 3usize ; impl React < Event > for Reactor
[INFO] [stdout] {
[INFO] [stdout]     fn new() -> Self
[INFO] [stdout]     {
[INFO] [stdout]         let reactor = Self { state : Outer2 :: INITIAL_STATE, } ;
[INFO] [stdout]         reactor.state.super_enter(0) ; reactor
[INFO] [stdout]     } fn react(& mut self, event : Event)
[INFO] [stdout]     {
[INFO] [stdout]         match self.state.super_handle(event)
[INFO] [stdout]         {
[INFO] [stdout]             EventResult :: Transition(new_state) =>
[INFO] [stdout]             {
[INFO] [stdout]                 let levels_new = & mut
[INFO] [stdout]                 [core :: any :: TypeId :: of :: < bool > () ;
[INFO] [stdout]                  REACTOR_MAX_LEVELS] ; let levels_old = & mut
[INFO] [stdout]                 [core :: any :: TypeId :: of :: < bool > () ;
[INFO] [stdout]                  REACTOR_MAX_LEVELS] ; new_state.get_levels(levels_new, 0) ;
[INFO] [stdout]                 self.state.get_levels(levels_old, 0) ; let mut i = 0 ; while i
[INFO] [stdout]                 < REACTOR_MAX_LEVELS
[INFO] [stdout]                 { if levels_new [i] != levels_old [i] { break ; } i += 1 ; }
[INFO] [stdout]                 println! ("Moving {:?} -> {:?}", self, new_state) ;
[INFO] [stdout]                 self.state.super_exit(i as i32) ; self.state = new_state ;
[INFO] [stdout]                 self.state.super_enter(i as i32) ;
[INFO] [stdout]             } _ => { },
[INFO] [stdout]         }
[INFO] [stdout]     }
[INFO] [stdout] }
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> reactor-derive/src/lib.rs:70:109
[INFO] [stdout]    |
[INFO] [stdout] 70 |     let t = sub_state.sub_states.iter().map(|sub_state| assemble_from_sub_state(root, sub_state)).collect::<(Vec<_>)>();
[INFO] [stdout]    |                                                                                                             ^^^^^^^^ help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 1.06s
[INFO] running `Command { std: "docker" "inspect" "2edeb45857861fbef82bf5dea9cfad18f2def696902e34a40f881116648fa51e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2edeb45857861fbef82bf5dea9cfad18f2def696902e34a40f881116648fa51e", kill_on_drop: false }`
[INFO] [stdout] 2edeb45857861fbef82bf5dea9cfad18f2def696902e34a40f881116648fa51e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "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:34b6a614d2c27851fe6cbf88fbd1137609cefab8b10d0615aaeb6fd47975d74e" "/opt/rustwide/cargo-home/bin/cargo" "+1.54.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 5e0825517909e0f7aa30c4bcfebdbe0d22943b1dfdc59b54c66b15cd3453c76d
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "5e0825517909e0f7aa30c4bcfebdbe0d22943b1dfdc59b54c66b15cd3453c76d", kill_on_drop: false }`
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> reactor-derive/src/lib.rs:70:109
[INFO] [stderr]    |
[INFO] [stderr] 70 |     let t = sub_state.sub_states.iter().map(|sub_state| assemble_from_sub_state(root, sub_state)).collect::<(Vec<_>)>();
[INFO] [stderr]    |                                                                                                             ^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: 1 warning emitted
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> reactor-derive/src/lib.rs:70:109
[INFO] [stderr]    |
[INFO] [stderr] 70 |     let t = sub_state.sub_states.iter().map(|sub_state| assemble_from_sub_state(root, sub_state)).collect::<(Vec<_>)>();
[INFO] [stderr]    |                                                                                                             ^^^^^^^^ help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: 1 warning emitted
[INFO] [stderr] 
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.01s
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/example-a6da9a1c10c2aee9)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/reactor-a57dce2a923a8c45)
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests (/opt/rustwide/target/debug/deps/reactor_derive-32dc649a2d75cf7b)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests reactor
[INFO] [stderr] error[E0659]: `reactor` is ambiguous (name vs any other name during import resolution)
[INFO] [stderr]  --> /opt/rustwide/workdir/reactor/src/lib.rs:6:9
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub use reactor::React;
[INFO] [stderr]   |         ^^^^^^^ ambiguous name
[INFO] [stderr]   |
[INFO] [stderr]   = note: `reactor` could refer to a crate passed with `--extern`
[INFO] [stderr]   = help: use `::reactor` to refer to this crate unambiguously
[INFO] [stderr] note: `reactor` could also refer to the module defined here
[INFO] [stderr]  --> /opt/rustwide/workdir/reactor/src/lib.rs:4:1
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub mod reactor;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^
[INFO] [stderr]   = help: use `crate::reactor` to refer to this module unambiguously
[INFO] [stderr] 
[INFO] [stderr] error: aborting due to previous error
[INFO] [stderr] 
[INFO] [stderr] For more information about this error, try `rustc --explain E0659`.
[INFO] [stderr] error: test failed, to rerun pass '--doc'
[INFO] running `Command { std: "docker" "inspect" "5e0825517909e0f7aa30c4bcfebdbe0d22943b1dfdc59b54c66b15cd3453c76d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5e0825517909e0f7aa30c4bcfebdbe0d22943b1dfdc59b54c66b15cd3453c76d", kill_on_drop: false }`
[INFO] [stdout] 5e0825517909e0f7aa30c4bcfebdbe0d22943b1dfdc59b54c66b15cd3453c76d
