[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 beta-2023-04-20 for beta-1.70-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FYatekii%2Freactor" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/Yatekii/reactor on toolchain beta-2023-04-20
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2023-04-20" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/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-0-tc2/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: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2023-04-20" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded syn v0.15.30
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-04-20" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 68d1ce00596714912ba9ce002d1c1a179a03afb77544134141b6cfd4c66e6b41
[INFO] running `Command { std: "docker" "start" "-a" "68d1ce00596714912ba9ce002d1c1a179a03afb77544134141b6cfd4c66e6b41", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "68d1ce00596714912ba9ce002d1c1a179a03afb77544134141b6cfd4c66e6b41", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "68d1ce00596714912ba9ce002d1c1a179a03afb77544134141b6cfd4c66e6b41", kill_on_drop: false }`
[INFO] [stdout] 68d1ce00596714912ba9ce002d1c1a179a03afb77544134141b6cfd4c66e6b41
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-04-20" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 00c264ab8ca7fbdd2f2d1a0f95842b4bf545d8b36670839669264cc48a3aa10e
[INFO] running `Command { std: "docker" "start" "-a" "00c264ab8ca7fbdd2f2d1a0f95842b4bf545d8b36670839669264cc48a3aa10e", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v0.4.27
[INFO] [stderr]    Compiling syn v0.15.30
[INFO] [stderr]    Compiling reactor v0.1.0 (/opt/rustwide/workdir/reactor)
[INFO] [stderr]    Compiling quote v0.6.11
[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]    |                                                                                                             ^      ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[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] 70 +     let t = sub_state.sub_states.iter().map(|sub_state| assemble_from_sub_state(root, sub_state)).collect::<Vec<_>>();
[INFO] [stdout]    |
[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 6.96s
[INFO] running `Command { std: "docker" "inspect" "00c264ab8ca7fbdd2f2d1a0f95842b4bf545d8b36670839669264cc48a3aa10e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "00c264ab8ca7fbdd2f2d1a0f95842b4bf545d8b36670839669264cc48a3aa10e", kill_on_drop: false }`
[INFO] [stdout] 00c264ab8ca7fbdd2f2d1a0f95842b4bf545d8b36670839669264cc48a3aa10e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-04-20" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ce4fb049cd00ab19849e2624e2ad08eca73ee3e2b9c322129747b6a2a5ccb7a6
[INFO] running `Command { std: "docker" "start" "-a" "ce4fb049cd00ab19849e2624e2ad08eca73ee3e2b9c322129747b6a2a5ccb7a6", 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] [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]    |                                                                                                             ^      ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[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] 70 +     let t = sub_state.sub_states.iter().map(|sub_state| assemble_from_sub_state(root, sub_state)).collect::<Vec<_>>();
[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]    |                                                                                                             ^      ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stdout] help: remove these parentheses
[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] 70 +     let t = sub_state.sub_states.iter().map(|sub_state| assemble_from_sub_state(root, sub_state)).collect::<Vec<_>>();
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: 1 warning emitted
[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 test [unoptimized + debuginfo] target(s) in 1.52s
[INFO] running `Command { std: "docker" "inspect" "ce4fb049cd00ab19849e2624e2ad08eca73ee3e2b9c322129747b6a2a5ccb7a6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ce4fb049cd00ab19849e2624e2ad08eca73ee3e2b9c322129747b6a2a5ccb7a6", kill_on_drop: false }`
[INFO] [stdout] ce4fb049cd00ab19849e2624e2ad08eca73ee3e2b9c322129747b6a2a5ccb7a6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:5ff2268d62e97bff2cde7d5815dd6ed5b47097566f13b8d0ca110b04b60e07ed" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2023-04-20" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 2f88dfbe8e3ab3139e5a89471ad64d05aa9b088193ed796568c28447e739667d
[INFO] running `Command { std: "docker" "start" "-a" "2f88dfbe8e3ab3139e5a89471ad64d05aa9b088193ed796568c28447e739667d", 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]    |                                                                                                             ^      ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` on by default
[INFO] [stderr] help: remove these parentheses
[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] 70 +     let t = sub_state.sub_states.iter().map(|sub_state| assemble_from_sub_state(root, sub_state)).collect::<Vec<_>>();
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: `reactor-derive` (lib) generated 1 warning (run `cargo fix --lib -p reactor-derive` to apply 1 suggestion)
[INFO] [stderr] warning: `reactor-derive` (lib test) generated 1 warning (1 duplicate)
[INFO] [stderr]     Finished test [unoptimized + debuginfo] target(s) in 0.01s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/example-77bd23c2698075ee)
[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 src/lib.rs (/opt/rustwide/target/debug/deps/reactor-31bfbbdac6a926a0)
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/reactor_derive-c97cdd5064be8dd2)
[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] [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] [stderr]    Doc-tests reactor
[INFO] [stdout] 
[INFO] [stderr] error[E0659]: `reactor` is ambiguous
[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: ambiguous because of multiple potential import sources
[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: doctest failed, to rerun pass `-p reactor --doc`
[INFO] [stderr] 
[INFO] [stderr] Caused by:
[INFO] [stderr]   process didn't exit successfully: `rustdoc --edition=2018 --crate-type lib --crate-name reactor --test /opt/rustwide/workdir/reactor/src/lib.rs -L dependency=/opt/rustwide/target/debug/deps -L dependency=/opt/rustwide/target/debug/deps --extern reactor=/opt/rustwide/target/debug/deps/libreactor-1fff5f8998cc2260.rlib -C embed-bitcode=no --cap-lints=warn --error-format human` (exit status: 1)
[INFO] running `Command { std: "docker" "inspect" "2f88dfbe8e3ab3139e5a89471ad64d05aa9b088193ed796568c28447e739667d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "2f88dfbe8e3ab3139e5a89471ad64d05aa9b088193ed796568c28447e739667d", kill_on_drop: false }`
[INFO] [stdout] 2f88dfbe8e3ab3139e5a89471ad64d05aa9b088193ed796568c28447e739667d
