[INFO] cloning repository https://github.com/LU15W1R7H/rtic-issue-611 [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/LU15W1R7H/rtic-issue-611" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLU15W1R7H%2Frtic-issue-611", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLU15W1R7H%2Frtic-issue-611'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] c594b24a476d7225e56f07f687a12097599367ee [INFO] checking LU15W1R7H/rtic-issue-611 against try#50d7e48beb74b48bd17c3749bfb73843c9ae0166 for pr-151102 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FLU15W1R7H%2Frtic-issue-611" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-5-tc2/source/.cargo/config.toml [INFO] started tweaking git repo https://github.com/LU15W1R7H/rtic-issue-611 [INFO] finished tweaking git repo https://github.com/LU15W1R7H/rtic-issue-611 [INFO] tweaked toml for git repo https://github.com/LU15W1R7H/rtic-issue-611 written to /workspace/builds/worker-5-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/LU15W1R7H/rtic-issue-611 on toolchain 50d7e48beb74b48bd17c3749bfb73843c9ae0166 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+50d7e48beb74b48bd17c3749bfb73843c9ae0166" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/LU15W1R7H/rtic-issue-611 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" "+50d7e48beb74b48bd17c3749bfb73843c9ae0166" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded systick-monotonic v1.0.0 [INFO] [stderr] Downloaded rtic-monotonic v1.0.0 [INFO] [stderr] Downloaded debug-helper v0.3.12 [INFO] [stderr] Downloaded rp2040-boot2 v0.2.0 [INFO] [stderr] Downloaded gcd v2.1.0 [INFO] [stderr] Downloaded fugit v0.3.5 [INFO] [stderr] Downloaded usbd-hid-descriptors v0.1.1 [INFO] [stderr] Downloaded usbd-serial v0.1.1 [INFO] [stderr] Downloaded cortex-m v0.7.4 [INFO] [stderr] Downloaded linked_list_allocator v0.8.11 [INFO] [stderr] Downloaded panic-semihosting v0.5.6 [INFO] [stderr] Downloaded rtic-syntax v1.0.0 [INFO] [stderr] Downloaded heapless v0.7.10 [INFO] [stderr] Downloaded embedded-time v0.12.1 [INFO] [stderr] Downloaded cortex-m-rt v0.7.1 [INFO] [stderr] Downloaded cortex-m-semihosting v0.3.7 [INFO] [stderr] Downloaded num-complex v0.3.1 [INFO] [stderr] Downloaded pio v0.1.0 [INFO] [stderr] Downloaded ssmarshal v1.0.0 [INFO] [stderr] Downloaded usb-device v0.2.8 [INFO] [stderr] Downloaded crc-any v2.4.1 [INFO] [stderr] Downloaded rp2040-pac v0.2.1 [INFO] [stderr] Downloaded alloc-cortex-m v0.4.2 [INFO] [stderr] Downloaded atomic-polyfill v0.1.6 [INFO] [stderr] Downloaded rtic-core v1.0.0 [INFO] [stderr] Downloaded num v0.3.1 [INFO] [stderr] Downloaded usbd-hid-macros v0.5.2 [INFO] [stderr] Downloaded usbd-hid v0.5.2 [INFO] [stderr] Downloaded rp-pico v0.2.0 [INFO] [stderr] Downloaded rp2040-hal v0.3.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+50d7e48beb74b48bd17c3749bfb73843c9ae0166" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 24b3a2ac62df75bfdd71109a0e1315fa50341dcc0e6f3858156b626ca26503ef [INFO] running `Command { std: "docker" "start" "-a" "24b3a2ac62df75bfdd71109a0e1315fa50341dcc0e6f3858156b626ca26503ef", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "24b3a2ac62df75bfdd71109a0e1315fa50341dcc0e6f3858156b626ca26503ef", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "24b3a2ac62df75bfdd71109a0e1315fa50341dcc0e6f3858156b626ca26503ef", kill_on_drop: false }` [INFO] [stdout] 24b3a2ac62df75bfdd71109a0e1315fa50341dcc0e6f3858156b626ca26503ef [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+50d7e48beb74b48bd17c3749bfb73843c9ae0166" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] f89e34a9e62bc6b6ccb728c913acbf31bcfb821606b695f90bcea01b42739574 [INFO] running `Command { std: "docker" "start" "-a" "f89e34a9e62bc6b6ccb728c913acbf31bcfb821606b695f90bcea01b42739574", kill_on_drop: false }` [INFO] [stderr] Compiling syn v1.0.86 [INFO] [stderr] Compiling cortex-m v0.7.4 [INFO] [stderr] Checking nb v1.0.0 [INFO] [stderr] Compiling num-traits v0.2.14 [INFO] [stderr] Checking vcell v0.1.3 [INFO] [stderr] Compiling byteorder v1.3.4 [INFO] [stderr] Checking bitfield v0.13.2 [INFO] [stderr] Compiling num-integer v0.1.44 [INFO] [stderr] Compiling cortex-m-rt v0.7.1 [INFO] [stderr] Compiling serde v1.0.136 [INFO] [stderr] Compiling num-rational v0.3.2 [INFO] [stderr] Compiling num-iter v0.1.42 [INFO] [stderr] Compiling paste v1.0.6 [INFO] [stderr] Compiling bare-metal v0.2.5 [INFO] [stderr] Compiling debug-helper v0.3.12 [INFO] [stderr] Compiling indexmap v1.8.0 [INFO] [stderr] Checking volatile-register v0.2.1 [INFO] [stderr] Checking nb v0.1.3 [INFO] [stderr] Compiling crc-any v2.4.1 [INFO] [stderr] Checking embedded-hal v0.2.7 [INFO] [stderr] Compiling hashbrown v0.11.2 [INFO] [stderr] Checking usb-device v0.2.8 [INFO] [stderr] Checking bare-metal v1.0.0 [INFO] [stderr] Compiling critical-section v0.2.5 [INFO] [stderr] Compiling rp2040-pac v0.2.1 [INFO] [stderr] Checking lock_api v0.4.6 [INFO] [stderr] Compiling rp2040-boot2 v0.2.0 [INFO] [stderr] Compiling usbd-hid-descriptors v0.1.1 [INFO] [stderr] Checking encode_unicode v0.3.6 [INFO] [stderr] Checking arrayvec v0.7.2 [INFO] [stderr] Compiling cortex-m-semihosting v0.3.7 [INFO] [stderr] Compiling heapless v0.7.10 [INFO] [stderr] Checking itertools v0.10.3 [INFO] [stderr] Checking hash32 v0.2.1 [INFO] [stderr] Compiling cortex-m-rtic v1.0.0 (https://github.com/LU15W1R7H/cortex-m-rtic#63182f9a) [INFO] [stderr] Checking gcd v2.1.0 [INFO] [stderr] Checking spin v0.9.2 [INFO] [stderr] Checking rtic-monotonic v1.0.0 [INFO] [stderr] Checking rand_core v0.6.3 [INFO] [stderr] Checking fugit v0.3.5 [INFO] [stderr] Checking usbd-serial v0.1.1 [INFO] [stderr] Checking linked_list_allocator v0.8.11 [INFO] [stderr] Compiling rtic-issue-611 v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Checking rtic-core v1.0.0 [INFO] [stderr] Checking panic-semihosting v0.5.6 [INFO] [stderr] Checking alloc-cortex-m v0.4.2 [INFO] [stderr] Checking num-complex v0.3.1 [INFO] [stderr] Checking systick-monotonic v1.0.0 [INFO] [stderr] Checking num v0.3.1 [INFO] [stderr] Checking embedded-time v0.12.1 [INFO] [stderr] Checking ssmarshal v1.0.0 [INFO] [stderr] Compiling proc-macro-error v1.0.4 [INFO] [stderr] Compiling rtic-syntax v1.0.0 [INFO] [stderr] Compiling cortex-m-rt-macros v0.7.0 [INFO] [stderr] Compiling num_enum_derive v0.5.6 [INFO] [stderr] Compiling usbd-hid-macros v0.5.2 [INFO] [stderr] Compiling cortex-m-rtic-macros v1.0.0 (https://github.com/LU15W1R7H/cortex-m-rtic#63182f9a) [INFO] [stderr] Checking num_enum v0.5.6 [INFO] [stderr] Checking pio v0.1.0 [INFO] [stderr] Checking usbd-hid v0.5.2 [INFO] [stderr] Checking rp2040-hal v0.3.0 [INFO] [stderr] Checking rp-pico v0.2.0 [INFO] [stdout] warning: the feature `default_alloc_error_handler` has been stable since 1.68.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/main.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | #![feature(default_alloc_error_handler)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: the feature `default_alloc_error_handler` has been stable since 1.68.0 and no longer requires an attribute to enable [INFO] [stdout] --> src/main.rs:3:12 [INFO] [stdout] | [INFO] [stdout] 3 | #![feature(default_alloc_error_handler)] [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(stable_features)]` on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `inner_app::MyTrait` is not dyn compatible [INFO] [stdout] --> src/main.rs:64:28 [INFO] [stdout] | [INFO] [stdout] 64 | trait_objects: Vec>, [INFO] [stdout] | ^^^^^^^^^^^ `inner_app::MyTrait` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/main.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub trait MyTrait: Send { [INFO] [stdout] | ------- this trait is not dyn compatible... [INFO] [stdout] 38 | fn my_func(&self, resource_lock: &mut impl Mutex); [INFO] [stdout] | ^^^^^^^ ...because method `my_func` has generic type parameters [INFO] [stdout] = help: consider moving `my_func` to another trait [INFO] [stdout] = help: the following types implement `inner_app::MyTrait`: [INFO] [stdout] inner_app::MyStructA [INFO] [stdout] inner_app::MyStructB [INFO] [stdout] consider defining an enum where each variant holds one of these types, [INFO] [stdout] implementing `inner_app::MyTrait` for this new enum and using it instead [INFO] [stdout] = note: `inner_app::MyTrait` may be implemented in other crates; if you want to support your users passing their own types here, you can't refer to a specific type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `inner_app::MyTrait` is not dyn compatible [INFO] [stdout] --> src/main.rs:64:28 [INFO] [stdout] | [INFO] [stdout] 64 | trait_objects: Vec>, [INFO] [stdout] | ^^^^^^^^^^^ `inner_app::MyTrait` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/main.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub trait MyTrait: Send { [INFO] [stdout] | ------- this trait is not dyn compatible... [INFO] [stdout] 38 | fn my_func(&self, resource_lock: &mut impl Mutex); [INFO] [stdout] | ^^^^^^^ ...because method `my_func` has generic type parameters [INFO] [stdout] = help: consider moving `my_func` to another trait [INFO] [stdout] = help: the following types implement `inner_app::MyTrait`: [INFO] [stdout] inner_app::MyStructA [INFO] [stdout] inner_app::MyStructB [INFO] [stdout] consider defining an enum where each variant holds one of these types, [INFO] [stdout] implementing `inner_app::MyTrait` for this new enum and using it instead [INFO] [stdout] = note: `inner_app::MyTrait` may be implemented in other crates; if you want to support your users passing their own types here, you can't refer to a specific type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `inner_app::MyTrait` is not dyn compatible [INFO] [stdout] --> src/main.rs:93:36 [INFO] [stdout] | [INFO] [stdout] 93 | let trait_objects: Vec> = vec![Box::new(my_struct_a), Box::new(my_struct_b)]; [INFO] [stdout] | ^^^^^^^ `inner_app::MyTrait` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/main.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub trait MyTrait: Send { [INFO] [stdout] | ------- this trait is not dyn compatible... [INFO] [stdout] 38 | fn my_func(&self, resource_lock: &mut impl Mutex); [INFO] [stdout] | ^^^^^^^ ...because method `my_func` has generic type parameters [INFO] [stdout] = help: consider moving `my_func` to another trait [INFO] [stdout] = help: the following types implement `inner_app::MyTrait`: [INFO] [stdout] inner_app::MyStructA [INFO] [stdout] inner_app::MyStructB [INFO] [stdout] consider defining an enum where each variant holds one of these types, [INFO] [stdout] implementing `inner_app::MyTrait` for this new enum and using it instead [INFO] [stdout] = note: `inner_app::MyTrait` may be implemented in other crates; if you want to support your users passing their own types here, you can't refer to a specific type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `inner_app::MyTrait` is not dyn compatible [INFO] [stdout] --> src/main.rs:97:15 [INFO] [stdout] | [INFO] [stdout] 97 | Local { trait_objects }, [INFO] [stdout] | ^^^^^^^^^^^^^ `inner_app::MyTrait` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/main.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub trait MyTrait: Send { [INFO] [stdout] | ------- this trait is not dyn compatible... [INFO] [stdout] 38 | fn my_func(&self, resource_lock: &mut impl Mutex); [INFO] [stdout] | ^^^^^^^ ...because method `my_func` has generic type parameters [INFO] [stdout] = help: consider moving `my_func` to another trait [INFO] [stdout] = help: the following types implement `inner_app::MyTrait`: [INFO] [stdout] inner_app::MyStructA [INFO] [stdout] inner_app::MyStructB [INFO] [stdout] consider defining an enum where each variant holds one of these types, [INFO] [stdout] implementing `inner_app::MyTrait` for this new enum and using it instead [INFO] [stdout] = note: `inner_app::MyTrait` may be implemented in other crates; if you want to support your users passing their own types here, you can't refer to a specific type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `inner_app::MyTrait` is not dyn compatible [INFO] [stdout] --> src/main.rs:108:16 [INFO] [stdout] | [INFO] [stdout] 108 | for obj in ctx.local.trait_objects { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ `inner_app::MyTrait` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/main.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub trait MyTrait: Send { [INFO] [stdout] | ------- this trait is not dyn compatible... [INFO] [stdout] 38 | fn my_func(&self, resource_lock: &mut impl Mutex); [INFO] [stdout] | ^^^^^^^ ...because method `my_func` has generic type parameters [INFO] [stdout] = help: consider moving `my_func` to another trait [INFO] [stdout] = help: the following types implement `inner_app::MyTrait`: [INFO] [stdout] inner_app::MyStructA [INFO] [stdout] inner_app::MyStructB [INFO] [stdout] consider defining an enum where each variant holds one of these types, [INFO] [stdout] implementing `inner_app::MyTrait` for this new enum and using it instead [INFO] [stdout] = note: `inner_app::MyTrait` may be implemented in other crates; if you want to support your users passing their own types here, you can't refer to a specific type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `inner_app::MyTrait` is not dyn compatible [INFO] [stdout] --> src/main.rs:108:16 [INFO] [stdout] | [INFO] [stdout] 108 | for obj in ctx.local.trait_objects { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ `inner_app::MyTrait` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/main.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub trait MyTrait: Send { [INFO] [stdout] | ------- this trait is not dyn compatible... [INFO] [stdout] 38 | fn my_func(&self, resource_lock: &mut impl Mutex); [INFO] [stdout] | ^^^^^^^ ...because method `my_func` has generic type parameters [INFO] [stdout] = help: consider moving `my_func` to another trait [INFO] [stdout] = help: the following types implement `inner_app::MyTrait`: [INFO] [stdout] inner_app::MyStructA [INFO] [stdout] inner_app::MyStructB [INFO] [stdout] consider defining an enum where each variant holds one of these types, [INFO] [stdout] implementing `inner_app::MyTrait` for this new enum and using it instead [INFO] [stdout] = note: `inner_app::MyTrait` may be implemented in other crates; if you want to support your users passing their own types here, you can't refer to a specific type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `inner_app::MyTrait` is not dyn compatible [INFO] [stdout] --> src/main.rs:93:36 [INFO] [stdout] | [INFO] [stdout] 93 | let trait_objects: Vec> = vec![Box::new(my_struct_a), Box::new(my_struct_b)]; [INFO] [stdout] | ^^^^^^^ `inner_app::MyTrait` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/main.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub trait MyTrait: Send { [INFO] [stdout] | ------- this trait is not dyn compatible... [INFO] [stdout] 38 | fn my_func(&self, resource_lock: &mut impl Mutex); [INFO] [stdout] | ^^^^^^^ ...because method `my_func` has generic type parameters [INFO] [stdout] = help: consider moving `my_func` to another trait [INFO] [stdout] = help: the following types implement `inner_app::MyTrait`: [INFO] [stdout] inner_app::MyStructA [INFO] [stdout] inner_app::MyStructB [INFO] [stdout] consider defining an enum where each variant holds one of these types, [INFO] [stdout] implementing `inner_app::MyTrait` for this new enum and using it instead [INFO] [stdout] = note: `inner_app::MyTrait` may be implemented in other crates; if you want to support your users passing their own types here, you can't refer to a specific type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `inner_app::MyTrait` is not dyn compatible [INFO] [stdout] --> src/main.rs:97:15 [INFO] [stdout] | [INFO] [stdout] 97 | Local { trait_objects }, [INFO] [stdout] | ^^^^^^^^^^^^^ `inner_app::MyTrait` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/main.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub trait MyTrait: Send { [INFO] [stdout] | ------- this trait is not dyn compatible... [INFO] [stdout] 38 | fn my_func(&self, resource_lock: &mut impl Mutex); [INFO] [stdout] | ^^^^^^^ ...because method `my_func` has generic type parameters [INFO] [stdout] = help: consider moving `my_func` to another trait [INFO] [stdout] = help: the following types implement `inner_app::MyTrait`: [INFO] [stdout] inner_app::MyStructA [INFO] [stdout] inner_app::MyStructB [INFO] [stdout] consider defining an enum where each variant holds one of these types, [INFO] [stdout] implementing `inner_app::MyTrait` for this new enum and using it instead [INFO] [stdout] = note: `inner_app::MyTrait` may be implemented in other crates; if you want to support your users passing their own types here, you can't refer to a specific type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `inner_app::MyTrait` is not dyn compatible [INFO] [stdout] --> src/main.rs:108:16 [INFO] [stdout] | [INFO] [stdout] 108 | for obj in ctx.local.trait_objects { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ `inner_app::MyTrait` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/main.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub trait MyTrait: Send { [INFO] [stdout] | ------- this trait is not dyn compatible... [INFO] [stdout] 38 | fn my_func(&self, resource_lock: &mut impl Mutex); [INFO] [stdout] | ^^^^^^^ ...because method `my_func` has generic type parameters [INFO] [stdout] = help: consider moving `my_func` to another trait [INFO] [stdout] = help: the following types implement `inner_app::MyTrait`: [INFO] [stdout] inner_app::MyStructA [INFO] [stdout] inner_app::MyStructB [INFO] [stdout] consider defining an enum where each variant holds one of these types, [INFO] [stdout] implementing `inner_app::MyTrait` for this new enum and using it instead [INFO] [stdout] = note: `inner_app::MyTrait` may be implemented in other crates; if you want to support your users passing their own types here, you can't refer to a specific type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `inner_app::MyTrait` is not dyn compatible [INFO] [stdout] --> src/main.rs:108:16 [INFO] [stdout] | [INFO] [stdout] 108 | for obj in ctx.local.trait_objects { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ `inner_app::MyTrait` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/main.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub trait MyTrait: Send { [INFO] [stdout] | ------- this trait is not dyn compatible... [INFO] [stdout] 38 | fn my_func(&self, resource_lock: &mut impl Mutex); [INFO] [stdout] | ^^^^^^^ ...because method `my_func` has generic type parameters [INFO] [stdout] = help: consider moving `my_func` to another trait [INFO] [stdout] = help: the following types implement `inner_app::MyTrait`: [INFO] [stdout] inner_app::MyStructA [INFO] [stdout] inner_app::MyStructB [INFO] [stdout] consider defining an enum where each variant holds one of these types, [INFO] [stdout] implementing `inner_app::MyTrait` for this new enum and using it instead [INFO] [stdout] = note: `inner_app::MyTrait` may be implemented in other crates; if you want to support your users passing their own types here, you can't refer to a specific type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `inner_app::MyTrait` is not dyn compatible [INFO] [stdout] --> src/main.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | / #[rtic::app( [INFO] [stdout] 21 | | device = rp_pico::pac, [INFO] [stdout] 22 | | peripherals = true, [INFO] [stdout] 23 | | dispatchers = [TIMER_IRQ_0]) [INFO] [stdout] 24 | | ] [INFO] [stdout] | |_^ `inner_app::MyTrait` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/main.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub trait MyTrait: Send { [INFO] [stdout] | ------- this trait is not dyn compatible... [INFO] [stdout] 38 | fn my_func(&self, resource_lock: &mut impl Mutex); [INFO] [stdout] | ^^^^^^^ ...because method `my_func` has generic type parameters [INFO] [stdout] = help: consider moving `my_func` to another trait [INFO] [stdout] = help: the following types implement `inner_app::MyTrait`: [INFO] [stdout] inner_app::MyStructA [INFO] [stdout] inner_app::MyStructB [INFO] [stdout] consider defining an enum where each variant holds one of these types, [INFO] [stdout] implementing `inner_app::MyTrait` for this new enum and using it instead [INFO] [stdout] = note: `inner_app::MyTrait` may be implemented in other crates; if you want to support your users passing their own types here, you can't refer to a specific type [INFO] [stdout] = note: this error originates in the attribute macro `rtic::app` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `inner_app::MyTrait` is not dyn compatible [INFO] [stdout] --> src/main.rs:20:1 [INFO] [stdout] | [INFO] [stdout] 20 | / #[rtic::app( [INFO] [stdout] 21 | | device = rp_pico::pac, [INFO] [stdout] 22 | | peripherals = true, [INFO] [stdout] 23 | | dispatchers = [TIMER_IRQ_0]) [INFO] [stdout] 24 | | ] [INFO] [stdout] | |_^ `inner_app::MyTrait` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/main.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub trait MyTrait: Send { [INFO] [stdout] | ------- this trait is not dyn compatible... [INFO] [stdout] 38 | fn my_func(&self, resource_lock: &mut impl Mutex); [INFO] [stdout] | ^^^^^^^ ...because method `my_func` has generic type parameters [INFO] [stdout] = help: consider moving `my_func` to another trait [INFO] [stdout] = help: the following types implement `inner_app::MyTrait`: [INFO] [stdout] inner_app::MyStructA [INFO] [stdout] inner_app::MyStructB [INFO] [stdout] consider defining an enum where each variant holds one of these types, [INFO] [stdout] implementing `inner_app::MyTrait` for this new enum and using it instead [INFO] [stdout] = note: `inner_app::MyTrait` may be implemented in other crates; if you want to support your users passing their own types here, you can't refer to a specific type [INFO] [stdout] = note: this error originates in the attribute macro `rtic::app` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `inner_app::MyTrait` is not dyn compatible [INFO] [stdout] --> src/main.rs:64:32 [INFO] [stdout] | [INFO] [stdout] 64 | trait_objects: Vec>, [INFO] [stdout] | ^^^^^^^ `inner_app::MyTrait` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/main.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub trait MyTrait: Send { [INFO] [stdout] | ------- this trait is not dyn compatible... [INFO] [stdout] 38 | fn my_func(&self, resource_lock: &mut impl Mutex); [INFO] [stdout] | ^^^^^^^ ...because method `my_func` has generic type parameters [INFO] [stdout] = help: consider moving `my_func` to another trait [INFO] [stdout] = help: the following types implement `inner_app::MyTrait`: [INFO] [stdout] inner_app::MyStructA [INFO] [stdout] inner_app::MyStructB [INFO] [stdout] consider defining an enum where each variant holds one of these types, [INFO] [stdout] implementing `inner_app::MyTrait` for this new enum and using it instead [INFO] [stdout] = note: `inner_app::MyTrait` may be implemented in other crates; if you want to support your users passing their own types here, you can't refer to a specific type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `inner_app::MyTrait` is not dyn compatible [INFO] [stdout] --> src/main.rs:64:32 [INFO] [stdout] | [INFO] [stdout] 64 | trait_objects: Vec>, [INFO] [stdout] | ^^^^^^^ `inner_app::MyTrait` is not dyn compatible [INFO] [stdout] | [INFO] [stdout] note: for a trait to be dyn compatible it needs to allow building a vtable [INFO] [stdout] for more information, visit [INFO] [stdout] --> src/main.rs:38:8 [INFO] [stdout] | [INFO] [stdout] 37 | pub trait MyTrait: Send { [INFO] [stdout] | ------- this trait is not dyn compatible... [INFO] [stdout] 38 | fn my_func(&self, resource_lock: &mut impl Mutex); [INFO] [stdout] | ^^^^^^^ ...because method `my_func` has generic type parameters [INFO] [stdout] = help: consider moving `my_func` to another trait [INFO] [stdout] = help: the following types implement `inner_app::MyTrait`: [INFO] [stdout] inner_app::MyStructA [INFO] [stdout] inner_app::MyStructB [INFO] [stdout] consider defining an enum where each variant holds one of these types, [INFO] [stdout] implementing `inner_app::MyTrait` for this new enum and using it instead [INFO] [stdout] = note: `inner_app::MyTrait` may be implemented in other crates; if you want to support your users passing their own types here, you can't refer to a specific type [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0038`. [INFO] [stdout] [INFO] [stdout] For more information about this error, try `rustc --explain E0038`. [INFO] [stdout] [INFO] [stderr] error: could not compile `rtic-issue-611` (bin "rtic-issue-611") due to 7 previous errors; 1 warning emitted [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stderr] error: could not compile `rtic-issue-611` (bin "rtic-issue-611" test) due to 7 previous errors; 1 warning emitted [INFO] running `Command { std: "docker" "inspect" "f89e34a9e62bc6b6ccb728c913acbf31bcfb821606b695f90bcea01b42739574", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f89e34a9e62bc6b6ccb728c913acbf31bcfb821606b695f90bcea01b42739574", kill_on_drop: false }` [INFO] [stdout] f89e34a9e62bc6b6ccb728c913acbf31bcfb821606b695f90bcea01b42739574