[INFO] cloning repository https://github.com/Aloento/RustySpine [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Aloento/RustySpine" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAloento%2FRustySpine", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAloento%2FRustySpine'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] b2ca13b1b37628e4a951e17a6ab7a9fd511f492f [INFO] checking Aloento/RustySpine against master#506512391b1a75ae450d36c9420978402a91abcc for pr-125384 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAloento%2FRustySpine" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Aloento/RustySpine on toolchain 506512391b1a75ae450d36c9420978402a91abcc [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+506512391b1a75ae450d36c9420978402a91abcc" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Aloento/RustySpine [INFO] finished tweaking git repo https://github.com/Aloento/RustySpine [INFO] tweaked toml for git repo https://github.com/Aloento/RustySpine written to /workspace/builds/worker-6-tc1/source/Cargo.toml [INFO] crate git repo https://github.com/Aloento/RustySpine 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" "+506512391b1a75ae450d36c9420978402a91abcc" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded object-pool v0.5.3 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+506512391b1a75ae450d36c9420978402a91abcc" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 8b21c8f459f3bc05ffb238d8778f3c9f8beac67fc20cecd3099a3ecda2bce7f0 [INFO] running `Command { std: "docker" "start" "-a" "8b21c8f459f3bc05ffb238d8778f3c9f8beac67fc20cecd3099a3ecda2bce7f0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "8b21c8f459f3bc05ffb238d8778f3c9f8beac67fc20cecd3099a3ecda2bce7f0", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "8b21c8f459f3bc05ffb238d8778f3c9f8beac67fc20cecd3099a3ecda2bce7f0", kill_on_drop: false }` [INFO] [stdout] 8b21c8f459f3bc05ffb238d8778f3c9f8beac67fc20cecd3099a3ecda2bce7f0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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=allow" "-e" "RUSTDOCFLAGS=--cap-lints=allow" "-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+506512391b1a75ae450d36c9420978402a91abcc" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 07ed9e69b869abdf1ad14331604b5b279774efc4dd72c2e8827ebbf325ec8a57 [INFO] running `Command { std: "docker" "start" "-a" "07ed9e69b869abdf1ad14331604b5b279774efc4dd72c2e8827ebbf325ec8a57", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.86 [INFO] [stderr] Checking cfg-if v0.1.10 [INFO] [stderr] Checking scopeguard v1.1.0 [INFO] [stderr] Checking smallvec v1.6.1 [INFO] [stderr] Checking lock_api v0.3.4 [INFO] [stderr] Checking parking_lot_core v0.7.2 [INFO] [stderr] Checking parking_lot v0.10.2 [INFO] [stderr] Checking object-pool v0.5.3 [INFO] [stderr] Checking RustySpine v0.1.0 (/opt/rustwide/workdir) [INFO] [stdout] error: expected one of `!`, `.`, `::`, `;`, `?`, `{`, `}`, or an operator, found `,` [INFO] [stdout] --> src/animation_state.rs:116:25 [INFO] [stdout] | [INFO] [stdout] 116 | self.next = None, [INFO] [stdout] | ^ expected one of 8 possible tokens [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: expected one of `!`, `.`, `::`, `;`, `?`, `{`, `}`, or an operator, found `,` [INFO] [stdout] --> src/animation_state.rs:116:25 [INFO] [stdout] | [INFO] [stdout] 116 | self.next = None, [INFO] [stdout] | ^ expected one of 8 possible tokens [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0726]: implicit elided lifetime not allowed here [INFO] [stdout] --> src/attachments/path_attachment.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | impl PathAttachment { [INFO] [stdout] | ^^^^^^^^^^^^^^ expected lifetime parameter [INFO] [stdout] | [INFO] [stdout] help: indicate the anonymous lifetime [INFO] [stdout] | [INFO] [stdout] 12 | impl PathAttachment<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0726]: implicit elided lifetime not allowed here [INFO] [stdout] --> src/attachments/vertex_attachment.rs:13:6 [INFO] [stdout] | [INFO] [stdout] 13 | impl VertexAttachment { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ expected lifetime parameter [INFO] [stdout] | [INFO] [stdout] help: indicate the anonymous lifetime [INFO] [stdout] | [INFO] [stdout] 13 | impl VertexAttachment<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0726]: implicit elided lifetime not allowed here [INFO] [stdout] --> src/attachments/path_attachment.rs:12:6 [INFO] [stdout] | [INFO] [stdout] 12 | impl PathAttachment { [INFO] [stdout] | ^^^^^^^^^^^^^^ expected lifetime parameter [INFO] [stdout] | [INFO] [stdout] help: indicate the anonymous lifetime [INFO] [stdout] | [INFO] [stdout] 12 | impl PathAttachment<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0726]: implicit elided lifetime not allowed here [INFO] [stdout] --> src/attachments/vertex_attachment.rs:13:6 [INFO] [stdout] | [INFO] [stdout] 13 | impl VertexAttachment { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ expected lifetime parameter [INFO] [stdout] | [INFO] [stdout] help: indicate the anonymous lifetime [INFO] [stdout] | [INFO] [stdout] 13 | impl VertexAttachment<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0106]: missing lifetime specifier [INFO] [stdout] --> src/animation_state.rs:19:17 [INFO] [stdout] | [INFO] [stdout] 19 | events: Vec, [INFO] [stdout] | ^^^^^ expected named lifetime parameter [INFO] [stdout] | [INFO] [stdout] help: consider using the `'a` lifetime [INFO] [stdout] | [INFO] [stdout] 19 | events: Vec>, [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0726]: implicit elided lifetime not allowed here [INFO] [stdout] --> src/animation_state.rs:79:6 [INFO] [stdout] | [INFO] [stdout] 79 | impl TrackEntry { [INFO] [stdout] | ^^^^^^^^^^ expected lifetime parameter [INFO] [stdout] | [INFO] [stdout] help: indicate the anonymous lifetime [INFO] [stdout] | [INFO] [stdout] 79 | impl TrackEntry<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Format` in this scope [INFO] [stdout] --> src/attachments/texture_atlas.rs:49:13 [INFO] [stdout] | [INFO] [stdout] 49 | format: Format, [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0106]: missing lifetime specifier [INFO] [stdout] --> src/animation_state.rs:19:17 [INFO] [stdout] | [INFO] [stdout] 19 | events: Vec, [INFO] [stdout] | ^^^^^ expected named lifetime parameter [INFO] [stdout] | [INFO] [stdout] help: consider using the `'a` lifetime [INFO] [stdout] | [INFO] [stdout] 19 | events: Vec>, [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0726]: implicit elided lifetime not allowed here [INFO] [stdout] --> src/animation_state.rs:79:6 [INFO] [stdout] | [INFO] [stdout] 79 | impl TrackEntry { [INFO] [stdout] | ^^^^^^^^^^ expected lifetime parameter [INFO] [stdout] | [INFO] [stdout] help: indicate the anonymous lifetime [INFO] [stdout] | [INFO] [stdout] 79 | impl TrackEntry<'_> { [INFO] [stdout] | ++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0412]: cannot find type `Format` in this scope [INFO] [stdout] --> src/attachments/texture_atlas.rs:49:13 [INFO] [stdout] | [INFO] [stdout] 49 | format: Format, [INFO] [stdout] | ^^^^^^ not found in this scope [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `AnimationStateListener` cannot be made into an object [INFO] [stdout] --> src/animation_state.rs:17:24 [INFO] [stdout] | [INFO] [stdout] 17 | listeners: Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ `AnimationStateListener` cannot be made into an object [INFO] [stdout] | [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/animation_state.rs:128:8 [INFO] [stdout] | [INFO] [stdout] 127 | pub trait AnimationStateListener { [INFO] [stdout] | ---------------------- this trait cannot be made into an object... [INFO] [stdout] 128 | fn start(entry: TrackEntry); [INFO] [stdout] | ^^^^^ ...because associated function `start` has no `self` parameter [INFO] [stdout] 129 | fn interrupt(entry: TrackEntry); [INFO] [stdout] | ^^^^^^^^^ ...because associated function `interrupt` has no `self` parameter [INFO] [stdout] 130 | fn end(entry: TrackEntry); [INFO] [stdout] | ^^^ ...because associated function `end` has no `self` parameter [INFO] [stdout] 131 | fn dispose(entry: TrackEntry); [INFO] [stdout] | ^^^^^^^ ...because associated function `dispose` has no `self` parameter [INFO] [stdout] 132 | fn complete(entry: TrackEntry); [INFO] [stdout] | ^^^^^^^^ ...because associated function `complete` has no `self` parameter [INFO] [stdout] 133 | fn event(entry: TrackEntry, event: Event); [INFO] [stdout] | ^^^^^ ...because associated function `event` has no `self` parameter [INFO] [stdout] 134 | [INFO] [stdout] 135 | fn eventInt(trackIndex: i32, event: Event); [INFO] [stdout] | ^^^^^^^^ ...because associated function `eventInt` has no `self` parameter [INFO] [stdout] 136 | fn completeInt(trackIndex: i32, loopCount: i32); [INFO] [stdout] | ^^^^^^^^^^^ ...because associated function `completeInt` has no `self` parameter [INFO] [stdout] 137 | fn startInt(trackIndex: i32); [INFO] [stdout] | ^^^^^^^^ ...because associated function `startInt` has no `self` parameter [INFO] [stdout] 138 | fn endInt(trackIndex: i32); [INFO] [stdout] | ^^^^^^ ...because associated function `endInt` has no `self` parameter [INFO] [stdout] help: consider turning `end` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 130 | fn end(&self, entry: TrackEntry); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `end` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 130 | fn end(entry: TrackEntry) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `start` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 128 | fn start(&self, entry: TrackEntry); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `start` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 128 | fn start(entry: TrackEntry) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `event` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 133 | fn event(&self, entry: TrackEntry, event: Event); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `event` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 133 | fn event(entry: TrackEntry, event: Event) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `interrupt` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 129 | fn interrupt(&self, entry: TrackEntry); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `interrupt` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 129 | fn interrupt(entry: TrackEntry) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `dispose` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 131 | fn dispose(&self, entry: TrackEntry); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `dispose` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 131 | fn dispose(entry: TrackEntry) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `complete` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 132 | fn complete(&self, entry: TrackEntry); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `complete` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 132 | fn complete(entry: TrackEntry) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `eventInt` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 135 | fn eventInt(&self, trackIndex: i32, event: Event); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `eventInt` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 135 | fn eventInt(trackIndex: i32, event: Event) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `completeInt` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 136 | fn completeInt(&self, trackIndex: i32, loopCount: i32); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `completeInt` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 136 | fn completeInt(trackIndex: i32, loopCount: i32) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `startInt` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 137 | fn startInt(&self, trackIndex: i32); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `startInt` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 137 | fn startInt(trackIndex: i32) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `endInt` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 138 | fn endInt(&self, trackIndex: i32); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `endInt` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 138 | fn endInt(trackIndex: i32) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `AnimationStateListener` cannot be made into an object [INFO] [stdout] --> src/animation_state.rs:54:15 [INFO] [stdout] | [INFO] [stdout] 54 | listener: dyn AnimationStateListener, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ `AnimationStateListener` cannot be made into an object [INFO] [stdout] | [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/animation_state.rs:128:8 [INFO] [stdout] | [INFO] [stdout] 127 | pub trait AnimationStateListener { [INFO] [stdout] | ---------------------- this trait cannot be made into an object... [INFO] [stdout] 128 | fn start(entry: TrackEntry); [INFO] [stdout] | ^^^^^ ...because associated function `start` has no `self` parameter [INFO] [stdout] 129 | fn interrupt(entry: TrackEntry); [INFO] [stdout] | ^^^^^^^^^ ...because associated function `interrupt` has no `self` parameter [INFO] [stdout] 130 | fn end(entry: TrackEntry); [INFO] [stdout] | ^^^ ...because associated function `end` has no `self` parameter [INFO] [stdout] 131 | fn dispose(entry: TrackEntry); [INFO] [stdout] | ^^^^^^^ ...because associated function `dispose` has no `self` parameter [INFO] [stdout] 132 | fn complete(entry: TrackEntry); [INFO] [stdout] | ^^^^^^^^ ...because associated function `complete` has no `self` parameter [INFO] [stdout] 133 | fn event(entry: TrackEntry, event: Event); [INFO] [stdout] | ^^^^^ ...because associated function `event` has no `self` parameter [INFO] [stdout] 134 | [INFO] [stdout] 135 | fn eventInt(trackIndex: i32, event: Event); [INFO] [stdout] | ^^^^^^^^ ...because associated function `eventInt` has no `self` parameter [INFO] [stdout] 136 | fn completeInt(trackIndex: i32, loopCount: i32); [INFO] [stdout] | ^^^^^^^^^^^ ...because associated function `completeInt` has no `self` parameter [INFO] [stdout] 137 | fn startInt(trackIndex: i32); [INFO] [stdout] | ^^^^^^^^ ...because associated function `startInt` has no `self` parameter [INFO] [stdout] 138 | fn endInt(trackIndex: i32); [INFO] [stdout] | ^^^^^^ ...because associated function `endInt` has no `self` parameter [INFO] [stdout] help: consider turning `end` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 130 | fn end(&self, entry: TrackEntry); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `end` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 130 | fn end(entry: TrackEntry) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `start` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 128 | fn start(&self, entry: TrackEntry); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `start` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 128 | fn start(entry: TrackEntry) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `event` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 133 | fn event(&self, entry: TrackEntry, event: Event); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `event` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 133 | fn event(entry: TrackEntry, event: Event) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `interrupt` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 129 | fn interrupt(&self, entry: TrackEntry); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `interrupt` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 129 | fn interrupt(entry: TrackEntry) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `dispose` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 131 | fn dispose(&self, entry: TrackEntry); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `dispose` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 131 | fn dispose(entry: TrackEntry) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `complete` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 132 | fn complete(&self, entry: TrackEntry); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `complete` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 132 | fn complete(entry: TrackEntry) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `eventInt` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 135 | fn eventInt(&self, trackIndex: i32, event: Event); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `eventInt` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 135 | fn eventInt(trackIndex: i32, event: Event) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `completeInt` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 136 | fn completeInt(&self, trackIndex: i32, loopCount: i32); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `completeInt` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 136 | fn completeInt(trackIndex: i32, loopCount: i32) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `startInt` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 137 | fn startInt(&self, trackIndex: i32); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `startInt` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 137 | fn startInt(trackIndex: i32) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `endInt` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 138 | fn endInt(&self, trackIndex: i32); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `endInt` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 138 | fn endInt(trackIndex: i32) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the size for values of type `(dyn AnimationStateListener + 'static)` cannot be known at compilation time [INFO] [stdout] --> src/animation_state.rs:54:15 [INFO] [stdout] | [INFO] [stdout] 54 | listener: dyn AnimationStateListener, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time [INFO] [stdout] | [INFO] [stdout] = help: the trait `Sized` is not implemented for `(dyn AnimationStateListener + 'static)` [INFO] [stdout] = note: only the last field of a struct may have a dynamically sized type [INFO] [stdout] = help: change the field's type to have a statically known size [INFO] [stdout] help: borrowed types always have a statically known size [INFO] [stdout] | [INFO] [stdout] 54 | listener: &dyn AnimationStateListener, [INFO] [stdout] | + [INFO] [stdout] help: the `Box` type always has a statically known size and allocates its contents in the heap [INFO] [stdout] | [INFO] [stdout] 54 | listener: Box, [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot construct `TextureRegion` with struct literal syntax due to private fields [INFO] [stdout] --> src/attachments/mesh_attachment.rs:25:21 [INFO] [stdout] | [INFO] [stdout] 25 | region: TextureRegion {}, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: private fields that were not provided [INFO] [stdout] help: you might have meant to use the `new` associated function [INFO] [stdout] | [INFO] [stdout] 25 | region: TextureRegion::new(), [INFO] [stdout] | ~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `AnimationStateListener` cannot be made into an object [INFO] [stdout] --> src/animation_state.rs:17:24 [INFO] [stdout] | [INFO] [stdout] 17 | listeners: Vec>, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ `AnimationStateListener` cannot be made into an object [INFO] [stdout] | [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/animation_state.rs:128:8 [INFO] [stdout] | [INFO] [stdout] 127 | pub trait AnimationStateListener { [INFO] [stdout] | ---------------------- this trait cannot be made into an object... [INFO] [stdout] 128 | fn start(entry: TrackEntry); [INFO] [stdout] | ^^^^^ ...because associated function `start` has no `self` parameter [INFO] [stdout] 129 | fn interrupt(entry: TrackEntry); [INFO] [stdout] | ^^^^^^^^^ ...because associated function `interrupt` has no `self` parameter [INFO] [stdout] 130 | fn end(entry: TrackEntry); [INFO] [stdout] | ^^^ ...because associated function `end` has no `self` parameter [INFO] [stdout] 131 | fn dispose(entry: TrackEntry); [INFO] [stdout] | ^^^^^^^ ...because associated function `dispose` has no `self` parameter [INFO] [stdout] 132 | fn complete(entry: TrackEntry); [INFO] [stdout] | ^^^^^^^^ ...because associated function `complete` has no `self` parameter [INFO] [stdout] 133 | fn event(entry: TrackEntry, event: Event); [INFO] [stdout] | ^^^^^ ...because associated function `event` has no `self` parameter [INFO] [stdout] 134 | [INFO] [stdout] 135 | fn eventInt(trackIndex: i32, event: Event); [INFO] [stdout] | ^^^^^^^^ ...because associated function `eventInt` has no `self` parameter [INFO] [stdout] 136 | fn completeInt(trackIndex: i32, loopCount: i32); [INFO] [stdout] | ^^^^^^^^^^^ ...because associated function `completeInt` has no `self` parameter [INFO] [stdout] 137 | fn startInt(trackIndex: i32); [INFO] [stdout] | ^^^^^^^^ ...because associated function `startInt` has no `self` parameter [INFO] [stdout] 138 | fn endInt(trackIndex: i32); [INFO] [stdout] | ^^^^^^ ...because associated function `endInt` has no `self` parameter [INFO] [stdout] help: consider turning `end` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 130 | fn end(&self, entry: TrackEntry); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `end` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 130 | fn end(entry: TrackEntry) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `start` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 128 | fn start(&self, entry: TrackEntry); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `start` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 128 | fn start(entry: TrackEntry) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `event` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 133 | fn event(&self, entry: TrackEntry, event: Event); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `event` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 133 | fn event(entry: TrackEntry, event: Event) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `interrupt` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 129 | fn interrupt(&self, entry: TrackEntry); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `interrupt` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 129 | fn interrupt(entry: TrackEntry) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `dispose` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 131 | fn dispose(&self, entry: TrackEntry); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `dispose` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 131 | fn dispose(entry: TrackEntry) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `complete` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 132 | fn complete(&self, entry: TrackEntry); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `complete` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 132 | fn complete(entry: TrackEntry) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `eventInt` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 135 | fn eventInt(&self, trackIndex: i32, event: Event); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `eventInt` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 135 | fn eventInt(trackIndex: i32, event: Event) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `completeInt` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 136 | fn completeInt(&self, trackIndex: i32, loopCount: i32); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `completeInt` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 136 | fn completeInt(trackIndex: i32, loopCount: i32) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `startInt` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 137 | fn startInt(&self, trackIndex: i32); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `startInt` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 137 | fn startInt(trackIndex: i32) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `endInt` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 138 | fn endInt(&self, trackIndex: i32); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `endInt` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 138 | fn endInt(trackIndex: i32) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `AnimationStateListener` cannot be made into an object [INFO] [stdout] --> src/animation_state.rs:54:15 [INFO] [stdout] | [INFO] [stdout] 54 | listener: dyn AnimationStateListener, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ `AnimationStateListener` cannot be made into an object [INFO] [stdout] | [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/animation_state.rs:128:8 [INFO] [stdout] | [INFO] [stdout] 127 | pub trait AnimationStateListener { [INFO] [stdout] | ---------------------- this trait cannot be made into an object... [INFO] [stdout] 128 | fn start(entry: TrackEntry); [INFO] [stdout] | ^^^^^ ...because associated function `start` has no `self` parameter [INFO] [stdout] 129 | fn interrupt(entry: TrackEntry); [INFO] [stdout] | ^^^^^^^^^ ...because associated function `interrupt` has no `self` parameter [INFO] [stdout] 130 | fn end(entry: TrackEntry); [INFO] [stdout] | ^^^ ...because associated function `end` has no `self` parameter [INFO] [stdout] 131 | fn dispose(entry: TrackEntry); [INFO] [stdout] | ^^^^^^^ ...because associated function `dispose` has no `self` parameter [INFO] [stdout] 132 | fn complete(entry: TrackEntry); [INFO] [stdout] | ^^^^^^^^ ...because associated function `complete` has no `self` parameter [INFO] [stdout] 133 | fn event(entry: TrackEntry, event: Event); [INFO] [stdout] | ^^^^^ ...because associated function `event` has no `self` parameter [INFO] [stdout] 134 | [INFO] [stdout] 135 | fn eventInt(trackIndex: i32, event: Event); [INFO] [stdout] | ^^^^^^^^ ...because associated function `eventInt` has no `self` parameter [INFO] [stdout] 136 | fn completeInt(trackIndex: i32, loopCount: i32); [INFO] [stdout] | ^^^^^^^^^^^ ...because associated function `completeInt` has no `self` parameter [INFO] [stdout] 137 | fn startInt(trackIndex: i32); [INFO] [stdout] | ^^^^^^^^ ...because associated function `startInt` has no `self` parameter [INFO] [stdout] 138 | fn endInt(trackIndex: i32); [INFO] [stdout] | ^^^^^^ ...because associated function `endInt` has no `self` parameter [INFO] [stdout] help: consider turning `end` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 130 | fn end(&self, entry: TrackEntry); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `end` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 130 | fn end(entry: TrackEntry) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `start` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 128 | fn start(&self, entry: TrackEntry); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `start` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 128 | fn start(entry: TrackEntry) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `event` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 133 | fn event(&self, entry: TrackEntry, event: Event); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `event` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 133 | fn event(entry: TrackEntry, event: Event) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `interrupt` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 129 | fn interrupt(&self, entry: TrackEntry); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `interrupt` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 129 | fn interrupt(entry: TrackEntry) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `dispose` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 131 | fn dispose(&self, entry: TrackEntry); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `dispose` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 131 | fn dispose(entry: TrackEntry) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `complete` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 132 | fn complete(&self, entry: TrackEntry); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `complete` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 132 | fn complete(entry: TrackEntry) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `eventInt` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 135 | fn eventInt(&self, trackIndex: i32, event: Event); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `eventInt` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 135 | fn eventInt(trackIndex: i32, event: Event) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `completeInt` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 136 | fn completeInt(&self, trackIndex: i32, loopCount: i32); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `completeInt` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 136 | fn completeInt(trackIndex: i32, loopCount: i32) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `startInt` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 137 | fn startInt(&self, trackIndex: i32); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `startInt` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 137 | fn startInt(trackIndex: i32) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `endInt` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 138 | fn endInt(&self, trackIndex: i32); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `endInt` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 138 | fn endInt(trackIndex: i32) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0277]: the size for values of type `(dyn AnimationStateListener + 'static)` cannot be known at compilation time [INFO] [stdout] --> src/animation_state.rs:54:15 [INFO] [stdout] | [INFO] [stdout] 54 | listener: dyn AnimationStateListener, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time [INFO] [stdout] | [INFO] [stdout] = help: the trait `Sized` is not implemented for `(dyn AnimationStateListener + 'static)` [INFO] [stdout] = note: only the last field of a struct may have a dynamically sized type [INFO] [stdout] = help: change the field's type to have a statically known size [INFO] [stdout] help: borrowed types always have a statically known size [INFO] [stdout] | [INFO] [stdout] 54 | listener: &dyn AnimationStateListener, [INFO] [stdout] | + [INFO] [stdout] help: the `Box` type always has a statically known size and allocates its contents in the heap [INFO] [stdout] | [INFO] [stdout] 54 | listener: Box, [INFO] [stdout] | ++++ + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: cannot construct `TextureRegion` with struct literal syntax due to private fields [INFO] [stdout] --> src/attachments/mesh_attachment.rs:25:21 [INFO] [stdout] | [INFO] [stdout] 25 | region: TextureRegion {}, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: private fields that were not provided [INFO] [stdout] help: you might have meant to use the `new` associated function [INFO] [stdout] | [INFO] [stdout] 25 | region: TextureRegion::new(), [INFO] [stdout] | ~~~~~~~ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `findBone` found for reference `&'a Skeleton<'a>` in the current scope [INFO] [stdout] --> src/ik_constraint.rs:28:35 [INFO] [stdout] | [INFO] [stdout] 28 | target: Some(skeleton.findBone(&data.target.unwrap().name)), [INFO] [stdout] | ---------^^^^^^^^---------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | this is an associated function, not a method [INFO] [stdout] | help: use associated function syntax instead: `Skeleton::<'a>::findBone(&data.target.unwrap().name)` [INFO] [stdout] | [INFO] [stdout] = note: found the following associated functions; to be used as methods, functions must have a `self` parameter [INFO] [stdout] note: the candidate is defined in an impl for the type `Skeleton<'a>` [INFO] [stdout] --> src/skeleton.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn findBone(boneName: &String) -> Option<&Bone> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `findBone` found for reference `&'a Skeleton<'a>` in the current scope [INFO] [stdout] --> src/ik_constraint.rs:39:35 [INFO] [stdout] | [INFO] [stdout] 39 | i.bones.push(skeleton.findBone(&boneData.name)); [INFO] [stdout] | ---------^^^^^^^^---------------- [INFO] [stdout] | | | [INFO] [stdout] | | this is an associated function, not a method [INFO] [stdout] | help: use associated function syntax instead: `Skeleton::<'a>::findBone(&boneData.name)` [INFO] [stdout] | [INFO] [stdout] = note: found the following associated functions; to be used as methods, functions must have a `self` parameter [INFO] [stdout] note: the candidate is defined in an impl for the type `Skeleton<'a>` [INFO] [stdout] --> src/skeleton.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn findBone(boneName: &String) -> Option<&Bone> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `findBone` found for reference `&'a Skeleton<'a>` in the current scope [INFO] [stdout] --> src/transform_constraint.rs:27:35 [INFO] [stdout] | [INFO] [stdout] 27 | target: Some(skeleton.findBone(&data.target.unwrap().name)), [INFO] [stdout] | ---------^^^^^^^^---------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | this is an associated function, not a method [INFO] [stdout] | help: use associated function syntax instead: `Skeleton::<'a>::findBone(&data.target.unwrap().name)` [INFO] [stdout] | [INFO] [stdout] = note: found the following associated functions; to be used as methods, functions must have a `self` parameter [INFO] [stdout] note: the candidate is defined in an impl for the type `Skeleton<'a>` [INFO] [stdout] --> src/skeleton.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn findBone(boneName: &String) -> Option<&Bone> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `findBone` found for reference `&'a Skeleton<'a>` in the current scope [INFO] [stdout] --> src/transform_constraint.rs:37:35 [INFO] [stdout] | [INFO] [stdout] 37 | i.bones.push(skeleton.findBone(&boneData.name)) [INFO] [stdout] | ---------^^^^^^^^---------------- [INFO] [stdout] | | | [INFO] [stdout] | | this is an associated function, not a method [INFO] [stdout] | help: use associated function syntax instead: `Skeleton::<'a>::findBone(&boneData.name)` [INFO] [stdout] | [INFO] [stdout] = note: found the following associated functions; to be used as methods, functions must have a `self` parameter [INFO] [stdout] note: the candidate is defined in an impl for the type `Skeleton<'a>` [INFO] [stdout] --> src/skeleton.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn findBone(boneName: &String) -> Option<&Bone> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `findBone` found for reference `&'a Skeleton<'a>` in the current scope [INFO] [stdout] --> src/ik_constraint.rs:28:35 [INFO] [stdout] | [INFO] [stdout] 28 | target: Some(skeleton.findBone(&data.target.unwrap().name)), [INFO] [stdout] | ---------^^^^^^^^---------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | this is an associated function, not a method [INFO] [stdout] | help: use associated function syntax instead: `Skeleton::<'a>::findBone(&data.target.unwrap().name)` [INFO] [stdout] | [INFO] [stdout] = note: found the following associated functions; to be used as methods, functions must have a `self` parameter [INFO] [stdout] note: the candidate is defined in an impl for the type `Skeleton<'a>` [INFO] [stdout] --> src/skeleton.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn findBone(boneName: &String) -> Option<&Bone> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `findSlot` found for reference `&'a Skeleton<'a>` in the current scope [INFO] [stdout] --> src/path_constraint.rs:45:35 [INFO] [stdout] | [INFO] [stdout] 45 | target: Some(skeleton.findSlot(&data.target.unwrap().name)), [INFO] [stdout] | ---------^^^^^^^^---------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | this is an associated function, not a method [INFO] [stdout] | help: use associated function syntax instead: `Skeleton::<'a>::findSlot(&data.target.unwrap().name)` [INFO] [stdout] | [INFO] [stdout] = note: found the following associated functions; to be used as methods, functions must have a `self` parameter [INFO] [stdout] note: the candidate is defined in an impl for the type `Skeleton<'a>` [INFO] [stdout] --> src/skeleton.rs:96:5 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn findSlot(slotName: &String) -> Option<&Slot> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `findBone` found for reference `&'a Skeleton<'a>` in the current scope [INFO] [stdout] --> src/path_constraint.rs:55:35 [INFO] [stdout] | [INFO] [stdout] 55 | i.bones.push(skeleton.findBone(&boneData.name)); [INFO] [stdout] | ---------^^^^^^^^---------------- [INFO] [stdout] | | | [INFO] [stdout] | | this is an associated function, not a method [INFO] [stdout] | help: use associated function syntax instead: `Skeleton::<'a>::findBone(&boneData.name)` [INFO] [stdout] | [INFO] [stdout] = note: found the following associated functions; to be used as methods, functions must have a `self` parameter [INFO] [stdout] note: the candidate is defined in an impl for the type `Skeleton<'a>` [INFO] [stdout] --> src/skeleton.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn findBone(boneName: &String) -> Option<&Bone> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `findBone` found for reference `&'a Skeleton<'a>` in the current scope [INFO] [stdout] --> src/ik_constraint.rs:39:35 [INFO] [stdout] | [INFO] [stdout] 39 | i.bones.push(skeleton.findBone(&boneData.name)); [INFO] [stdout] | ---------^^^^^^^^---------------- [INFO] [stdout] | | | [INFO] [stdout] | | this is an associated function, not a method [INFO] [stdout] | help: use associated function syntax instead: `Skeleton::<'a>::findBone(&boneData.name)` [INFO] [stdout] | [INFO] [stdout] = note: found the following associated functions; to be used as methods, functions must have a `self` parameter [INFO] [stdout] note: the candidate is defined in an impl for the type `Skeleton<'a>` [INFO] [stdout] --> src/skeleton.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn findBone(boneName: &String) -> Option<&Bone> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `AnimationStateListener` cannot be made into an object [INFO] [stdout] --> src/animation_state.rs:33:24 [INFO] [stdout] | [INFO] [stdout] 33 | listeners: vec![], [INFO] [stdout] | ^^^^^^ `AnimationStateListener` cannot be made into an object [INFO] [stdout] | [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/animation_state.rs:128:8 [INFO] [stdout] | [INFO] [stdout] 127 | pub trait AnimationStateListener { [INFO] [stdout] | ---------------------- this trait cannot be made into an object... [INFO] [stdout] 128 | fn start(entry: TrackEntry); [INFO] [stdout] | ^^^^^ ...because associated function `start` has no `self` parameter [INFO] [stdout] 129 | fn interrupt(entry: TrackEntry); [INFO] [stdout] | ^^^^^^^^^ ...because associated function `interrupt` has no `self` parameter [INFO] [stdout] 130 | fn end(entry: TrackEntry); [INFO] [stdout] | ^^^ ...because associated function `end` has no `self` parameter [INFO] [stdout] 131 | fn dispose(entry: TrackEntry); [INFO] [stdout] | ^^^^^^^ ...because associated function `dispose` has no `self` parameter [INFO] [stdout] 132 | fn complete(entry: TrackEntry); [INFO] [stdout] | ^^^^^^^^ ...because associated function `complete` has no `self` parameter [INFO] [stdout] 133 | fn event(entry: TrackEntry, event: Event); [INFO] [stdout] | ^^^^^ ...because associated function `event` has no `self` parameter [INFO] [stdout] 134 | [INFO] [stdout] 135 | fn eventInt(trackIndex: i32, event: Event); [INFO] [stdout] | ^^^^^^^^ ...because associated function `eventInt` has no `self` parameter [INFO] [stdout] 136 | fn completeInt(trackIndex: i32, loopCount: i32); [INFO] [stdout] | ^^^^^^^^^^^ ...because associated function `completeInt` has no `self` parameter [INFO] [stdout] 137 | fn startInt(trackIndex: i32); [INFO] [stdout] | ^^^^^^^^ ...because associated function `startInt` has no `self` parameter [INFO] [stdout] 138 | fn endInt(trackIndex: i32); [INFO] [stdout] | ^^^^^^ ...because associated function `endInt` has no `self` parameter [INFO] [stdout] = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider turning `end` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 130 | fn end(&self, entry: TrackEntry); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `end` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 130 | fn end(entry: TrackEntry) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `start` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 128 | fn start(&self, entry: TrackEntry); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `start` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 128 | fn start(entry: TrackEntry) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `event` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 133 | fn event(&self, entry: TrackEntry, event: Event); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `event` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 133 | fn event(entry: TrackEntry, event: Event) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `interrupt` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 129 | fn interrupt(&self, entry: TrackEntry); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `interrupt` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 129 | fn interrupt(entry: TrackEntry) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `dispose` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 131 | fn dispose(&self, entry: TrackEntry); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `dispose` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 131 | fn dispose(entry: TrackEntry) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `complete` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 132 | fn complete(&self, entry: TrackEntry); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `complete` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 132 | fn complete(entry: TrackEntry) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `eventInt` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 135 | fn eventInt(&self, trackIndex: i32, event: Event); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `eventInt` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 135 | fn eventInt(trackIndex: i32, event: Event) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `completeInt` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 136 | fn completeInt(&self, trackIndex: i32, loopCount: i32); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `completeInt` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 136 | fn completeInt(trackIndex: i32, loopCount: i32) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `startInt` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 137 | fn startInt(&self, trackIndex: i32); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `startInt` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 137 | fn startInt(trackIndex: i32) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `endInt` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 138 | fn endInt(&self, trackIndex: i32); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `endInt` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 138 | fn endInt(trackIndex: i32) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/animation_state.rs:89:23 [INFO] [stdout] | [INFO] [stdout] 89 | listener: (), [INFO] [stdout] | ^^ expected `dyn AnimationStateListener`, found `()` [INFO] [stdout] | [INFO] [stdout] = note: expected trait object `(dyn AnimationStateListener + 'static)` [INFO] [stdout] found unit type `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `findBone` found for reference `&'a Skeleton<'a>` in the current scope [INFO] [stdout] --> src/transform_constraint.rs:27:35 [INFO] [stdout] | [INFO] [stdout] 27 | target: Some(skeleton.findBone(&data.target.unwrap().name)), [INFO] [stdout] | ---------^^^^^^^^---------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | this is an associated function, not a method [INFO] [stdout] | help: use associated function syntax instead: `Skeleton::<'a>::findBone(&data.target.unwrap().name)` [INFO] [stdout] | [INFO] [stdout] = note: found the following associated functions; to be used as methods, functions must have a `self` parameter [INFO] [stdout] note: the candidate is defined in an impl for the type `Skeleton<'a>` [INFO] [stdout] --> src/skeleton.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn findBone(boneName: &String) -> Option<&Bone> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of `self.timelines` which is behind a mutable reference [INFO] [stdout] --> src/animation.rs:27:25 [INFO] [stdout] | [INFO] [stdout] 27 | for timeline in self.timelines { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `self.timelines` moved due to this implicit call to `.into_iter()` [INFO] [stdout] | move occurs because `self.timelines` has type `Vec>`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] note: `into_iter` takes ownership of the receiver `self`, which moves `self.timelines` [INFO] [stdout] --> /rustc/506512391b1a75ae450d36c9420978402a91abcc/library/core/src/iter/traits/collect.rs:345:18 [INFO] [stdout] help: consider iterating over a slice of the `Vec>`'s content to avoid moving into the `for` loop [INFO] [stdout] | [INFO] [stdout] 27 | for timeline in &self.timelines { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `findBone` found for reference `&'a Skeleton<'a>` in the current scope [INFO] [stdout] --> src/transform_constraint.rs:37:35 [INFO] [stdout] | [INFO] [stdout] 37 | i.bones.push(skeleton.findBone(&boneData.name)) [INFO] [stdout] | ---------^^^^^^^^---------------- [INFO] [stdout] | | | [INFO] [stdout] | | this is an associated function, not a method [INFO] [stdout] | help: use associated function syntax instead: `Skeleton::<'a>::findBone(&boneData.name)` [INFO] [stdout] | [INFO] [stdout] = note: found the following associated functions; to be used as methods, functions must have a `self` parameter [INFO] [stdout] note: the candidate is defined in an impl for the type `Skeleton<'a>` [INFO] [stdout] --> src/skeleton.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn findBone(boneName: &String) -> Option<&Bone> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `findSlot` found for reference `&'a Skeleton<'a>` in the current scope [INFO] [stdout] --> src/path_constraint.rs:45:35 [INFO] [stdout] | [INFO] [stdout] 45 | target: Some(skeleton.findSlot(&data.target.unwrap().name)), [INFO] [stdout] | ---------^^^^^^^^---------------------------- [INFO] [stdout] | | | [INFO] [stdout] | | this is an associated function, not a method [INFO] [stdout] | help: use associated function syntax instead: `Skeleton::<'a>::findSlot(&data.target.unwrap().name)` [INFO] [stdout] | [INFO] [stdout] = note: found the following associated functions; to be used as methods, functions must have a `self` parameter [INFO] [stdout] note: the candidate is defined in an impl for the type `Skeleton<'a>` [INFO] [stdout] --> src/skeleton.rs:96:5 [INFO] [stdout] | [INFO] [stdout] 96 | pub fn findSlot(slotName: &String) -> Option<&Slot> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0599]: no method named `findBone` found for reference `&'a Skeleton<'a>` in the current scope [INFO] [stdout] --> src/path_constraint.rs:55:35 [INFO] [stdout] | [INFO] [stdout] 55 | i.bones.push(skeleton.findBone(&boneData.name)); [INFO] [stdout] | ---------^^^^^^^^---------------- [INFO] [stdout] | | | [INFO] [stdout] | | this is an associated function, not a method [INFO] [stdout] | help: use associated function syntax instead: `Skeleton::<'a>::findBone(&boneData.name)` [INFO] [stdout] | [INFO] [stdout] = note: found the following associated functions; to be used as methods, functions must have a `self` parameter [INFO] [stdout] note: the candidate is defined in an impl for the type `Skeleton<'a>` [INFO] [stdout] --> src/skeleton.rs:92:5 [INFO] [stdout] | [INFO] [stdout] 92 | pub fn findBone(boneName: &String) -> Option<&Bone> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `i` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skeleton.rs:61:44 [INFO] [stdout] | [INFO] [stdout] 32 | impl<'a> Skeleton<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 61 | bone = Bone::new(boneData, &i, None); [INFO] [stdout] | ^^ immutable borrow occurs here [INFO] [stdout] 62 | } else { [INFO] [stdout] 63 | let mut parent = i.bones.get_mut(boneData.parent.unwrap().index as usize); [INFO] [stdout] | ------- mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 89 | return i; [INFO] [stdout] | - returning this value requires that `i.bones` is borrowed for `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `i.bones` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/skeleton.rs:63:34 [INFO] [stdout] | [INFO] [stdout] 32 | impl<'a> Skeleton<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 61 | bone = Bone::new(boneData, &i, None); [INFO] [stdout] | -- immutable borrow occurs here [INFO] [stdout] 62 | } else { [INFO] [stdout] 63 | let mut parent = i.bones.get_mut(boneData.parent.unwrap().index as usize); [INFO] [stdout] | ^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 89 | return i; [INFO] [stdout] | - returning this value requires that `i` is borrowed for `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0381]: used binding `bone` is possibly-uninitialized [INFO] [stdout] --> src/skeleton.rs:64:47 [INFO] [stdout] | [INFO] [stdout] 59 | let bone; [INFO] [stdout] | ---- binding declared here but left uninitialized [INFO] [stdout] 60 | if boneData.parent.is_none() { [INFO] [stdout] 61 | bone = Bone::new(boneData, &i, None); [INFO] [stdout] | ---- [INFO] [stdout] | | [INFO] [stdout] | binding initialized here in some conditions [INFO] [stdout] | binding initialized here in some conditions [INFO] [stdout] ... [INFO] [stdout] 64 | parent.unwrap().children.push(&bone); [INFO] [stdout] | ^^^^^ `bone` used here but it is possibly-uninitialized [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0506]: cannot assign to `bone` because it is borrowed [INFO] [stdout] --> src/skeleton.rs:65:17 [INFO] [stdout] | [INFO] [stdout] 32 | impl<'a> Skeleton<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 64 | parent.unwrap().children.push(&bone); [INFO] [stdout] | ----- `bone` is borrowed here [INFO] [stdout] 65 | bone = Bone::new(boneData, &i, parent.as_deref()); [INFO] [stdout] | ^^^^ `bone` is assigned to here but it was already borrowed [INFO] [stdout] ... [INFO] [stdout] 89 | return i; [INFO] [stdout] | - returning this value requires that `bone` is borrowed for `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `i` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skeleton.rs:65:44 [INFO] [stdout] | [INFO] [stdout] 32 | impl<'a> Skeleton<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 63 | let mut parent = i.bones.get_mut(boneData.parent.unwrap().index as usize); [INFO] [stdout] | ------- mutable borrow occurs here [INFO] [stdout] 64 | parent.unwrap().children.push(&bone); [INFO] [stdout] 65 | bone = Bone::new(boneData, &i, parent.as_deref()); [INFO] [stdout] | ^^ immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 89 | return i; [INFO] [stdout] | - returning this value requires that `i.bones` is borrowed for `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0038]: the trait `AnimationStateListener` cannot be made into an object [INFO] [stdout] --> src/animation_state.rs:33:24 [INFO] [stdout] | [INFO] [stdout] 33 | listeners: vec![], [INFO] [stdout] | ^^^^^^ `AnimationStateListener` cannot be made into an object [INFO] [stdout] | [INFO] [stdout] note: for a trait to be "object safe" it needs to allow building a vtable to allow the call to be resolvable dynamically; for more information visit [INFO] [stdout] --> src/animation_state.rs:128:8 [INFO] [stdout] | [INFO] [stdout] 127 | pub trait AnimationStateListener { [INFO] [stdout] | ---------------------- this trait cannot be made into an object... [INFO] [stdout] 128 | fn start(entry: TrackEntry); [INFO] [stdout] | ^^^^^ ...because associated function `start` has no `self` parameter [INFO] [stdout] 129 | fn interrupt(entry: TrackEntry); [INFO] [stdout] | ^^^^^^^^^ ...because associated function `interrupt` has no `self` parameter [INFO] [stdout] 130 | fn end(entry: TrackEntry); [INFO] [stdout] | ^^^ ...because associated function `end` has no `self` parameter [INFO] [stdout] 131 | fn dispose(entry: TrackEntry); [INFO] [stdout] | ^^^^^^^ ...because associated function `dispose` has no `self` parameter [INFO] [stdout] 132 | fn complete(entry: TrackEntry); [INFO] [stdout] | ^^^^^^^^ ...because associated function `complete` has no `self` parameter [INFO] [stdout] 133 | fn event(entry: TrackEntry, event: Event); [INFO] [stdout] | ^^^^^ ...because associated function `event` has no `self` parameter [INFO] [stdout] 134 | [INFO] [stdout] 135 | fn eventInt(trackIndex: i32, event: Event); [INFO] [stdout] | ^^^^^^^^ ...because associated function `eventInt` has no `self` parameter [INFO] [stdout] 136 | fn completeInt(trackIndex: i32, loopCount: i32); [INFO] [stdout] | ^^^^^^^^^^^ ...because associated function `completeInt` has no `self` parameter [INFO] [stdout] 137 | fn startInt(trackIndex: i32); [INFO] [stdout] | ^^^^^^^^ ...because associated function `startInt` has no `self` parameter [INFO] [stdout] 138 | fn endInt(trackIndex: i32); [INFO] [stdout] | ^^^^^^ ...because associated function `endInt` has no `self` parameter [INFO] [stdout] = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info) [INFO] [stdout] help: consider turning `end` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 130 | fn end(&self, entry: TrackEntry); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `end` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 130 | fn end(entry: TrackEntry) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `start` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 128 | fn start(&self, entry: TrackEntry); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `start` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 128 | fn start(entry: TrackEntry) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `event` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 133 | fn event(&self, entry: TrackEntry, event: Event); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `event` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 133 | fn event(entry: TrackEntry, event: Event) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `interrupt` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 129 | fn interrupt(&self, entry: TrackEntry); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `interrupt` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 129 | fn interrupt(entry: TrackEntry) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `dispose` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 131 | fn dispose(&self, entry: TrackEntry); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `dispose` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 131 | fn dispose(entry: TrackEntry) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `complete` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 132 | fn complete(&self, entry: TrackEntry); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `complete` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 132 | fn complete(entry: TrackEntry) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `eventInt` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 135 | fn eventInt(&self, trackIndex: i32, event: Event); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `eventInt` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 135 | fn eventInt(trackIndex: i32, event: Event) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `completeInt` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 136 | fn completeInt(&self, trackIndex: i32, loopCount: i32); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `completeInt` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 136 | fn completeInt(trackIndex: i32, loopCount: i32) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `startInt` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 137 | fn startInt(&self, trackIndex: i32); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `startInt` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 137 | fn startInt(trackIndex: i32) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] help: consider turning `endInt` into a method by giving it a `&self` argument [INFO] [stdout] | [INFO] [stdout] 138 | fn endInt(&self, trackIndex: i32); [INFO] [stdout] | ++++++ [INFO] [stdout] help: alternatively, consider constraining `endInt` so it does not apply to trait objects [INFO] [stdout] | [INFO] [stdout] 138 | fn endInt(trackIndex: i32) where Self: Sized; [INFO] [stdout] | +++++++++++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0382]: borrow of moved value: `parent` [INFO] [stdout] --> src/skeleton.rs:65:48 [INFO] [stdout] | [INFO] [stdout] 63 | let mut parent = i.bones.get_mut(boneData.parent.unwrap().index as usize); [INFO] [stdout] | ---------- move occurs because `parent` has type `Option<&mut Bone<'_>>`, which does not implement the `Copy` trait [INFO] [stdout] 64 | parent.unwrap().children.push(&bone); [INFO] [stdout] | ------ -------- `parent` moved due to this method call [INFO] [stdout] | | [INFO] [stdout] | help: consider calling `.as_ref()` or `.as_mut()` to borrow the type's contents [INFO] [stdout] 65 | bone = Bone::new(boneData, &i, parent.as_deref()); [INFO] [stdout] | ^^^^^^ value borrowed here after move [INFO] [stdout] | [INFO] [stdout] note: `Option::::unwrap` takes ownership of the receiver `self`, which moves `parent` [INFO] [stdout] --> /rustc/506512391b1a75ae450d36c9420978402a91abcc/library/core/src/option.rs:929:25 [INFO] [stdout] help: you could `clone` the value and consume it, if the `&mut Bone<'_>: Clone` trait bound could be satisfied [INFO] [stdout] | [INFO] [stdout] 64 | parent.clone().unwrap().children.push(&bone); [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `i.bones` as mutable more than once at a time [INFO] [stdout] --> src/skeleton.rs:67:13 [INFO] [stdout] | [INFO] [stdout] 32 | impl<'a> Skeleton<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 63 | let mut parent = i.bones.get_mut(boneData.parent.unwrap().index as usize); [INFO] [stdout] | ------- first mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 67 | i.bones.push(bone); [INFO] [stdout] | ^^^^^^^ second mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 89 | return i; [INFO] [stdout] | - returning this value requires that `i.bones` is borrowed for `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `i.bones` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skeleton.rs:71:24 [INFO] [stdout] | [INFO] [stdout] 32 | impl<'a> Skeleton<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 63 | let mut parent = i.bones.get_mut(boneData.parent.unwrap().index as usize); [INFO] [stdout] | ------- mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 71 | let bone = i.bones.get(slotData.boneData.index as usize); [INFO] [stdout] | ^^^^^^^ immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 89 | return i; [INFO] [stdout] | - returning this value requires that `i.bones` is borrowed for `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `i.slots` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/skeleton.rs:73:13 [INFO] [stdout] | [INFO] [stdout] 61 | bone = Bone::new(boneData, &i, None); [INFO] [stdout] | -- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 73 | i.slots.push(slot); [INFO] [stdout] | ^^^^^^^^----^^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | immutable borrow later used by call [INFO] [stdout] | mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `i.drawOrder` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/skeleton.rs:74:13 [INFO] [stdout] | [INFO] [stdout] 61 | bone = Bone::new(boneData, &i, None); [INFO] [stdout] | -- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 74 | i.drawOrder.push(&slot); [INFO] [stdout] | ^^^^^^^^^^^^----^^^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | immutable borrow later used by call [INFO] [stdout] | mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0382]: borrow of moved value: `slot` [INFO] [stdout] --> src/skeleton.rs:74:30 [INFO] [stdout] | [INFO] [stdout] 72 | let slot = Slot::new(slotData, bone.unwrap()); [INFO] [stdout] | ---- move occurs because `slot` has type `Slot<'_>`, which does not implement the `Copy` trait [INFO] [stdout] 73 | i.slots.push(slot); [INFO] [stdout] | ---- value moved here [INFO] [stdout] 74 | i.drawOrder.push(&slot); [INFO] [stdout] | ^^^^^ value borrowed here after move [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `i.ikConstraints` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/skeleton.rs:78:13 [INFO] [stdout] | [INFO] [stdout] 61 | bone = Bone::new(boneData, &i, None); [INFO] [stdout] | -- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 78 | i.ikConstraints.push(IkConstraint::new(ikConstraintData, &i)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | immutable borrow later used by call [INFO] [stdout] | mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `i` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skeleton.rs:78:70 [INFO] [stdout] | [INFO] [stdout] 63 | let mut parent = i.bones.get_mut(boneData.parent.unwrap().index as usize); [INFO] [stdout] | ------- mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 78 | i.ikConstraints.push(IkConstraint::new(ikConstraintData, &i)); [INFO] [stdout] | ---- mutable borrow later used by call ^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `i.transformConstraints` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/skeleton.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 61 | bone = Bone::new(boneData, &i, None); [INFO] [stdout] | -- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | i.transformConstraints.push(TransformConstraint::new(transformConstraintData, &i)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | immutable borrow later used by call [INFO] [stdout] | mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `i` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skeleton.rs:82:91 [INFO] [stdout] | [INFO] [stdout] 63 | let mut parent = i.bones.get_mut(boneData.parent.unwrap().index as usize); [INFO] [stdout] | ------- mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | i.transformConstraints.push(TransformConstraint::new(transformConstraintData, &i)); [INFO] [stdout] | ---- mutable borrow later used by call ^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `i.pathConstraints` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/skeleton.rs:86:13 [INFO] [stdout] | [INFO] [stdout] 61 | bone = Bone::new(boneData, &i, None); [INFO] [stdout] | -- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 86 | i.pathConstraints.push(PathConstraint::new(pathConstraintData, &i)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | immutable borrow later used by call [INFO] [stdout] | mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `i` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skeleton.rs:86:76 [INFO] [stdout] | [INFO] [stdout] 63 | let mut parent = i.bones.get_mut(boneData.parent.unwrap().index as usize); [INFO] [stdout] | ------- mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 86 | i.pathConstraints.push(PathConstraint::new(pathConstraintData, &i)); [INFO] [stdout] | ---- mutable borrow later used by call ^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0505]: cannot move out of `i` because it is borrowed [INFO] [stdout] --> src/skeleton.rs:89:16 [INFO] [stdout] | [INFO] [stdout] 32 | impl<'a> Skeleton<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] 33 | pub fn new(data: SkeletonData<'a>) -> Self { [INFO] [stdout] 34 | let mut i = Self { [INFO] [stdout] | ----- binding `i` declared here [INFO] [stdout] ... [INFO] [stdout] 58 | for boneData in &i.data.bones { [INFO] [stdout] | ------------- borrow of `i.data.bones` occurs here [INFO] [stdout] ... [INFO] [stdout] 89 | return i; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | move out of `i` occurs here [INFO] [stdout] | returning this value requires that `i.data.bones` is borrowed for `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing local data `i.data.bones` [INFO] [stdout] --> src/skeleton.rs:89:16 [INFO] [stdout] | [INFO] [stdout] 58 | for boneData in &i.data.bones { [INFO] [stdout] | ------------- `i.data.bones` is borrowed here [INFO] [stdout] ... [INFO] [stdout] 89 | return i; [INFO] [stdout] | ^ returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing local variable `slot` [INFO] [stdout] --> src/skeleton.rs:89:16 [INFO] [stdout] | [INFO] [stdout] 74 | i.drawOrder.push(&slot); [INFO] [stdout] | ----- `slot` is borrowed here [INFO] [stdout] ... [INFO] [stdout] 89 | return i; [INFO] [stdout] | ^ returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing local variable `parent` [INFO] [stdout] --> src/skeleton.rs:89:16 [INFO] [stdout] | [INFO] [stdout] 65 | bone = Bone::new(boneData, &i, parent.as_deref()); [INFO] [stdout] | ------ `parent` is borrowed here [INFO] [stdout] ... [INFO] [stdout] 89 | return i; [INFO] [stdout] | ^ returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing local variable `bone` [INFO] [stdout] --> src/skeleton.rs:89:16 [INFO] [stdout] | [INFO] [stdout] 64 | parent.unwrap().children.push(&bone); [INFO] [stdout] | ----- `bone` is borrowed here [INFO] [stdout] ... [INFO] [stdout] 89 | return i; [INFO] [stdout] | ^ returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing local data `i.bones` [INFO] [stdout] --> src/skeleton.rs:89:16 [INFO] [stdout] | [INFO] [stdout] 63 | let mut parent = i.bones.get_mut(boneData.parent.unwrap().index as usize); [INFO] [stdout] | ------- `i.bones` is borrowed here [INFO] [stdout] ... [INFO] [stdout] 89 | return i; [INFO] [stdout] | ^ returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing local data `i.data.slots` [INFO] [stdout] --> src/skeleton.rs:89:16 [INFO] [stdout] | [INFO] [stdout] 70 | for slotData in &i.data.slots { [INFO] [stdout] | ------------- `i.data.slots` is borrowed here [INFO] [stdout] ... [INFO] [stdout] 89 | return i; [INFO] [stdout] | ^ returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing local data `i.bones` [INFO] [stdout] --> src/skeleton.rs:89:16 [INFO] [stdout] | [INFO] [stdout] 71 | let bone = i.bones.get(slotData.boneData.index as usize); [INFO] [stdout] | ------- `i.bones` is borrowed here [INFO] [stdout] ... [INFO] [stdout] 89 | return i; [INFO] [stdout] | ^ returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing local data `i.data.ikConstraints` [INFO] [stdout] --> src/skeleton.rs:89:16 [INFO] [stdout] | [INFO] [stdout] 77 | for ikConstraintData in &i.data.ikConstraints { [INFO] [stdout] | --------------------- `i.data.ikConstraints` is borrowed here [INFO] [stdout] ... [INFO] [stdout] 89 | return i; [INFO] [stdout] | ^ returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing local data `i.data.transformConstraints` [INFO] [stdout] --> src/skeleton.rs:89:16 [INFO] [stdout] | [INFO] [stdout] 81 | for transformConstraintData in &i.data.transformConstraints { [INFO] [stdout] | ---------------------------- `i.data.transformConstraints` is borrowed here [INFO] [stdout] ... [INFO] [stdout] 89 | return i; [INFO] [stdout] | ^ returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing local data `i.data.pathConstraints` [INFO] [stdout] --> src/skeleton.rs:89:16 [INFO] [stdout] | [INFO] [stdout] 85 | for pathConstraintData in &i.data.pathConstraints { [INFO] [stdout] | ----------------------- `i.data.pathConstraints` is borrowed here [INFO] [stdout] ... [INFO] [stdout] 89 | return i; [INFO] [stdout] | ^ returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0308]: mismatched types [INFO] [stdout] --> src/animation_state.rs:89:23 [INFO] [stdout] | [INFO] [stdout] 89 | listener: (), [INFO] [stdout] | ^^ expected `dyn AnimationStateListener`, found `()` [INFO] [stdout] | [INFO] [stdout] = note: expected trait object `(dyn AnimationStateListener + 'static)` [INFO] [stdout] found unit type `()` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0507]: cannot move out of `self.timelines` which is behind a mutable reference [INFO] [stdout] --> src/animation.rs:27:25 [INFO] [stdout] | [INFO] [stdout] 27 | for timeline in self.timelines { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | | [INFO] [stdout] | `self.timelines` moved due to this implicit call to `.into_iter()` [INFO] [stdout] | move occurs because `self.timelines` has type `Vec>`, which does not implement the `Copy` trait [INFO] [stdout] | [INFO] [stdout] note: `into_iter` takes ownership of the receiver `self`, which moves `self.timelines` [INFO] [stdout] --> /rustc/506512391b1a75ae450d36c9420978402a91abcc/library/core/src/iter/traits/collect.rs:345:18 [INFO] [stdout] help: consider iterating over a slice of the `Vec>`'s content to avoid moving into the `for` loop [INFO] [stdout] | [INFO] [stdout] 27 | for timeline in &self.timelines { [INFO] [stdout] | + [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `i` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skeleton.rs:61:44 [INFO] [stdout] | [INFO] [stdout] 32 | impl<'a> Skeleton<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 61 | bone = Bone::new(boneData, &i, None); [INFO] [stdout] | ^^ immutable borrow occurs here [INFO] [stdout] 62 | } else { [INFO] [stdout] 63 | let mut parent = i.bones.get_mut(boneData.parent.unwrap().index as usize); [INFO] [stdout] | ------- mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 89 | return i; [INFO] [stdout] | - returning this value requires that `i.bones` is borrowed for `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `i.bones` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/skeleton.rs:63:34 [INFO] [stdout] | [INFO] [stdout] 32 | impl<'a> Skeleton<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 61 | bone = Bone::new(boneData, &i, None); [INFO] [stdout] | -- immutable borrow occurs here [INFO] [stdout] 62 | } else { [INFO] [stdout] 63 | let mut parent = i.bones.get_mut(boneData.parent.unwrap().index as usize); [INFO] [stdout] | ^^^^^^^ mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 89 | return i; [INFO] [stdout] | - returning this value requires that `i` is borrowed for `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0381]: used binding `bone` is possibly-uninitialized [INFO] [stdout] --> src/skeleton.rs:64:47 [INFO] [stdout] | [INFO] [stdout] 59 | let bone; [INFO] [stdout] | ---- binding declared here but left uninitialized [INFO] [stdout] 60 | if boneData.parent.is_none() { [INFO] [stdout] 61 | bone = Bone::new(boneData, &i, None); [INFO] [stdout] | ---- [INFO] [stdout] | | [INFO] [stdout] | binding initialized here in some conditions [INFO] [stdout] | binding initialized here in some conditions [INFO] [stdout] ... [INFO] [stdout] 64 | parent.unwrap().children.push(&bone); [INFO] [stdout] | ^^^^^ `bone` used here but it is possibly-uninitialized [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 47 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0506]: cannot assign to `bone` because it is borrowed [INFO] [stdout] --> src/skeleton.rs:65:17 [INFO] [stdout] | [INFO] [stdout] 32 | impl<'a> Skeleton<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 64 | parent.unwrap().children.push(&bone); [INFO] [stdout] | ----- `bone` is borrowed here [INFO] [stdout] 65 | bone = Bone::new(boneData, &i, parent.as_deref()); [INFO] [stdout] | ^^^^ `bone` is assigned to here but it was already borrowed [INFO] [stdout] ... [INFO] [stdout] 89 | return i; [INFO] [stdout] | - returning this value requires that `bone` is borrowed for `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0038, E0106, E0277, E0308, E0381, E0382, E0412, E0499, E0502... [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0038`. [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `i` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skeleton.rs:65:44 [INFO] [stdout] | [INFO] [stdout] 32 | impl<'a> Skeleton<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 63 | let mut parent = i.bones.get_mut(boneData.parent.unwrap().index as usize); [INFO] [stdout] | ------- mutable borrow occurs here [INFO] [stdout] 64 | parent.unwrap().children.push(&bone); [INFO] [stdout] 65 | bone = Bone::new(boneData, &i, parent.as_deref()); [INFO] [stdout] | ^^ immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 89 | return i; [INFO] [stdout] | - returning this value requires that `i.bones` is borrowed for `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0382]: borrow of moved value: `parent` [INFO] [stdout] --> src/skeleton.rs:65:48 [INFO] [stdout] | [INFO] [stdout] 63 | let mut parent = i.bones.get_mut(boneData.parent.unwrap().index as usize); [INFO] [stdout] | ---------- move occurs because `parent` has type `Option<&mut Bone<'_>>`, which does not implement the `Copy` trait [INFO] [stdout] 64 | parent.unwrap().children.push(&bone); [INFO] [stdout] | ------ -------- `parent` moved due to this method call [INFO] [stdout] | | [INFO] [stdout] | help: consider calling `.as_ref()` or `.as_mut()` to borrow the type's contents [INFO] [stdout] 65 | bone = Bone::new(boneData, &i, parent.as_deref()); [INFO] [stdout] | ^^^^^^ value borrowed here after move [INFO] [stdout] | [INFO] [stdout] note: `Option::::unwrap` takes ownership of the receiver `self`, which moves `parent` [INFO] [stdout] --> /rustc/506512391b1a75ae450d36c9420978402a91abcc/library/core/src/option.rs:929:25 [INFO] [stdout] help: you could `clone` the value and consume it, if the `&mut Bone<'_>: Clone` trait bound could be satisfied [INFO] [stdout] | [INFO] [stdout] 64 | parent.clone().unwrap().children.push(&bone); [INFO] [stdout] | ++++++++ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0499]: cannot borrow `i.bones` as mutable more than once at a time [INFO] [stdout] --> src/skeleton.rs:67:13 [INFO] [stdout] | [INFO] [stdout] 32 | impl<'a> Skeleton<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 63 | let mut parent = i.bones.get_mut(boneData.parent.unwrap().index as usize); [INFO] [stdout] | ------- first mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 67 | i.bones.push(bone); [INFO] [stdout] | ^^^^^^^ second mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 89 | return i; [INFO] [stdout] | - returning this value requires that `i.bones` is borrowed for `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `i.bones` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skeleton.rs:71:24 [INFO] [stdout] | [INFO] [stdout] 32 | impl<'a> Skeleton<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] ... [INFO] [stdout] 63 | let mut parent = i.bones.get_mut(boneData.parent.unwrap().index as usize); [INFO] [stdout] | ------- mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 71 | let bone = i.bones.get(slotData.boneData.index as usize); [INFO] [stdout] | ^^^^^^^ immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 89 | return i; [INFO] [stdout] | - returning this value requires that `i.bones` is borrowed for `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] error: could not compile `RustySpine` (lib) due to 48 previous errors [INFO] [stdout] error[E0502]: cannot borrow `i.slots` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/skeleton.rs:73:13 [INFO] [stdout] | [INFO] [stdout] 61 | bone = Bone::new(boneData, &i, None); [INFO] [stdout] | -- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 73 | i.slots.push(slot); [INFO] [stdout] | ^^^^^^^^----^^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | immutable borrow later used by call [INFO] [stdout] | mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] warning: build failed, waiting for other jobs to finish... [INFO] [stdout] error[E0502]: cannot borrow `i.drawOrder` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/skeleton.rs:74:13 [INFO] [stdout] | [INFO] [stdout] 61 | bone = Bone::new(boneData, &i, None); [INFO] [stdout] | -- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 74 | i.drawOrder.push(&slot); [INFO] [stdout] | ^^^^^^^^^^^^----^^^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | immutable borrow later used by call [INFO] [stdout] | mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0382]: borrow of moved value: `slot` [INFO] [stdout] --> src/skeleton.rs:74:30 [INFO] [stdout] | [INFO] [stdout] 72 | let slot = Slot::new(slotData, bone.unwrap()); [INFO] [stdout] | ---- move occurs because `slot` has type `Slot<'_>`, which does not implement the `Copy` trait [INFO] [stdout] 73 | i.slots.push(slot); [INFO] [stdout] | ---- value moved here [INFO] [stdout] 74 | i.drawOrder.push(&slot); [INFO] [stdout] | ^^^^^ value borrowed here after move [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `i.ikConstraints` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/skeleton.rs:78:13 [INFO] [stdout] | [INFO] [stdout] 61 | bone = Bone::new(boneData, &i, None); [INFO] [stdout] | -- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 78 | i.ikConstraints.push(IkConstraint::new(ikConstraintData, &i)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | immutable borrow later used by call [INFO] [stdout] | mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `i` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skeleton.rs:78:70 [INFO] [stdout] | [INFO] [stdout] 63 | let mut parent = i.bones.get_mut(boneData.parent.unwrap().index as usize); [INFO] [stdout] | ------- mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 78 | i.ikConstraints.push(IkConstraint::new(ikConstraintData, &i)); [INFO] [stdout] | ---- mutable borrow later used by call ^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `i.transformConstraints` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/skeleton.rs:82:13 [INFO] [stdout] | [INFO] [stdout] 61 | bone = Bone::new(boneData, &i, None); [INFO] [stdout] | -- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | i.transformConstraints.push(TransformConstraint::new(transformConstraintData, &i)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | immutable borrow later used by call [INFO] [stdout] | mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `i` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skeleton.rs:82:91 [INFO] [stdout] | [INFO] [stdout] 63 | let mut parent = i.bones.get_mut(boneData.parent.unwrap().index as usize); [INFO] [stdout] | ------- mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 82 | i.transformConstraints.push(TransformConstraint::new(transformConstraintData, &i)); [INFO] [stdout] | ---- mutable borrow later used by call ^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `i.pathConstraints` as mutable because it is also borrowed as immutable [INFO] [stdout] --> src/skeleton.rs:86:13 [INFO] [stdout] | [INFO] [stdout] 61 | bone = Bone::new(boneData, &i, None); [INFO] [stdout] | -- immutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 86 | i.pathConstraints.push(PathConstraint::new(pathConstraintData, &i)); [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^----^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | | | [INFO] [stdout] | | immutable borrow later used by call [INFO] [stdout] | mutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0502]: cannot borrow `i` as immutable because it is also borrowed as mutable [INFO] [stdout] --> src/skeleton.rs:86:76 [INFO] [stdout] | [INFO] [stdout] 63 | let mut parent = i.bones.get_mut(boneData.parent.unwrap().index as usize); [INFO] [stdout] | ------- mutable borrow occurs here [INFO] [stdout] ... [INFO] [stdout] 86 | i.pathConstraints.push(PathConstraint::new(pathConstraintData, &i)); [INFO] [stdout] | ---- mutable borrow later used by call ^^ immutable borrow occurs here [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0505]: cannot move out of `i` because it is borrowed [INFO] [stdout] --> src/skeleton.rs:89:16 [INFO] [stdout] | [INFO] [stdout] 32 | impl<'a> Skeleton<'a> { [INFO] [stdout] | -- lifetime `'a` defined here [INFO] [stdout] 33 | pub fn new(data: SkeletonData<'a>) -> Self { [INFO] [stdout] 34 | let mut i = Self { [INFO] [stdout] | ----- binding `i` declared here [INFO] [stdout] ... [INFO] [stdout] 58 | for boneData in &i.data.bones { [INFO] [stdout] | ------------- borrow of `i.data.bones` occurs here [INFO] [stdout] ... [INFO] [stdout] 89 | return i; [INFO] [stdout] | ^ [INFO] [stdout] | | [INFO] [stdout] | move out of `i` occurs here [INFO] [stdout] | returning this value requires that `i.data.bones` is borrowed for `'a` [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing local data `i.data.bones` [INFO] [stdout] --> src/skeleton.rs:89:16 [INFO] [stdout] | [INFO] [stdout] 58 | for boneData in &i.data.bones { [INFO] [stdout] | ------------- `i.data.bones` is borrowed here [INFO] [stdout] ... [INFO] [stdout] 89 | return i; [INFO] [stdout] | ^ returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing local variable `slot` [INFO] [stdout] --> src/skeleton.rs:89:16 [INFO] [stdout] | [INFO] [stdout] 74 | i.drawOrder.push(&slot); [INFO] [stdout] | ----- `slot` is borrowed here [INFO] [stdout] ... [INFO] [stdout] 89 | return i; [INFO] [stdout] | ^ returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing local variable `parent` [INFO] [stdout] --> src/skeleton.rs:89:16 [INFO] [stdout] | [INFO] [stdout] 65 | bone = Bone::new(boneData, &i, parent.as_deref()); [INFO] [stdout] | ------ `parent` is borrowed here [INFO] [stdout] ... [INFO] [stdout] 89 | return i; [INFO] [stdout] | ^ returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing local variable `bone` [INFO] [stdout] --> src/skeleton.rs:89:16 [INFO] [stdout] | [INFO] [stdout] 64 | parent.unwrap().children.push(&bone); [INFO] [stdout] | ----- `bone` is borrowed here [INFO] [stdout] ... [INFO] [stdout] 89 | return i; [INFO] [stdout] | ^ returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing local data `i.bones` [INFO] [stdout] --> src/skeleton.rs:89:16 [INFO] [stdout] | [INFO] [stdout] 63 | let mut parent = i.bones.get_mut(boneData.parent.unwrap().index as usize); [INFO] [stdout] | ------- `i.bones` is borrowed here [INFO] [stdout] ... [INFO] [stdout] 89 | return i; [INFO] [stdout] | ^ returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing local data `i.data.slots` [INFO] [stdout] --> src/skeleton.rs:89:16 [INFO] [stdout] | [INFO] [stdout] 70 | for slotData in &i.data.slots { [INFO] [stdout] | ------------- `i.data.slots` is borrowed here [INFO] [stdout] ... [INFO] [stdout] 89 | return i; [INFO] [stdout] | ^ returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing local data `i.bones` [INFO] [stdout] --> src/skeleton.rs:89:16 [INFO] [stdout] | [INFO] [stdout] 71 | let bone = i.bones.get(slotData.boneData.index as usize); [INFO] [stdout] | ------- `i.bones` is borrowed here [INFO] [stdout] ... [INFO] [stdout] 89 | return i; [INFO] [stdout] | ^ returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing local data `i.data.ikConstraints` [INFO] [stdout] --> src/skeleton.rs:89:16 [INFO] [stdout] | [INFO] [stdout] 77 | for ikConstraintData in &i.data.ikConstraints { [INFO] [stdout] | --------------------- `i.data.ikConstraints` is borrowed here [INFO] [stdout] ... [INFO] [stdout] 89 | return i; [INFO] [stdout] | ^ returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing local data `i.data.transformConstraints` [INFO] [stdout] --> src/skeleton.rs:89:16 [INFO] [stdout] | [INFO] [stdout] 81 | for transformConstraintData in &i.data.transformConstraints { [INFO] [stdout] | ---------------------------- `i.data.transformConstraints` is borrowed here [INFO] [stdout] ... [INFO] [stdout] 89 | return i; [INFO] [stdout] | ^ returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error[E0515]: cannot return value referencing local data `i.data.pathConstraints` [INFO] [stdout] --> src/skeleton.rs:89:16 [INFO] [stdout] | [INFO] [stdout] 85 | for pathConstraintData in &i.data.pathConstraints { [INFO] [stdout] | ----------------------- `i.data.pathConstraints` is borrowed here [INFO] [stdout] ... [INFO] [stdout] 89 | return i; [INFO] [stdout] | ^ returns a value referencing data owned by the current function [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] error: aborting due to 47 previous errors [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] Some errors have detailed explanations: E0038, E0106, E0277, E0308, E0381, E0382, E0412, E0499, E0502... [INFO] [stdout] [INFO] [stdout] For more information about an error, try `rustc --explain E0038`. [INFO] [stdout] [INFO] [stderr] error: could not compile `RustySpine` (lib test) due to 48 previous errors [INFO] running `Command { std: "docker" "inspect" "07ed9e69b869abdf1ad14331604b5b279774efc4dd72c2e8827ebbf325ec8a57", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "07ed9e69b869abdf1ad14331604b5b279774efc4dd72c2e8827ebbf325ec8a57", kill_on_drop: false }` [INFO] [stdout] 07ed9e69b869abdf1ad14331604b5b279774efc4dd72c2e8827ebbf325ec8a57 [INFO] checking Aloento/RustySpine against try#dae34b759e282c069aa28752564694effd121a63 for pr-125384 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAloento%2FRustySpine" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/Aloento/RustySpine on toolchain dae34b759e282c069aa28752564694effd121a63 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dae34b759e282c069aa28752564694effd121a63" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] started tweaking git repo https://github.com/Aloento/RustySpine [INFO] finished tweaking git repo https://github.com/Aloento/RustySpine [INFO] tweaked toml for git repo https://github.com/Aloento/RustySpine written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] crate git repo https://github.com/Aloento/RustySpine 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" "+dae34b759e282c069aa28752564694effd121a63" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+dae34b759e282c069aa28752564694effd121a63" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] d0695877c135595aa27ff5658e7a7564fc06db0b755b96c98658a340f4a477aa [INFO] running `Command { std: "docker" "start" "-a" "d0695877c135595aa27ff5658e7a7564fc06db0b755b96c98658a340f4a477aa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "d0695877c135595aa27ff5658e7a7564fc06db0b755b96c98658a340f4a477aa", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d0695877c135595aa27ff5658e7a7564fc06db0b755b96c98658a340f4a477aa", kill_on_drop: false }` [INFO] [stdout] d0695877c135595aa27ff5658e7a7564fc06db0b755b96c98658a340f4a477aa [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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=allow" "-e" "RUSTDOCFLAGS=--cap-lints=allow" "-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:59a85a07ab18ca8720692f8e61effa1c651d9e2ca591e072c2b212bb91a6b8b5" "/opt/rustwide/cargo-home/bin/cargo" "+dae34b759e282c069aa28752564694effd121a63" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 90041147f1bce6f70a7f9894685de96f0619bee311b93b9e1cd85b619aaf70f9 [INFO] running `Command { std: "docker" "start" "-a" "90041147f1bce6f70a7f9894685de96f0619bee311b93b9e1cd85b619aaf70f9", kill_on_drop: false }` [INFO] [stderr] Copying to /tmp/fixit [INFO] [stderr] skipping non-2021 edition `2018` [INFO] running `Command { std: "docker" "inspect" "90041147f1bce6f70a7f9894685de96f0619bee311b93b9e1cd85b619aaf70f9", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "90041147f1bce6f70a7f9894685de96f0619bee311b93b9e1cd85b619aaf70f9", kill_on_drop: false }` [INFO] [stdout] 90041147f1bce6f70a7f9894685de96f0619bee311b93b9e1cd85b619aaf70f9